summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/TabSRMM/src/chat_window.cpp20
-rw-r--r--plugins/TabSRMM/src/generic_msghandlers.cpp58
-rw-r--r--plugins/TabSRMM/src/globals.cpp1
-rw-r--r--plugins/TabSRMM/src/globals.h1
-rw-r--r--plugins/TabSRMM/src/hotkeyhandler.cpp31
-rw-r--r--plugins/TabSRMM/src/msgdialog.cpp22
-rw-r--r--plugins/TabSRMM/src/msgdlgutils.cpp71
-rw-r--r--plugins/TabSRMM/src/msgs.cpp12
-rw-r--r--plugins/TabSRMM/src/msgs.h4
-rw-r--r--plugins/TabSRMM/src/translator.cpp1
10 files changed, 4 insertions, 217 deletions
diff --git a/plugins/TabSRMM/src/chat_window.cpp b/plugins/TabSRMM/src/chat_window.cpp
index 6fdf4e0cd4..912b40b00d 100644
--- a/plugins/TabSRMM/src/chat_window.cpp
+++ b/plugins/TabSRMM/src/chat_window.cpp
@@ -204,12 +204,6 @@ void CChatRoomDlg::UpdateWindowState(UINT msg)
if (m_dwFlags & MWF_NEEDCHECKSIZE)
PostMessage(m_hwnd, DM_SAVESIZE, 0, 0);
- if (PluginConfig.m_bAutoLocaleSupport) {
- if (hkl == nullptr)
- DM_LoadLocale();
- else
- SendMessage(m_hwnd, DM_SETLOCALE, 0, 0);
- }
SetFocus(m_message.GetHwnd());
m_dwLastActivity = GetTickCount();
m_pContainer->dwLastActivity = m_dwLastActivity;
@@ -1400,14 +1394,6 @@ LRESULT CChatRoomDlg::WndProc_Message(UINT msg, WPARAM wParam, LPARAM lParam)
RefreshButtonStatus();
break;
- case WM_INPUTLANGCHANGE:
- if (PluginConfig.m_bAutoLocaleSupport && GetFocus() == m_message.GetHwnd() && IsActive()) {
- DM_SaveLocale(wParam, lParam);
- m_message.SendMsg(EM_SETLANGOPTIONS, 0, (LPARAM)m_message.SendMsg(EM_GETLANGOPTIONS, 0, 0) & ~IMF_AUTOKEYBOARD);
- return 1;
- }
- break;
-
case WM_ERASEBKGND:
return !CSkin::m_skinEnabled;
}
@@ -2339,12 +2325,6 @@ INT_PTR CChatRoomDlg::DlgProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
pt.x = pt.y = 0;
m_log.SendMsg(EM_SETSCROLLPOS, 0, (LPARAM)&pt);
- if (PluginConfig.m_bAutoLocaleSupport) {
- if (hkl == nullptr)
- DM_LoadLocale();
- else
- PostMessage(m_hwnd, DM_SETLOCALE, 0, 0);
- }
}
else {
Resize();
diff --git a/plugins/TabSRMM/src/generic_msghandlers.cpp b/plugins/TabSRMM/src/generic_msghandlers.cpp
index b3f471ca0d..fb456ab4f4 100644
--- a/plugins/TabSRMM/src/generic_msghandlers.cpp
+++ b/plugins/TabSRMM/src/generic_msghandlers.cpp
@@ -710,46 +710,6 @@ void CTabBaseDlg::DM_ScrollToBottom(WPARAM wParam, LPARAM lParam)
InvalidateRect(m_log.GetHwnd(), nullptr, FALSE);
}
-static void LoadKLThread(LPVOID _param)
-{
- Thread_SetName("TabSRMM: LoadKLThread");
-
- DBVARIANT dbv;
- if (!db_get_ws((UINT_PTR)_param, SRMSGMOD_T, "locale", &dbv)) {
- HKL hkl = LoadKeyboardLayout(dbv.ptszVal, 0);
- PostMessage(PluginConfig.g_hwndHotkeyHandler, DM_SETLOCALE, (WPARAM)_param, (LPARAM)hkl);
- db_free(&dbv);
- }
-}
-
-void CTabBaseDlg::DM_LoadLocale()
-{
- if (!PluginConfig.m_bAutoLocaleSupport)
- return;
-
- if (m_dwFlags & MWF_WASBACKGROUNDCREATE)
- return;
-
- DBVARIANT dbv;
- if (!db_get_ws(m_hContact, SRMSGMOD_T, "locale", &dbv))
- db_free(&dbv);
- else {
- wchar_t szKLName[KL_NAMELENGTH + 1];
- if (!PluginConfig.m_bDontUseDefaultKbd) {
- wchar_t szBuf[20];
- GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_ILANGUAGE, szBuf, 20);
- mir_snwprintf(szKLName, L"0000%s", szBuf);
- db_set_ws(m_hContact, SRMSGMOD_T, "locale", szKLName);
- }
- else {
- GetKeyboardLayoutName(szKLName);
- db_set_ws(m_hContact, SRMSGMOD_T, "locale", szKLName);
- }
- }
-
- mir_forkthread(LoadKLThread, (void*)m_hContact);
-}
-
void CTabBaseDlg::DM_RecalcPictureSize()
{
HBITMAP hbm = ((m_pPanel.isActive()) && m_pContainer->avatarMode != 3) ? m_hOwnPic : (m_ace ? m_ace->hbmPic : PluginConfig.g_hbmUnknown);
@@ -797,24 +757,6 @@ void CTabBaseDlg::DM_UpdateLastMessage() const
}
/////////////////////////////////////////////////////////////////////////////////////////
-// save current keyboard layout for the given contact
-
-void CTabBaseDlg::DM_SaveLocale(WPARAM, LPARAM lParam)
-{
- if (PluginConfig.m_bAutoLocaleSupport && m_hContact && m_pContainer->m_hwndActive == m_hwnd) {
- wchar_t szKLName[KL_NAMELENGTH + 1];
- if ((HKL)lParam != m_hkl) {
- m_hkl = (HKL)lParam;
- ActivateKeyboardLayout(m_hkl, 0);
- GetKeyboardLayoutName(szKLName);
- db_set_ws(m_hContact, SRMSGMOD_T, "locale", szKLName);
- GetLocaleID(szKLName);
- UpdateReadChars();
- }
- }
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
// create embedded contact list control
HWND CTabBaseDlg::DM_CreateClist()
diff --git a/plugins/TabSRMM/src/globals.cpp b/plugins/TabSRMM/src/globals.cpp
index 544fc9cc98..705f9b48c4 100644
--- a/plugins/TabSRMM/src/globals.cpp
+++ b/plugins/TabSRMM/src/globals.cpp
@@ -139,7 +139,6 @@ void CGlobals::reloadSettings(bool fReloadSkins)
m_bSendOnShiftEnter = M.GetBool("sendonshiftenter", false);
m_bSendOnEnter = M.GetBool(SRMSGSET_SENDONENTER, SRMSGDEFSET_SENDONENTER);
m_bSendOnDblEnter = M.GetBool("SendOnDblEnter", false);
- m_bAutoLocaleSupport = M.GetBool("al", false);
m_bAutoSwitchTabs = M.GetBool("autoswitchtabs", true);
m_iTabNameLimit = db_get_w(0, SRMSGMOD_T, "cut_at", 15);
m_bCutContactNameOnTabs = M.GetBool("cuttitle", false);
diff --git a/plugins/TabSRMM/src/globals.h b/plugins/TabSRMM/src/globals.h
index 1d8a9deba6..c3a0ce1217 100644
--- a/plugins/TabSRMM/src/globals.h
+++ b/plugins/TabSRMM/src/globals.h
@@ -85,7 +85,6 @@ public:
bool m_bSendOnShiftEnter;
bool m_bSendOnEnter;
bool m_bSendOnDblEnter;
- bool m_bAutoLocaleSupport;
bool m_bAutoSwitchTabs;
bool m_bCutContactNameOnTabs;
bool m_bHideOnClose;
diff --git a/plugins/TabSRMM/src/hotkeyhandler.cpp b/plugins/TabSRMM/src/hotkeyhandler.cpp
index 21421b3f19..7ed36a54f1 100644
--- a/plugins/TabSRMM/src/hotkeyhandler.cpp
+++ b/plugins/TabSRMM/src/hotkeyhandler.cpp
@@ -384,35 +384,10 @@ LONG_PTR CALLBACK HotkeyHandlerDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LP
db_event_markRead(wParam, lParam);
return 0;
- case DM_SETLOCALE:
- {
- HKL hkl = (HKL)lParam;
- MCONTACT hContact = wParam;
-
- HWND hWnd = Srmm_FindWindow(hContact);
- if (hWnd) {
- CSrmmWindow *dat = (CSrmmWindow*)GetWindowLongPtr(hWnd, GWLP_USERDATA);
- if (dat) {
- if (hkl) {
- dat->m_hkl = hkl;
- PostMessage(dat->GetHwnd(), DM_SETLOCALE, 0, 0);
- }
-
- DBVARIANT dbv;
- if (0 == db_get_ws(hContact, SRMSGMOD_T, "locale", &dbv)) {
- dat->GetLocaleID(dbv.ptszVal);
- db_free(&dbv);
- dat->UpdateReadChars();
- }
- }
- }
- }
- return 0;
-
- // react to changes in the desktop composition state
- // (enable/disable DWM, change to a non-aero visual style
- // or classic Windows theme
case WM_DWMCOMPOSITIONCHANGED:
+ // react to changes in the desktop composition state
+ // (enable/disable DWM, change to a non-aero visual style
+ // or classic Windows theme
SendMessage(hwndDlg, WM_THEMECHANGED, 0, 0);
{
bool bNewAero = M.getAeroState(); // refresh dwm state
diff --git a/plugins/TabSRMM/src/msgdialog.cpp b/plugins/TabSRMM/src/msgdialog.cpp
index 8711846b61..e30515353e 100644
--- a/plugins/TabSRMM/src/msgdialog.cpp
+++ b/plugins/TabSRMM/src/msgdialog.cpp
@@ -290,13 +290,6 @@ void CSrmmWindow::MsgWindowUpdateState(UINT msg)
if (m_dwFlags & MWF_NEEDCHECKSIZE)
PostMessage(m_hwnd, DM_SAVESIZE, 0, 0);
- if (PluginConfig.m_bAutoLocaleSupport) {
- if (m_hkl == nullptr)
- DM_LoadLocale();
- else
- SendMessage(m_hwnd, DM_SETLOCALE, 0, 0);
- }
-
m_pContainer->hIconTaskbarOverlay = nullptr;
m_pContainer->UpdateTitle(m_hContact);
@@ -2119,14 +2112,6 @@ LRESULT CSrmmWindow::WndProc_Message(UINT msg, WPARAM wParam, LPARAM lParam)
}
break;
- case WM_INPUTLANGCHANGE:
- if (PluginConfig.m_bAutoLocaleSupport && GetFocus() == m_message.GetHwnd() && IsActive()) {
- DM_SaveLocale(wParam, lParam);
- m_message.SendMsg(EM_SETLANGOPTIONS, 0, (LPARAM)m_message.SendMsg(EM_GETLANGOPTIONS, 0, 0) & ~IMF_AUTOKEYBOARD);
- return 1;
- }
- break;
-
case WM_ERASEBKGND:
return(CSkin::m_skinEnabled ? 0 : 1);
@@ -2686,12 +2671,7 @@ INT_PTR CSrmmWindow::DlgProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
m_dwFlags &= ~MWF_WASBACKGROUNDCREATE;
Resize();
PostMessage(m_hwnd, DM_UPDATEPICLAYOUT, 0, 0);
- if (PluginConfig.m_bAutoLocaleSupport) {
- if (m_hkl == nullptr)
- DM_LoadLocale();
- else
- PostMessage(m_hwnd, DM_SETLOCALE, 0, 0);
- }
+
if (m_hwndIEView != nullptr)
SetFocus(m_message.GetHwnd());
if (m_pContainer->dwFlags & CNT_SIDEBAR)
diff --git a/plugins/TabSRMM/src/msgdlgutils.cpp b/plugins/TabSRMM/src/msgdlgutils.cpp
index e5c2cd2186..756ac3209d 100644
--- a/plugins/TabSRMM/src/msgdlgutils.cpp
+++ b/plugins/TabSRMM/src/msgdlgutils.cpp
@@ -1237,77 +1237,6 @@ void CTabBaseDlg::GetSendFormat()
m_SendFormat = PluginConfig.m_SendFormat ? 1 : 0;
}
-/////////////////////////////////////////////////////////////////////////////////////////
-// get user - readable locale information for the currently selected
-// keyboard layout.
-//
-// GetLocaleInfo() should no longer be used on Vista and later
-
-void CTabBaseDlg::GetLocaleID(const wchar_t *szKLName)
-{
- wchar_t szLI[256], *stopped = nullptr;
- WORD wCtype2[3];
- BOOL fLocaleNotSet;
- BYTE szTest[4] = { 0xe4, 0xf6, 0xfc, 0 };
-
- szLI[0] = szLI[1] = 0;
-
- PARAFORMAT2 pf2;
- memset(&pf2, 0, sizeof(PARAFORMAT2));
- USHORT langID = (USHORT)wcstol(szKLName, &stopped, 16);
- m_lcid = MAKELCID(langID, 0);
- /*
- * Vista+: read ISO locale names from the registry
- */
- if (PluginConfig.m_bIsVista) {
- HKEY hKey = nullptr;
- wchar_t szKey[20];
- DWORD dwLID = wcstoul(szKLName, &stopped, 16);
-
- mir_snwprintf(szKey, L"%04.04x", LOWORD(dwLID));
- if (ERROR_SUCCESS == RegOpenKeyEx(HKEY_CLASSES_ROOT, L"MIME\\Database\\Rfc1766", 0, KEY_READ, &hKey)) {
- DWORD dwLength = 255;
- if (ERROR_SUCCESS == RegQueryValueEx(hKey, szKey, nullptr, nullptr, (unsigned char *)szLI, &dwLength)) {
- wchar_t* p;
-
- szLI[255] = 0;
- if ((p = wcschr(szLI, ';')) != nullptr)
- *p = 0;
- }
- RegCloseKey(hKey);
- }
- szLI[0] = towupper(szLI[0]);
- szLI[1] = towupper(szLI[1]);
- }
- else {
- GetLocaleInfo(m_lcid, LOCALE_SISO639LANGNAME, szLI, 10);
- wcsupr(szLI);
- }
- fLocaleNotSet = (m_lcID[0] == 0 && m_lcID[1] == 0);
- mir_snwprintf(m_lcID, szLI);
- GetStringTypeA(m_lcid, CT_CTYPE2, (char*)szTest, 3, wCtype2);
- pf2.cbSize = sizeof(pf2);
- pf2.dwMask = PFM_RTLPARA;
- m_message.SendMsg(EM_GETPARAFORMAT, 0, (LPARAM)&pf2);
- if (FindRTLLocale() && fLocaleNotSet) {
- if (wCtype2[0] == C2_RIGHTTOLEFT || wCtype2[1] == C2_RIGHTTOLEFT || wCtype2[2] == C2_RIGHTTOLEFT) {
- memset(&pf2, 0, sizeof(pf2));
- pf2.dwMask = PFM_RTLPARA;
- pf2.cbSize = sizeof(pf2);
- pf2.wEffects = PFE_RTLPARA;
- m_message.SendMsg(EM_SETPARAFORMAT, 0, (LPARAM)&pf2);
- }
- else {
- memset(&pf2, 0, sizeof(pf2));
- pf2.dwMask = PFM_RTLPARA;
- pf2.cbSize = sizeof(pf2);
- pf2.wEffects = 0;
- m_message.SendMsg(EM_SETPARAFORMAT, 0, (LPARAM)&pf2);
- }
- m_message.SendMsg(EM_SETLANGOPTIONS, 0, m_message.SendMsg(EM_GETLANGOPTIONS, 0, 0) & ~IMF_AUTOKEYBOARD);
- }
-}
-
void CSrmmWindow::LoadContactAvatar()
{
m_ace = Utils::loadAvatarFromAVS(m_bIsMeta ? db_mc_getSrmmSub(m_hContact) : m_hContact);
diff --git a/plugins/TabSRMM/src/msgs.cpp b/plugins/TabSRMM/src/msgs.cpp
index ac2a69d626..2e7bdbdd95 100644
--- a/plugins/TabSRMM/src/msgs.cpp
+++ b/plugins/TabSRMM/src/msgs.cpp
@@ -157,18 +157,6 @@ INT_PTR CTabBaseDlg::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam)
ActivateExistingTab(m_pContainer, m_hwnd);
return 0;
- case DM_SETLOCALE:
- if (m_dwFlags & MWF_WASBACKGROUNDCREATE)
- break;
- if (PluginConfig.m_bAutoLocaleSupport && IsActive()) {
- if (lParam)
- m_hkl = (HKL)lParam;
-
- if (m_hkl)
- ActivateKeyboardLayout(m_hkl, 0);
- }
- return 0;
-
case DM_QUERYCONTAINER: // container API support functions
if (lParam)
*(TContainerData**)lParam = m_pContainer;
diff --git a/plugins/TabSRMM/src/msgs.h b/plugins/TabSRMM/src/msgs.h
index 5d2d65eeb4..b212ae4e81 100644
--- a/plugins/TabSRMM/src/msgs.h
+++ b/plugins/TabSRMM/src/msgs.h
@@ -393,10 +393,8 @@ public:
void DM_EventAdded(WPARAM wParam, LPARAM lParam);
void DM_InitRichEdit();
void DM_InitTip();
- void DM_LoadLocale();
void DM_NotifyTyping(int mode);
void DM_RecalcPictureSize();
- void DM_SaveLocale(WPARAM wParam, LPARAM lParam);
void DM_SaveLogAsRTF() const;
void DM_ScrollToBottom(WPARAM wParam, LPARAM lParam);
void DM_Typing(bool fForceOff);
@@ -433,7 +431,6 @@ public:
bool GetAvatarVisibility();
void GetClientIcon();
LONG GetDefaultMinimumInputHeight() const;
- void GetLocaleID(const wchar_t *szKLName);
HICON GetMyContactIcon(LPCSTR szSetting);
void GetMYUIN();
void GetMyNick();
@@ -756,7 +753,6 @@ struct TIconDescW
#define DM_SELECTTAB (TM_USER+23)
#define DM_CLOSETABATMOUSE (TM_USER+24)
#define DM_STATUSICONCHANGE (TM_USER+25)
-#define DM_SETLOCALE (TM_USER+26)
#define DM_QUERYLASTUNREAD (TM_USER+28)
#define DM_QUERYPENDING (TM_USER+29)
#define DM_UPDATEPICLAYOUT (TM_USER+30)
diff --git a/plugins/TabSRMM/src/translator.cpp b/plugins/TabSRMM/src/translator.cpp
index f52eddd944..d5cb2d58fc 100644
--- a/plugins/TabSRMM/src/translator.cpp
+++ b/plugins/TabSRMM/src/translator.cpp
@@ -168,7 +168,6 @@ TOptionListItem m_lvItemsTab[] =
{ 0, LPGENW("New windows are minimized (the option above MUST be active)"), 1, LOI_TYPE_SETTING, (UINT_PTR)"autocontainer", 1 },
{ 0, LPGENW("Activate a minimized window when a new tab is created inside it"), 0, LOI_TYPE_SETTING, (UINT_PTR)"cpopup", 1 },
{ 0, LPGENW("Automatically switch existing tabs in minimized windows on incoming messages (ignored when using Aero Peek task bar features)"), 1, LOI_TYPE_SETTING, (UINT_PTR)"autoswitchtabs", 1 },
- { 0, LPGENW("Remember and set keyboard layout per contact"), 1, LOI_TYPE_SETTING, (UINT_PTR)"al", 2 },
{ 0, LPGENW("Close button only hides message windows"), 0, LOI_TYPE_SETTING, (UINT_PTR)"hideonclose", 2 },
{ 0, LPGENW("Allow TAB key in typing area (this will disable focus selection by TAB key)"), 0, LOI_TYPE_SETTING, (UINT_PTR)"tabmode", 2 },
{ 0, LPGENW("Add offline contacts to multisend list"), 0, LOI_TYPE_SETTING, (UINT_PTR) "AllowOfflineMultisend", 2 },