From 3730671c0735c834098e24d9b03a501e521e0c90 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 10 Jun 2012 10:00:18 +0000 Subject: - valid type conversions git-svn-id: http://svn.miranda-ng.org/main/trunk@375 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/ChangeKeyboardLayout/commonheaders.h | 4 +- plugins/ChangeKeyboardLayout/hook_events.c | 185 +++++---- plugins/ChangeKeyboardLayout/hook_events.h | 2 +- plugins/ChangeKeyboardLayout/main.c | 18 +- plugins/ChangeKeyboardLayout/options.c | 297 +++++++-------- plugins/ChangeKeyboardLayout/options.h | 4 +- plugins/ChangeKeyboardLayout/text_operations.c | 495 ++++++++++++------------- plugins/ChangeKeyboardLayout/text_operations.h | 6 +- 8 files changed, 505 insertions(+), 506 deletions(-) diff --git a/plugins/ChangeKeyboardLayout/commonheaders.h b/plugins/ChangeKeyboardLayout/commonheaders.h index 161f74b482..8eb8f3671e 100644 --- a/plugins/ChangeKeyboardLayout/commonheaders.h +++ b/plugins/ChangeKeyboardLayout/commonheaders.h @@ -98,7 +98,7 @@ PLUGININFO pluginInfo; HINSTANCE hInst; -HANDLE hChangeLayout,hGetLayoutOfText,hChangeTextLayout; +HANDLE hChangeLayout, hGetLayoutOfText, hChangeTextLayout; HANDLE hIcoLibIconsChanged; HICON hPopupIcon, hCopyIcon; @@ -115,7 +115,7 @@ LPCTSTR ptszSeparators; HHOOK kbHook_All; MainOptions moOptions; -PopupOptions poOptions,poOptionsTemp; +PopupOptions poOptions, poOptionsTemp; DWORD dwMirandaVersion; LRESULT CALLBACK Keyboard_Hook(int code, WPARAM wParam, LPARAM lParam); diff --git a/plugins/ChangeKeyboardLayout/hook_events.c b/plugins/ChangeKeyboardLayout/hook_events.c index 5dfa238c9d..6251dc8911 100644 --- a/plugins/ChangeKeyboardLayout/hook_events.c +++ b/plugins/ChangeKeyboardLayout/hook_events.c @@ -1,28 +1,28 @@ #include "hook_events.h" -int APIChangeLayout(WPARAM wParam, LPARAM lParam) +INT_PTR APIChangeLayout(WPARAM wParam, LPARAM lParam) { BOOL CurrentWord; - CurrentWord=moOptions.CurrentWordLayout; - return ChangeLayout((HWND)wParam,TOT_Layout,CurrentWord); + CurrentWord = moOptions.CurrentWordLayout; + return ChangeLayout((HWND)wParam, TOT_Layout, CurrentWord); } -int APIGetLayoutOfText(WPARAM wParam, LPARAM lParam) +INT_PTR APIGetLayoutOfText(WPARAM wParam, LPARAM lParam) { LPTSTR ptszInText; - ptszInText=(TCHAR*)lParam; + ptszInText = (TCHAR*)lParam; return (int) GetLayoutOfText(ptszInText); } -int APIChangeTextLayout(WPARAM wParam, LPARAM lParam) +INT_PTR APIChangeTextLayout(WPARAM wParam, LPARAM lParam) { LPTSTR ptszInText; CKLLayouts *ckllFromToLay; - ptszInText=(TCHAR*)wParam; - ckllFromToLay=(CKLLayouts*)lParam; + ptszInText = (TCHAR*)wParam; + ckllFromToLay = (CKLLayouts*)lParam; - return (int) ChangeTextLayout(ptszInText,ckllFromToLay->hklFrom,ckllFromToLay->hklTo,ckllFromToLay->bTwoWay); + return (int) ChangeTextLayout(ptszInText, ckllFromToLay->hklFrom, ckllFromToLay->hklTo, ckllFromToLay->bTwoWay); } BOOL CoreCheck() @@ -34,62 +34,62 @@ BOOL CoreCheck() if (!strstr(strrchr(exepath, '\\'), "miranda") || strstr(version, "coffee") || !strncmp(version, "1.", 2) || strstr(version, " 1.") || - (dwMirandaVersion >= PLUGIN_MAKE_VERSION(1,0,0,0))) + (dwMirandaVersion >= PLUGIN_MAKE_VERSION(1, 0, 0, 0))) return FALSE; else return TRUE; } void ReadMainOptions() { - moOptions.dwHotkey_Layout=DBGetContactSettingDword(NULL,ModuleName,"HotkeyLayout",119); - moOptions.dwHotkey_Layout2=DBGetContactSettingDword(NULL,ModuleName,"HotkeyLayout2",120); - moOptions.dwHotkey_Case=DBGetContactSettingDword(NULL,ModuleName,"HotkeyCase",121); - moOptions.CurrentWordLayout=DBGetContactSettingByte(NULL,ModuleName,"CurrentWordLayout",0); - moOptions.CurrentWordLayout2=DBGetContactSettingByte(NULL,ModuleName,"CurrentWordLayout2",1); - moOptions.CurrentWordCase=DBGetContactSettingByte(NULL,ModuleName,"CurrentWordCase",0); - moOptions.TwoWay=DBGetContactSettingByte(NULL,ModuleName,"TwoWay",1); - moOptions.ChangeSystemLayout=DBGetContactSettingByte(NULL,ModuleName,"ChangeSystemLayout",1); - moOptions.CopyToClipboard=DBGetContactSettingByte(NULL,ModuleName,"CopyToClipboard",0); - moOptions.ShowPopup=DBGetContactSettingByte(NULL,ModuleName,"ShowPopup",1); - moOptions.bCaseOperations=DBGetContactSettingByte(NULL,ModuleName,"CaseOperations",0); + moOptions.dwHotkey_Layout = DBGetContactSettingDword(NULL, ModuleName, "HotkeyLayout", 119); + moOptions.dwHotkey_Layout2 = DBGetContactSettingDword(NULL, ModuleName, "HotkeyLayout2", 120); + moOptions.dwHotkey_Case = DBGetContactSettingDword(NULL, ModuleName, "HotkeyCase", 121); + moOptions.CurrentWordLayout = DBGetContactSettingByte(NULL, ModuleName, "CurrentWordLayout", 0); + moOptions.CurrentWordLayout2 = DBGetContactSettingByte(NULL, ModuleName, "CurrentWordLayout2", 1); + moOptions.CurrentWordCase = DBGetContactSettingByte(NULL, ModuleName, "CurrentWordCase", 0); + moOptions.TwoWay = DBGetContactSettingByte(NULL, ModuleName, "TwoWay", 1); + moOptions.ChangeSystemLayout = DBGetContactSettingByte(NULL, ModuleName, "ChangeSystemLayout", 1); + moOptions.CopyToClipboard = DBGetContactSettingByte(NULL, ModuleName, "CopyToClipboard", 0); + moOptions.ShowPopup = DBGetContactSettingByte(NULL, ModuleName, "ShowPopup", 1); + moOptions.bCaseOperations = DBGetContactSettingByte(NULL, ModuleName, "CaseOperations", 0); } void WriteMainOptions() { - DBWriteContactSettingDword(NULL,ModuleName,"HotkeyLayout",moOptions.dwHotkey_Layout); - DBWriteContactSettingDword(NULL,ModuleName,"HotkeyLayout2",moOptions.dwHotkey_Layout2); - DBWriteContactSettingDword(NULL,ModuleName,"HotkeyCase",moOptions.dwHotkey_Case); - DBWriteContactSettingByte(NULL,ModuleName,"CurrentWordLayout",moOptions.CurrentWordLayout); - DBWriteContactSettingByte(NULL,ModuleName,"CurrentWordLayout2",moOptions.CurrentWordLayout2); - DBWriteContactSettingByte(NULL,ModuleName,"CurrentWordCase",moOptions.CurrentWordCase); - DBWriteContactSettingByte(NULL,ModuleName,"TwoWay",moOptions.TwoWay); - DBWriteContactSettingByte(NULL,ModuleName,"ChangeSystemLayout",moOptions.ChangeSystemLayout); - DBWriteContactSettingByte(NULL,ModuleName,"CopyToClipboard",moOptions.CopyToClipboard); - DBWriteContactSettingByte(NULL,ModuleName,"ShowPopup",moOptions.ShowPopup); - DBWriteContactSettingByte(NULL,ModuleName,"CaseOperations",moOptions.bCaseOperations); + DBWriteContactSettingDword(NULL, ModuleName, "HotkeyLayout", moOptions.dwHotkey_Layout); + DBWriteContactSettingDword(NULL, ModuleName, "HotkeyLayout2", moOptions.dwHotkey_Layout2); + DBWriteContactSettingDword(NULL, ModuleName, "HotkeyCase", moOptions.dwHotkey_Case); + DBWriteContactSettingByte(NULL, ModuleName, "CurrentWordLayout", moOptions.CurrentWordLayout); + DBWriteContactSettingByte(NULL, ModuleName, "CurrentWordLayout2", moOptions.CurrentWordLayout2); + DBWriteContactSettingByte(NULL, ModuleName, "CurrentWordCase", moOptions.CurrentWordCase); + DBWriteContactSettingByte(NULL, ModuleName, "TwoWay", moOptions.TwoWay); + DBWriteContactSettingByte(NULL, ModuleName, "ChangeSystemLayout", moOptions.ChangeSystemLayout); + DBWriteContactSettingByte(NULL, ModuleName, "CopyToClipboard", moOptions.CopyToClipboard); + DBWriteContactSettingByte(NULL, ModuleName, "ShowPopup", moOptions.ShowPopup); + DBWriteContactSettingByte(NULL, ModuleName, "CaseOperations", moOptions.bCaseOperations); } void ReadPopupOptions() { - poOptions.bColourType=DBGetContactSettingByte(NULL,ModuleName,"ColourType",0); - poOptions.crBackColour=(COLORREF)DBGetContactSettingDword(NULL,ModuleName,"BackColor",0xD2CABF); - poOptions.crTextColour=(COLORREF)DBGetContactSettingDword(NULL,ModuleName,"TextColor",0x000000); - poOptions.bTimeoutType=DBGetContactSettingByte(NULL,ModuleName,"TimeoutType",0); - poOptions.bTimeout=DBGetContactSettingByte(NULL,ModuleName,"Timeout",10); - poOptions.bLeftClick=DBGetContactSettingByte(NULL,ModuleName,"LeftClick",0); - poOptions.bRightClick=DBGetContactSettingByte(NULL,ModuleName,"RightClick",1); + poOptions.bColourType = DBGetContactSettingByte(NULL, ModuleName, "ColourType", 0); + poOptions.crBackColour = (COLORREF)DBGetContactSettingDword(NULL, ModuleName, "BackColor", 0xD2CABF); + poOptions.crTextColour = (COLORREF)DBGetContactSettingDword(NULL, ModuleName, "TextColor", 0x000000); + poOptions.bTimeoutType = DBGetContactSettingByte(NULL, ModuleName, "TimeoutType", 0); + poOptions.bTimeout = DBGetContactSettingByte(NULL, ModuleName, "Timeout", 10); + poOptions.bLeftClick = DBGetContactSettingByte(NULL, ModuleName, "LeftClick", 0); + poOptions.bRightClick = DBGetContactSettingByte(NULL, ModuleName, "RightClick", 1); } void WritePopupOptions() { - DBWriteContactSettingByte(NULL,ModuleName,"ColourType",poOptions.bColourType); - DBWriteContactSettingDword(NULL,ModuleName,"BackColor",poOptions.crBackColour); - DBWriteContactSettingDword(NULL,ModuleName,"TextColor",poOptions.crTextColour); - DBWriteContactSettingByte(NULL,ModuleName,"TimeoutType",poOptions.bTimeoutType); - DBWriteContactSettingByte(NULL,ModuleName,"Timeout",poOptions.bTimeout); - DBWriteContactSettingByte(NULL,ModuleName,"LeftClick",poOptions.bLeftClick); - DBWriteContactSettingByte(NULL,ModuleName,"RightClick",poOptions.bRightClick); + DBWriteContactSettingByte(NULL, ModuleName, "ColourType", poOptions.bColourType); + DBWriteContactSettingDword(NULL, ModuleName, "BackColor", poOptions.crBackColour); + DBWriteContactSettingDword(NULL, ModuleName, "TextColor", poOptions.crTextColour); + DBWriteContactSettingByte(NULL, ModuleName, "TimeoutType", poOptions.bTimeoutType); + DBWriteContactSettingByte(NULL, ModuleName, "Timeout", poOptions.bTimeout); + DBWriteContactSettingByte(NULL, ModuleName, "LeftClick", poOptions.bLeftClick); + DBWriteContactSettingByte(NULL, ModuleName, "RightClick", poOptions.bRightClick); } void RegPopupActions() @@ -102,9 +102,8 @@ void RegPopupActions() poOptions.paActions[0].flags = PAF_ENABLED; poOptions.paActions[0].wParam = poOptions.paActions[0].lParam = 0; poOptions.paActions[0].lchIcon = hCopyIcon; - CallService(MS_POPUP_REGISTERACTIONS,&poOptions.paActions,1); + CallService(MS_POPUP_REGISTERACTIONS, (WPARAM)&poOptions.paActions, 1); } - } int OnIconsChanged(WPARAM wParam, LPARAM lParam) @@ -124,37 +123,37 @@ int OnIconsChanged(WPARAM wParam, LPARAM lParam) } -int ModulesLoaded(WPARAM wParam,LPARAM lParam) +int ModulesLoaded(WPARAM wParam, LPARAM lParam) { - int i,iRes; + int i, iRes; DBVARIANT dbv = {0}; - LPCTSTR ptszEmptySting=_T(""); + LPCTSTR ptszEmptySting = _T(""); LPTSTR ptszCurrLayout; - LPTSTR ptszTemp; + LPSTR ptszTemp; SKINICONDESC sid = {0}; CHAR szFile[MAX_PATH]; //Заполняем конфигурационные строки из базы. Если их там нет - генерируем. - for (i = 0;i < bLayNum; i++) + for (i = 0; i < bLayNum; i++) { - ptszCurrLayout=GenerateLayoutString(hklLayouts[i]); - ptszTemp=GetNameOfLayout(hklLayouts[i]); - iRes=DBGetContactSettingTString(NULL,ModuleName,ptszTemp,&dbv); - if (iRes!=0) - ptszLayStrings[i]=ptszCurrLayout; + ptszCurrLayout = GenerateLayoutString(hklLayouts[i]); + ptszTemp = GetNameOfLayout(hklLayouts[i]); + iRes = DBGetContactSettingTString(NULL, ModuleName, ptszTemp, &dbv); + if (iRes != 0) + ptszLayStrings[i] = ptszCurrLayout; else - if(_tcscmp((dbv.ptszVal),ptszEmptySting)==0) + if(_tcscmp((dbv.ptszVal), ptszEmptySting) == 0) { - ptszLayStrings[i]=ptszCurrLayout; + ptszLayStrings[i] = ptszCurrLayout; mir_free(dbv.ptszVal); } else { - ptszLayStrings[i]=dbv.ptszVal; - if(_tcscmp(ptszCurrLayout,ptszLayStrings[i])==0) - DBDeleteContactSetting(NULL,ModuleName,ptszTemp); + ptszLayStrings[i] = dbv.ptszVal; + if(_tcscmp(ptszCurrLayout, ptszLayStrings[i]) == 0) + DBDeleteContactSetting(NULL, ModuleName, ptszTemp); mir_free(ptszCurrLayout); } mir_free(ptszTemp); @@ -171,12 +170,12 @@ int ModulesLoaded(WPARAM wParam,LPARAM lParam) SkinAddNewSoundEx(SND_ChangeCase, Translate(ModuleName), Translate("Changing Case")); // Хук на нажатие клавиши - kbHook_All=SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)Keyboard_Hook,NULL,GetCurrentThreadId()); + kbHook_All = SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)Keyboard_Hook, NULL, GetCurrentThreadId()); // Зарегим сервисы - hChangeLayout=CreateServiceFunction(MS_CKL_CHANGELAYOUT, APIChangeLayout); - hGetLayoutOfText=CreateServiceFunction(MS_CKL_GETLAYOUTOFTEXT,APIGetLayoutOfText); - hChangeTextLayout=CreateServiceFunction(MS_CKL_CHANGETEXTLAYOUT,APIChangeTextLayout); + hChangeLayout = CreateServiceFunction(MS_CKL_CHANGELAYOUT, APIChangeLayout); + hGetLayoutOfText = CreateServiceFunction(MS_CKL_GETLAYOUTOFTEXT, APIGetLayoutOfText); + hChangeTextLayout = CreateServiceFunction(MS_CKL_CHANGETEXTLAYOUT, APIChangeTextLayout); // IcoLib support if(ServiceExists(MS_SKIN2_ADDICON)) @@ -198,7 +197,7 @@ int ModulesLoaded(WPARAM wParam,LPARAM lParam) hIcoLibIconsChanged = HookEvent(ME_SKIN2_ICONSCHANGED, OnIconsChanged); } - OnIconsChanged(0,0); + OnIconsChanged(0, 0); RegPopupActions(); //Поддержка Апдейтера @@ -212,7 +211,7 @@ int ModulesLoaded(WPARAM wParam,LPARAM lParam) } - DBWriteContactSettingDword(NULL,ModuleName,"CurrentVer",VERSION); + DBWriteContactSettingDword(NULL, ModuleName, "CurrentVer", VERSION); return 0; @@ -224,22 +223,22 @@ int OnOptionsInitialise(WPARAM wParam, LPARAM lParam) odp.cbSize = sizeof(odp); odp.hInstance = hInst; - odp.pszTemplate = MAKEINTRESOURCE(IDD_MAIN_OPTION_FORM); + odp.pszTemplate = MAKEINTRESOURCEA(IDD_MAIN_OPTION_FORM); odp.pszTitle = Translate(ModuleName); odp.pszGroup = Translate("Plugins"); - odp.flags=ODPF_BOLDGROUPS; + odp.flags = ODPF_BOLDGROUPS; odp.pfnDlgProc = DlgMainProcOptions; CallService(MS_OPT_ADDPAGE, wParam, (LPARAM)&odp); if (ServiceExists(MS_POPUP_ADDPOPUP)) { - ZeroMemory(&odp,sizeof(odp)); + ZeroMemory(&odp, sizeof(odp)); odp.cbSize = sizeof(odp); odp.hInstance = hInst; - odp.pszTemplate = MAKEINTRESOURCE(IDD_POPUP_OPTION_FORM); + odp.pszTemplate = MAKEINTRESOURCEA(IDD_POPUP_OPTION_FORM); odp.pszTitle = Translate(ModuleName); odp.pszGroup = Translate("PopUps"); - odp.flags=ODPF_BOLDGROUPS; + odp.flags = ODPF_BOLDGROUPS; odp.pfnDlgProc = DlgPopupsProcOptions; CallService(MS_OPT_ADDPAGE, wParam, (LPARAM)&odp); } @@ -252,35 +251,35 @@ LRESULT CALLBACK Keyboard_Hook(int code, WPARAM wParam, LPARAM lParam) { DWORD lcode; - if (code==HC_ACTION) + if (code == HC_ACTION) { - lcode=0; - if ((GetKeyState(VK_SHIFT)&0x8000)) lcode|=HOTKEYF_SHIFT; - if ((GetKeyState(VK_CONTROL)&0x8000)) lcode|=HOTKEYF_CONTROL; - if ((GetKeyState(VK_MENU)&0x8000)) lcode|=HOTKEYF_ALT; - if ((GetKeyState(VK_LWIN)&0x8000)||(GetKeyState(VK_RWIN)&0x8000)) lcode|=HOTKEYF_EXT; - lcode=lcode<<8; + lcode = 0; + if ((GetKeyState(VK_SHIFT)&0x8000)) lcode |= HOTKEYF_SHIFT; + if ((GetKeyState(VK_CONTROL)&0x8000)) lcode |= HOTKEYF_CONTROL; + if ((GetKeyState(VK_MENU)&0x8000)) lcode |= HOTKEYF_ALT; + if ((GetKeyState(VK_LWIN)&0x8000)||(GetKeyState(VK_RWIN)&0x8000)) lcode |= HOTKEYF_EXT; + lcode = lcode<<8; - if ((wParam!=VK_SHIFT)&&(wParam!=VK_MENU)&&(wParam!=VK_CONTROL)&&(wParam!=VK_LWIN)&&(wParam!=VK_RWIN)) - lcode+=wParam; + if ((wParam != VK_SHIFT) && (wParam != VK_MENU) && (wParam != VK_CONTROL) && (wParam != VK_LWIN) && (wParam != VK_RWIN)) + lcode += wParam; // Проверка на пустой хоткей. Иначе - пиздец, как в версии 1.4 - if (lcode!=0) - if ((lcode==moOptions.dwHotkey_Layout)&&(!(lParam&0x40000000))) + if (lcode != 0) + if ((lcode == moOptions.dwHotkey_Layout) && (!(lParam&0x40000000))) { - ChangeLayout(NULL,TOT_Layout,moOptions.CurrentWordLayout); + ChangeLayout(NULL, TOT_Layout, moOptions.CurrentWordLayout); return 1; } else - if ((lcode==moOptions.dwHotkey_Layout2)&&(!(lParam&0x40000000))) + if ((lcode == moOptions.dwHotkey_Layout2) && (!(lParam&0x40000000))) { - ChangeLayout(NULL,TOT_Layout,moOptions.CurrentWordLayout2); + ChangeLayout(NULL, TOT_Layout, moOptions.CurrentWordLayout2); return 1; } else - if ((lcode==moOptions.dwHotkey_Case)&&(!(lParam&0x40000000))) + if ((lcode == moOptions.dwHotkey_Case) && (!(lParam&0x40000000))) { - ChangeLayout(NULL,TOT_Case,moOptions.CurrentWordCase); + ChangeLayout(NULL, TOT_Case, moOptions.CurrentWordCase); return 1; } } @@ -291,14 +290,14 @@ int CALLBACK CKLPopupDlgProc(HWND hWnd, UINT uiMessage, WPARAM wParam, LPARAM lP { LPTSTR ptszPopupText; - ptszPopupText=(LPTSTR)CallService(MS_POPUP_GETPLUGINDATA,(WPARAM)hWnd,(LPARAM)&ptszPopupText); + ptszPopupText = (LPTSTR)CallService(MS_POPUP_GETPLUGINDATA, (WPARAM)hWnd, (LPARAM)&ptszPopupText); switch(uiMessage) { case WM_COMMAND: { if (HIWORD(wParam) == STN_CLICKED) { - if (!IsBadStringPtr(ptszPopupText,MaxTextSize)) + if (!IsBadStringPtr(ptszPopupText, MaxTextSize)) CopyTextToClipboard(ptszPopupText); PUDeletePopUp(hWnd); @@ -314,7 +313,7 @@ int CALLBACK CKLPopupDlgProc(HWND hWnd, UINT uiMessage, WPARAM wParam, LPARAM lP case UM_POPUPACTION: { - if ((lParam==0)&&(!IsBadStringPtr(ptszPopupText,MaxTextSize))) + if ((lParam == 0) && (!IsBadStringPtr(ptszPopupText, MaxTextSize))) { CopyTextToClipboard(ptszPopupText); } diff --git a/plugins/ChangeKeyboardLayout/hook_events.h b/plugins/ChangeKeyboardLayout/hook_events.h index 1db1f16f40..7f6ea17ff3 100644 --- a/plugins/ChangeKeyboardLayout/hook_events.h +++ b/plugins/ChangeKeyboardLayout/hook_events.h @@ -9,7 +9,7 @@ void WriteMainOptions(); void ReadPopupOptions(); void WritePopupOptions(); extern int OnOptionsInitialise(WPARAM wParam, LPARAM lParam); -extern int ModulesLoaded(WPARAM wParam,LPARAM lParam); +extern int ModulesLoaded(WPARAM wParam, LPARAM lParam); int CALLBACK CKLPopupDlgProc(HWND hWnd, UINT uiMessage, WPARAM wParam, LPARAM lParam); #endif \ No newline at end of file diff --git a/plugins/ChangeKeyboardLayout/main.c b/plugins/ChangeKeyboardLayout/main.c index 82f5f8f167..1cd793f4f7 100644 --- a/plugins/ChangeKeyboardLayout/main.c +++ b/plugins/ChangeKeyboardLayout/main.c @@ -4,7 +4,7 @@ struct MM_INTERFACE mmi; PLUGINLINK *pluginLink; int hLangpack; -PLUGININFOEX pluginInfoEx={ +PLUGININFOEX pluginInfoEx = { sizeof(PLUGININFOEX), "Change Keyboard Layout", VERSION, @@ -12,16 +12,16 @@ PLUGININFOEX pluginInfoEx={ "Yasnovidyashii", "Yasnovidyashii@gmail.com", "© 2006-2009 Mikhail Yur'ev", - "http://lemnews.com/forum/viewtopic.php?t=1493", + "http://lemnews.com/forum/viewtopic.php?t = 1493", 0, //not transient UNICODE_AWARE, //doesn't replace anything built-in {0xc5ef53a8, 0x80d4, 0x4ce9, { 0xb3, 0x41, 0xec, 0x90, 0xd3, 0xec, 0x91, 0x56 }} //{c5ef53a8-80d4-4ce9-b341-ec90d3ec9156} }; -LPCTSTR ptszKeybEng=_T("`1234567890-=\\qwertyuiop[]asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+|QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>?"); -HKL hklEng=(HKL)0x04090409; +LPCTSTR ptszKeybEng = _T("`1234567890- = \\qwertyuiop[]asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+|QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>?"); +HKL hklEng = (HKL)0x04090409; -LPCTSTR ptszSeparators=_T(" \t\n\r"); +LPCTSTR ptszSeparators = _T(" \t\n\r"); HANDLE hOptionsInitialize; HANDLE hModulesLoaded; @@ -29,7 +29,7 @@ HANDLE hModulesLoaded; BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) { - hInst=hinstDLL; + hInst = hinstDLL; return TRUE; } @@ -50,11 +50,11 @@ __declspec(dllexport) const MUUID* MirandaPluginInterfaces(void) int __declspec(dllexport) Load(PLUGINLINK *link) { - pluginLink=link; + pluginLink = link; mir_getMMI(&mmi); mir_getLP(&pluginInfoEx); ZeroMemory(hklLayouts, 20 * sizeof(HKL)); - bLayNum=GetKeyboardLayoutList(20,hklLayouts); + bLayNum = GetKeyboardLayoutList(20,hklLayouts); if (bLayNum<2) return 1; hOptionsInitialize = HookEvent(ME_OPT_INITIALISE, OnOptionsInitialise); @@ -66,7 +66,7 @@ int __declspec(dllexport) Unload(void) { DWORD i; - for (i=0;i255) - poOptionsTemp.bTimeout=255; + poOptionsTemp.bTimeout = 255; else - poOptionsTemp.bTimeout=dwTimeOut; + poOptionsTemp.bTimeout = dwTimeOut; if (!PopupDialogLock) SendMessage(GetParent(hWnd), PSM_CHANGED, 0, 0); @@ -412,25 +413,25 @@ int CALLBACK DlgPopupsProcOptions(HWND hWnd, UINT uiMessage, WPARAM wParam, LPAR { if ((HIWORD(wParam) == BN_CLICKED )) { - ptszPopupPreviewText=(LPTSTR)mir_alloc(MaxTextSize*sizeof(TCHAR)); + ptszPopupPreviewText = (LPTSTR)mir_alloc(MaxTextSize*sizeof(TCHAR)); pdtData.cbSize = sizeof(POPUPDATAT); ZeroMemory(&pdtData, sizeof(pdtData)); - _tcsncpy(pdtData.lptzContactName,TranslateT(ModuleName), MAX_CONTACTNAME); + _tcsncpy(pdtData.lptzContactName, TranslateT(ModuleName), MAX_CONTACTNAME); _tcsncpy(pdtData.lptzText, _T("Ghbdtn? rfr ltkf&"), MAX_SECONDLINE); switch(poOptionsTemp.bColourType) { case PPC_POPUP: - pdtData.colorBack=pdtData.colorText=0; + pdtData.colorBack = pdtData.colorText = 0; break; case PPC_WINDOWS: - pdtData.colorBack=GetSysColor(COLOR_BTNFACE); - pdtData.colorText=GetSysColor(COLOR_WINDOWTEXT); + pdtData.colorBack = GetSysColor(COLOR_BTNFACE); + pdtData.colorText = GetSysColor(COLOR_WINDOWTEXT); break; case PPC_CUSTOM: - pdtData.colorBack=poOptionsTemp.crBackColour; - pdtData.colorText=poOptionsTemp.crTextColour; + pdtData.colorBack = poOptionsTemp.crBackColour; + pdtData.colorText = poOptionsTemp.crTextColour; break; default: break; @@ -438,20 +439,20 @@ int CALLBACK DlgPopupsProcOptions(HWND hWnd, UINT uiMessage, WPARAM wParam, LPAR switch(poOptionsTemp.bTimeoutType) { case PPT_POPUP: - pdtData.iSeconds=0; + pdtData.iSeconds = 0; break; case PPT_PERMANENT: - pdtData.iSeconds=-1; + pdtData.iSeconds = -1; break; case PPC_CUSTOM: - pdtData.iSeconds=poOptionsTemp.bTimeout; + pdtData.iSeconds = poOptionsTemp.bTimeout; break; } _tcscpy(ptszPopupPreviewText, pdtData.lptzText); - pdtData.PluginData=ptszPopupPreviewText; + pdtData.PluginData = ptszPopupPreviewText; pdtData.lchIcon = hPopupIcon; poOptions.paActions[0].lchIcon = hCopyIcon; - pdtData.lpActions=poOptions.paActions; + pdtData.lpActions = poOptions.paActions; pdtData.actionCount = 1; pdtData.PluginWindowProc = (WNDPROC)CKLPopupDlgProc; @@ -477,7 +478,7 @@ int CALLBACK DlgPopupsProcOptions(HWND hWnd, UINT uiMessage, WPARAM wParam, LPAR { case PSN_APPLY: { - poOptions=poOptionsTemp; + poOptions = poOptionsTemp; WritePopupOptions(); break; } diff --git a/plugins/ChangeKeyboardLayout/options.h b/plugins/ChangeKeyboardLayout/options.h index b91a104deb..bcf46a244b 100644 --- a/plugins/ChangeKeyboardLayout/options.h +++ b/plugins/ChangeKeyboardLayout/options.h @@ -3,7 +3,7 @@ #include "commonheaders.h" -int CALLBACK DlgMainProcOptions(HWND hWnd, UINT uiMessage, WPARAM wParam, LPARAM lParam); -int CALLBACK DlgPopupsProcOptions(HWND hWnd, UINT uiMessage, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK DlgMainProcOptions(HWND hWnd, UINT uiMessage, WPARAM wParam, LPARAM lParam); +INT_PTR CALLBACK DlgPopupsProcOptions(HWND hWnd, UINT uiMessage, WPARAM wParam, LPARAM lParam); #endif \ No newline at end of file diff --git a/plugins/ChangeKeyboardLayout/text_operations.c b/plugins/ChangeKeyboardLayout/text_operations.c index 70851b38a1..8118d76afa 100644 --- a/plugins/ChangeKeyboardLayout/text_operations.c +++ b/plugins/ChangeKeyboardLayout/text_operations.c @@ -6,41 +6,41 @@ struct EditStreamData { int iCurrent; }; -static DWORD CALLBACK EditStreamOutRtf(DWORD dwCookie,LPBYTE pbBuff,LONG cb,LONG *pcb) +static DWORD CALLBACK EditStreamOutRtf(DWORD_PTR dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb) { - struct EditStreamData *esd=(struct EditStreamData*)dwCookie; - esd->cbBuff+=cb; - esd->pbBuff=(PBYTE)realloc(esd->pbBuff,esd->cbBuff+sizeof(TCHAR)); - CopyMemory(esd->pbBuff+esd->iCurrent,pbBuff,cb); - esd->iCurrent+=cb; - esd->pbBuff[esd->iCurrent]=0; + struct EditStreamData *esd = (struct EditStreamData*)dwCookie; + esd->cbBuff += cb; + esd->pbBuff = (PBYTE)realloc(esd->pbBuff, esd->cbBuff+sizeof(TCHAR)); + CopyMemory(esd->pbBuff+esd->iCurrent, pbBuff, cb); + esd->iCurrent += cb; + esd->pbBuff[esd->iCurrent] = 0; #if defined (_UNICODE) - esd->pbBuff[esd->iCurrent+1]=0; + esd->pbBuff[esd->iCurrent+1] = 0; #endif - *pcb=cb; + *pcb = cb; return 0; } LPTSTR GeTStringFromStreamData(struct EditStreamData *esd) { LPTSTR ptszTemp, ptszOutText; - DWORD i,k; + DWORD i, k; - ptszOutText=(LPTSTR)mir_alloc(MaxTextSize*sizeof(TCHAR)); - ptszTemp=(TCHAR*)esd->pbBuff; + ptszOutText = (LPTSTR)mir_alloc(MaxTextSize*sizeof(TCHAR)); + ptszTemp = (TCHAR*)esd->pbBuff; - for (i=k=0;i<_tcslen(ptszTemp);i++) - if ((ptszTemp[i]==0x0A)||(ptszTemp[i]==0x2028)) - ptszOutText[k++]=0x0D; - else if (ptszTemp[i]==0x0D) + for (i = k = 0;i<_tcslen(ptszTemp);i++) + if ((ptszTemp[i] == 0x0A)||(ptszTemp[i] == 0x2028)) + ptszOutText[k++] = 0x0D; + else if (ptszTemp[i] == 0x0D) { - ptszOutText[k++]=0x0D; - if (ptszTemp[i+1]==0x0A) i++; + ptszOutText[k++] = 0x0D; + if (ptszTemp[i+1] == 0x0A) i++; } else - ptszOutText[k++]=ptszTemp[i]; + ptszOutText[k++] = ptszTemp[i]; - ptszOutText[k]=0; + ptszOutText[k] = 0; return ptszOutText; } @@ -52,14 +52,14 @@ BOOL CopyTextToClipboard(LPTSTR ptszText) if (OpenClipboard(NULL)) { EmptyClipboard(); - hCopy=GlobalAlloc(GMEM_MOVEABLE,(_tcslen(ptszText)+1)*sizeof(TCHAR)); - _tcscpy(GlobalLock(hCopy),ptszText); + hCopy = GlobalAlloc(GMEM_MOVEABLE, (_tcslen(ptszText)+1)*sizeof(TCHAR)); + _tcscpy((TCHAR*)GlobalLock(hCopy), ptszText); GlobalUnlock(hCopy); #if defined (_UNICODE) - SetClipboardData(CF_UNICODETEXT,hCopy); + SetClipboardData(CF_UNICODETEXT, hCopy); #else - SetClipboardData(CF_TEXT,hCopy); + SetClipboardData(CF_TEXT, hCopy); #endif CloseClipboard(); @@ -69,11 +69,10 @@ BOOL CopyTextToClipboard(LPTSTR ptszText) return FALSE; } -LPTSTR GetNameOfLayout(HKL hklLayout) +LPSTR GetNameOfLayout(HKL hklLayout) { - LPTSTR ptszLayName; - ptszLayName=mir_alloc((KL_NAMELENGTH+1)*sizeof(TCHAR)); - sprintf(ptszLayName,"%08x",hklLayout); + LPSTR ptszLayName = (LPSTR)mir_alloc(KL_NAMELENGTH+1); + sprintf(ptszLayName, "%08x", hklLayout); return ptszLayName; } @@ -83,7 +82,7 @@ LPTSTR GetShortNameOfLayout(HKL hklLayout) TCHAR szLI[20]; LPTSTR ptszLiShort; - ptszLiShort=(LPTSTR)mir_alloc(3*sizeof(TCHAR)); + ptszLiShort = (LPTSTR)mir_alloc(3*sizeof(TCHAR)); dwLcid = MAKELCID(hklLayout, 0); GetLocaleInfo(dwLcid, LOCALE_SISO639LANGNAME , szLI, 10); ptszLiShort[0] = toupper(szLI[0]); @@ -97,7 +96,7 @@ HKL GetNextLayout(HKL hklCurLay) { DWORD i; for(i = 0; i < bLayNum; i++) - if (hklLayouts[i]==hklCurLay) + if (hklLayouts[i] == hklCurLay) return hklLayouts[(i+1)%(bLayNum)]; return NULL; @@ -105,45 +104,45 @@ HKL GetNextLayout(HKL hklCurLay) LPTSTR GenerateLayoutString(HKL hklLayout) { - LPTSTR ptszLayStr,ptszTemp; + LPTSTR ptszLayStr, ptszTemp; SHORT shVirtualKey; UINT iScanCode; - BYTE bState[256]={0}; - DWORD i,j; + BYTE bState[256] = {0}; + DWORD i, j; int iRes; - ptszLayStr=(LPTSTR)mir_alloc(100*sizeof(TCHAR)); - ptszTemp=(LPTSTR)mir_alloc(3*sizeof(TCHAR)); - ptszTemp[0]=0; - for(i=0;i<_tcslen(ptszKeybEng);i++) + ptszLayStr = (LPTSTR)mir_alloc(100*sizeof(TCHAR)); + ptszTemp = (LPTSTR)mir_alloc(3*sizeof(TCHAR)); + ptszTemp[0] = 0; + for(i = 0;i<_tcslen(ptszKeybEng);i++) { - shVirtualKey=VkKeyScanEx(ptszKeybEng[i],hklEng); - iScanCode=MapVirtualKeyEx(shVirtualKey&0x00FF,0,hklEng); + shVirtualKey = VkKeyScanEx(ptszKeybEng[i], hklEng); + iScanCode = MapVirtualKeyEx(shVirtualKey&0x00FF, 0, hklEng); - for (j=0;j<256;j++) - bState[j]=0; + for (j = 0;j<256;j++) + bState[j] = 0; - if (shVirtualKey&0x0100) bState[VK_SHIFT]=0x80; - if (shVirtualKey&0x0200) bState[VK_CONTROL]=0x80; - if (shVirtualKey&0x0400) bState[VK_MENU]=0x80; + if (shVirtualKey&0x0100) bState[VK_SHIFT] = 0x80; + if (shVirtualKey&0x0200) bState[VK_CONTROL] = 0x80; + if (shVirtualKey&0x0400) bState[VK_MENU] = 0x80; - shVirtualKey=MapVirtualKeyEx(iScanCode,1,hklLayout); - bState[shVirtualKey&0x00FF]=0x80; + shVirtualKey = MapVirtualKeyEx(iScanCode, 1, hklLayout); + bState[shVirtualKey&0x00FF] = 0x80; #if defined (_UNICODE) - iRes=ToUnicodeEx(shVirtualKey,iScanCode,bState,ptszTemp,3,0,hklLayout); + iRes = ToUnicodeEx(shVirtualKey, iScanCode, bState, ptszTemp, 3, 0, hklLayout); // Защита от дэд-кеев - if (iRes<0) ToUnicodeEx(shVirtualKey,iScanCode,bState,ptszTemp,3,0,hklLayout); + if (iRes<0) ToUnicodeEx(shVirtualKey, iScanCode, bState, ptszTemp, 3, 0, hklLayout); #else - iRes=ToAsciiEx(shVirtualKey,iScanCode,bState,ptszTemp,0,hklLayout); + iRes = ToAsciiEx(shVirtualKey, iScanCode, bState, ptszTemp, 0, hklLayout); // Защита от дэд-кеев - if (iRes<0) ToAsciiEx(shVirtualKey,iScanCode,bState,ptszTemp,0,hklLayout); + if (iRes<0) ToAsciiEx(shVirtualKey, iScanCode, bState, ptszTemp, 0, hklLayout); #endif //Если нам вернули нулевой символ, или не вернули ничего, то присвоим "звоночек" - if (ptszTemp[0]==0) ptszLayStr[i]=3; else ptszLayStr[i]=ptszTemp[0]; + if (ptszTemp[0] == 0) ptszLayStr[i] = 3; else ptszLayStr[i] = ptszTemp[0]; } - ptszLayStr[i]=0; + ptszLayStr[i] = 0; mir_free(ptszTemp); return ptszLayStr; @@ -152,8 +151,8 @@ LPTSTR GenerateLayoutString(HKL hklLayout) LPTSTR GetLayoutString(HKL hklLayout) { DWORD i; - for (i=0;i=j) - ptszOutText[i]=ptszKeybNext[j]; + ptszOutText[i] = ptszKeybNext[j]; } - if (TwoWay&&(!Found)) - for (j=0;(j<_tcslen(ptszKeybNext)&&(!Found));j++) - if (ptszKeybNext[j]==ptszInText[i]) + if (TwoWay && (!Found)) + for (j = 0;(j<_tcslen(ptszKeybNext) && (!Found));j++) + if (ptszKeybNext[j] == ptszInText[i]) { - Found=TRUE; + Found = TRUE; if (_tcslen(ptszKeybCur)>=j) - ptszOutText[i]=ptszKeybCur[j]; + ptszOutText[i] = ptszKeybCur[j]; } }; return ptszOutText; @@ -236,65 +235,65 @@ LPTSTR ChangeTextLayout(LPCTSTR ptszInText,HKL hklCurLay, HKL hklToLay, BOOL Two HKL GetLayoutOfText(LPCTSTR ptszInText) { - DWORD i,j; + DWORD i, j; LPTSTR ptszKeybBuff; - DWORD dwCountSymbols,dwMaxSymbols,dwTemp; + DWORD dwCountSymbols, dwMaxSymbols, dwTemp; HKL hklCurLay; - hklCurLay=hklLayouts[0]; - ptszKeybBuff=ptszLayStrings[0]; - dwMaxSymbols=dwTemp=0; + hklCurLay = hklLayouts[0]; + ptszKeybBuff = ptszLayStrings[0]; + dwMaxSymbols = dwTemp = 0; - for (j=0;j<_tcslen(ptszInText);j++) - if (_tcschr(ptszKeybBuff,ptszInText[j])!=NULL) ++dwMaxSymbols; + for (j = 0;j<_tcslen(ptszInText);j++) + if (_tcschr(ptszKeybBuff, ptszInText[j]) != NULL) ++dwMaxSymbols; for(i = 1; i < bLayNum; i++) { - ptszKeybBuff=ptszLayStrings[i]; - dwCountSymbols=0; + ptszKeybBuff = ptszLayStrings[i]; + dwCountSymbols = 0; - for (j=0;j<_tcslen(ptszInText);j++) - if (_tcschr(ptszKeybBuff,ptszInText[j])!=NULL) ++dwCountSymbols; + for (j = 0;j<_tcslen(ptszInText);j++) + if (_tcschr(ptszKeybBuff, ptszInText[j]) != NULL) ++dwCountSymbols; - if (dwCountSymbols==dwMaxSymbols) + if (dwCountSymbols == dwMaxSymbols) dwTemp = dwCountSymbols; else if (dwCountSymbols>dwMaxSymbols) { - dwMaxSymbols=dwCountSymbols; - hklCurLay=hklLayouts[i]; + dwMaxSymbols = dwCountSymbols; + hklCurLay = hklLayouts[i]; } } if (dwMaxSymbols == dwTemp) - hklCurLay=GetKeyboardLayout(0); + hklCurLay = GetKeyboardLayout(0); return hklCurLay; } -int ChangeLayout(HWND hTextWnd,BYTE TextOperation,BOOL CurrentWord) +int ChangeLayout(HWND hTextWnd, BYTE TextOperation, BOOL CurrentWord) { HKL hklCurLay, hklToLay; - LPTSTR ptszInText,ptszOutText,ptszMBox,ptszPopupText,ptszTemp; + LPTSTR ptszInText, ptszOutText, ptszMBox, ptszPopupText, ptszTemp; IEVIEWEVENT ieEvent; - CHARRANGE crSelection,crTemp; - DWORD dwStartWord,dwEndWord; - int i,iRes; + CHARRANGE crSelection, crTemp; + DWORD dwStartWord, dwEndWord; + int i, iRes; - BYTE WindowType=WTYPE_Unknown; + BYTE WindowType = WTYPE_Unknown; BOOL WindowIsReadOnly, TwoWay; - EDITSTREAM esStream={0}; + EDITSTREAM esStream = {0}; struct EditStreamData esdData; POPUPDATAT pdtData; - esStream.dwCookie=(DWORD)&esdData; - esStream.pfnCallback=EditStreamOutRtf; + esStream.dwCookie = (DWORD)&esdData; + esStream.pfnCallback = EditStreamOutRtf; - if (hTextWnd==NULL) - hTextWnd=GetFocus(); - if (hTextWnd!=NULL) + if (hTextWnd == NULL) + hTextWnd = GetFocus(); + if (hTextWnd != NULL) { // --------------Определяем тип окна----------------- @@ -302,95 +301,95 @@ int ChangeLayout(HWND hTextWnd,BYTE TextOperation,BOOL CurrentWord) ieEvent.cbSize = sizeof(IEVIEWEVENT); ieEvent.dwFlags = 0; ieEvent.iType = IEE_GET_SELECTION; - //event.codepage=1200; + //event.codepage = 1200; #if !defined(_UNICODE) - ieEvent.dwFlags |= IEEF_NO_UNICODE; + ieEvent.dwFlags |= IEEF_NO_UNICODE; #endif if (ServiceExists(MS_HPP_EG_EVENT)) { //То же самое для History++ ieEvent.hwnd = hTextWnd; - ptszInText=(TCHAR*)CallService(MS_HPP_EG_EVENT, 0, (LPARAM)&ieEvent); + ptszInText = (TCHAR*)CallService(MS_HPP_EG_EVENT, 0, (LPARAM)&ieEvent); - if (!IsBadStringPtr(ptszInText,MaxTextSize)) WindowType=WTYPE_HistoryPP; + if (!IsBadStringPtr(ptszInText, MaxTextSize)) WindowType = WTYPE_HistoryPP; } - if ((WindowType==WTYPE_Unknown)&&(ServiceExists(MS_IEVIEW_EVENT))) + if ((WindowType == WTYPE_Unknown) && (ServiceExists(MS_IEVIEW_EVENT))) { // Извращенное определение хэндла IEView ieEvent.hwnd = GetParent(GetParent(hTextWnd)); - ptszInText=(TCHAR*)CallService(MS_IEVIEW_EVENT, 0, (LPARAM)&ieEvent); - if (!IsBadStringPtr(ptszInText,MaxTextSize)) WindowType=WTYPE_IEView; + ptszInText = (TCHAR*)CallService(MS_IEVIEW_EVENT, 0, (LPARAM)&ieEvent); + if (!IsBadStringPtr(ptszInText, MaxTextSize)) WindowType = WTYPE_IEView; } - if (WindowType==WTYPE_Unknown) + if (WindowType == WTYPE_Unknown) { - ptszTemp=(LPTSTR)mir_alloc(255*sizeof(TCHAR)); - i = GetClassName(hTextWnd,ptszTemp,255); + ptszTemp = (LPTSTR)mir_alloc(255*sizeof(TCHAR)); + i = GetClassName(hTextWnd, ptszTemp, 255); ptszTemp[i] = 0; - if (_tcsstr(CharUpper(ptszTemp),_T("RICHEDIT")) != NULL ) + if (_tcsstr(CharUpper(ptszTemp), _T("RICHEDIT")) != NULL ) { - WindowType=WTYPE_RichEdit; - SendMessage(hTextWnd,EM_EXGETSEL,0,(LPARAM)&crSelection); + WindowType = WTYPE_RichEdit; + SendMessage(hTextWnd, EM_EXGETSEL, 0, (LPARAM)&crSelection); } mir_free(ptszTemp); } - if (WindowType==WTYPE_Unknown) + if (WindowType == WTYPE_Unknown) { - SendMessage(hTextWnd,EM_GETSEL,(WPARAM)&crSelection.cpMin,(LPARAM)&crSelection.cpMax); - if ((SendMessage(hTextWnd,WM_GETDLGCODE,(WPARAM)NULL,(LPARAM)NULL)&(DLGC_HASSETSEL))&&(crSelection.cpMin>=0)) - WindowType=WTYPE_Edit; + SendMessage(hTextWnd, EM_GETSEL, (WPARAM)&crSelection.cpMin, (LPARAM)&crSelection.cpMax); + if ((SendMessage(hTextWnd, WM_GETDLGCODE, (WPARAM)NULL, (LPARAM)NULL)&(DLGC_HASSETSEL)) && (crSelection.cpMin>=0)) + WindowType = WTYPE_Edit; } //Получим текст из Рича или обычного Едита - if ((WindowType==WTYPE_RichEdit)||(WindowType==WTYPE_Edit)) + if ((WindowType == WTYPE_RichEdit)||(WindowType == WTYPE_Edit)) { - dwStartWord=dwEndWord=-1; - SendMessage(hTextWnd,WM_SETREDRAW,FALSE,0); + dwStartWord = dwEndWord = -1; + SendMessage(hTextWnd, WM_SETREDRAW, FALSE, 0); //Бэкап выделения - crTemp=crSelection; + crTemp = crSelection; // Если имеется выделенный текст, то получим его - if(crSelection.cpMin!=crSelection.cpMax) + if(crSelection.cpMin != crSelection.cpMax) { - if (WindowType==WTYPE_RichEdit) + if (WindowType == WTYPE_RichEdit) { ZeroMemory(&esdData, sizeof(esdData)); #if defined (_UNICODE) - if (SendMessage(hTextWnd,EM_STREAMOUT,SF_TEXT|SF_UNICODE|SFF_SELECTION,(LPARAM)&esStream)>0) + if (SendMessage(hTextWnd, EM_STREAMOUT, SF_TEXT|SF_UNICODE|SFF_SELECTION, (LPARAM)&esStream)>0) #else - if (SendMessage(hTextWnd,EM_STREAMOUT,SF_TEXT|SFF_SELECTION,(LPARAM)&esStream)>0) + if (SendMessage(hTextWnd, EM_STREAMOUT, SF_TEXT|SFF_SELECTION, (LPARAM)&esStream)>0) #endif - ptszInText=GeTStringFromStreamData(&esdData); + ptszInText = GeTStringFromStreamData(&esdData); else { - SendMessage(hTextWnd,EM_EXSETSEL,0,(LPARAM)&crSelection); - SendMessage(hTextWnd,WM_SETREDRAW,TRUE,0); + SendMessage(hTextWnd, EM_EXSETSEL, 0, (LPARAM)&crSelection); + SendMessage(hTextWnd, WM_SETREDRAW, TRUE, 0); InvalidateRect(hTextWnd, NULL, FALSE); return 1; } } - if (WindowType==WTYPE_Edit) + if (WindowType == WTYPE_Edit) { - ptszTemp=(LPTSTR)mir_alloc(MaxTextSize*sizeof(TCHAR)); - ptszInText=(LPTSTR)mir_alloc(MaxTextSize*sizeof(TCHAR)); - iRes=SendMessage(hTextWnd,WM_GETTEXT,(WPARAM)MaxTextSize,(LPARAM)ptszTemp); - if (!IsBadStringPtr(ptszInText,MaxTextSize)&&(iRes>0)) + ptszTemp = (LPTSTR)mir_alloc(MaxTextSize*sizeof(TCHAR)); + ptszInText = (LPTSTR)mir_alloc(MaxTextSize*sizeof(TCHAR)); + iRes = SendMessage(hTextWnd, WM_GETTEXT, (WPARAM)MaxTextSize, (LPARAM)ptszTemp); + if (!IsBadStringPtr(ptszInText, MaxTextSize) && (iRes>0)) { - _tcsncpy(ptszInText,&ptszTemp[crSelection.cpMin],crSelection.cpMax-crSelection.cpMin); - ptszInText[crSelection.cpMax-crSelection.cpMin]=0; + _tcsncpy(ptszInText, &ptszTemp[crSelection.cpMin], crSelection.cpMax-crSelection.cpMin); + ptszInText[crSelection.cpMax-crSelection.cpMin] = 0; mir_free(ptszTemp); } else { - SendMessage(hTextWnd,EM_EXSETSEL,0,(LPARAM)&crSelection); - SendMessage(hTextWnd,WM_SETREDRAW,TRUE,0); + SendMessage(hTextWnd, EM_EXSETSEL, 0, (LPARAM)&crSelection); + SendMessage(hTextWnd, WM_SETREDRAW, TRUE, 0); InvalidateRect(hTextWnd, NULL, FALSE); return 1; } @@ -400,40 +399,40 @@ int ChangeLayout(HWND hTextWnd,BYTE TextOperation,BOOL CurrentWord) else { // Получаем весь текст в поле - if (WindowType==WTYPE_RichEdit) + if (WindowType == WTYPE_RichEdit) { ZeroMemory(&esdData, sizeof(esdData)); - crTemp.cpMin=0; - crTemp.cpMax=-1; - SendMessage(hTextWnd,EM_EXSETSEL,0,(LPARAM)&crTemp); + crTemp.cpMin = 0; + crTemp.cpMax = -1; + SendMessage(hTextWnd, EM_EXSETSEL, 0, (LPARAM)&crTemp); #if defined (_UNICODE) - if (SendMessage(hTextWnd,EM_STREAMOUT,SF_TEXT|SF_UNICODE|SFF_SELECTION,(LPARAM)&esStream)!=0) + if (SendMessage(hTextWnd, EM_STREAMOUT, SF_TEXT|SF_UNICODE|SFF_SELECTION, (LPARAM)&esStream) != 0) #else - if (SendMessage(hTextWnd,EM_STREAMOUT,SF_TEXT|SFF_SELECTION,(LPARAM)&esStream)!=0) + if (SendMessage(hTextWnd, EM_STREAMOUT, SF_TEXT|SFF_SELECTION, (LPARAM)&esStream) != 0) #endif - ptszInText=GeTStringFromStreamData(&esdData); + ptszInText = GeTStringFromStreamData(&esdData); else { - SendMessage(hTextWnd,EM_EXSETSEL,0,(LPARAM)&crSelection); - SendMessage(hTextWnd,WM_SETREDRAW,TRUE,0); + SendMessage(hTextWnd, EM_EXSETSEL, 0, (LPARAM)&crSelection); + SendMessage(hTextWnd, WM_SETREDRAW, TRUE, 0); InvalidateRect(hTextWnd, NULL, FALSE); return 1; } } - if (WindowType==WTYPE_Edit) + if (WindowType == WTYPE_Edit) { - ptszInText=(LPTSTR)mir_alloc(MaxTextSize*sizeof(TCHAR)); - iRes=SendMessage(hTextWnd,WM_GETTEXT,(WPARAM)MaxTextSize,(LPARAM)ptszInText); + ptszInText = (LPTSTR)mir_alloc(MaxTextSize*sizeof(TCHAR)); + iRes = SendMessage(hTextWnd, WM_GETTEXT, (WPARAM)MaxTextSize, (LPARAM)ptszInText); - if (!IsBadStringPtr(ptszInText,MaxTextSize)&&(iRes>0)) + if (!IsBadStringPtr(ptszInText, MaxTextSize) && (iRes>0)) { - crTemp.cpMin=0; - crTemp.cpMax=_tcslen(ptszInText); + crTemp.cpMin = 0; + crTemp.cpMax = (int)_tcslen(ptszInText); } else { - SendMessage(hTextWnd,EM_EXSETSEL,0,(LPARAM)&crSelection); - SendMessage(hTextWnd,WM_SETREDRAW,TRUE,0); + SendMessage(hTextWnd, EM_EXSETSEL, 0, (LPARAM)&crSelection); + SendMessage(hTextWnd, WM_SETREDRAW, TRUE, 0); InvalidateRect(hTextWnd, NULL, FALSE); return 1; } @@ -441,44 +440,44 @@ int ChangeLayout(HWND hTextWnd,BYTE TextOperation,BOOL CurrentWord) // Получаем текущее слово if (CurrentWord) { - for (dwStartWord=crSelection.cpMin;(dwStartWord>0)&&(_tcschr(ptszSeparators,ptszInText[dwStartWord-1])==NULL);dwStartWord--); - for (dwEndWord=crSelection.cpMin;(dwEndWord<(_tcslen(ptszInText)))&&(_tcschr(ptszSeparators,ptszInText[dwEndWord])==NULL);dwEndWord++); + for (dwStartWord = crSelection.cpMin;(dwStartWord>0) && (_tcschr(ptszSeparators, ptszInText[dwStartWord-1]) == NULL);dwStartWord--); + for (dwEndWord = crSelection.cpMin;(dwEndWord<(_tcslen(ptszInText))) && (_tcschr(ptszSeparators, ptszInText[dwEndWord]) == NULL);dwEndWord++); - crTemp.cpMin=dwStartWord; - crTemp.cpMax=dwEndWord; + crTemp.cpMin = dwStartWord; + crTemp.cpMax = dwEndWord; - if (WindowType==WTYPE_RichEdit) + if (WindowType == WTYPE_RichEdit) { - SendMessage(hTextWnd,EM_EXSETSEL,0,(LPARAM)&crTemp); + SendMessage(hTextWnd, EM_EXSETSEL, 0, (LPARAM)&crTemp); ZeroMemory(&esdData, sizeof(esdData)); #if defined (_UNICODE) - if (SendMessage(hTextWnd,EM_STREAMOUT,SF_TEXT|SF_UNICODE|SFF_SELECTION,(LPARAM)&esStream)!=0) + if (SendMessage(hTextWnd, EM_STREAMOUT, SF_TEXT|SF_UNICODE|SFF_SELECTION, (LPARAM)&esStream) != 0) #else - if (SendMessage(hTextWnd,EM_STREAMOUT,SF_TEXT|SFF_SELECTION,(LPARAM)&esStream)!=0) + if (SendMessage(hTextWnd, EM_STREAMOUT, SF_TEXT|SFF_SELECTION, (LPARAM)&esStream) != 0) #endif - ptszInText=GeTStringFromStreamData(&esdData); + ptszInText = GeTStringFromStreamData(&esdData); else { - SendMessage(hTextWnd,EM_EXSETSEL,0,(LPARAM)&crSelection); - SendMessage(hTextWnd,WM_SETREDRAW,TRUE,0); + SendMessage(hTextWnd, EM_EXSETSEL, 0, (LPARAM)&crSelection); + SendMessage(hTextWnd, WM_SETREDRAW, TRUE, 0); InvalidateRect(hTextWnd, NULL, FALSE); return 1; } } - if (WindowType==WTYPE_Edit) + if (WindowType == WTYPE_Edit) { - ptszTemp=(LPTSTR)mir_alloc(MaxTextSize*sizeof(TCHAR)); - _tcsncpy(ptszTemp,&ptszInText[crTemp.cpMin],crTemp.cpMax-crTemp.cpMin); - ptszTemp[crTemp.cpMax-crTemp.cpMin]=0; - _tcscpy(ptszInText,ptszTemp); + ptszTemp = (LPTSTR)mir_alloc(MaxTextSize*sizeof(TCHAR)); + _tcsncpy(ptszTemp, &ptszInText[crTemp.cpMin], crTemp.cpMax-crTemp.cpMin); + ptszTemp[crTemp.cpMax-crTemp.cpMin] = 0; + _tcscpy(ptszInText, ptszTemp); mir_free(ptszTemp); - if (_tcslen(ptszInText)==0) + if (_tcslen(ptszInText) == 0) { mir_free(ptszInText); - SendMessage(hTextWnd,EM_EXSETSEL,0,(LPARAM)&crSelection); - SendMessage(hTextWnd,WM_SETREDRAW,TRUE,0); + SendMessage(hTextWnd, EM_EXSETSEL, 0, (LPARAM)&crSelection); + SendMessage(hTextWnd, WM_SETREDRAW, TRUE, 0); InvalidateRect(hTextWnd, NULL, FALSE); return 1; } @@ -487,65 +486,65 @@ int ChangeLayout(HWND hTextWnd,BYTE TextOperation,BOOL CurrentWord) } } // ---------------Выдаем результаты-------------------- - WindowIsReadOnly=FALSE; - if ((WindowType==WTYPE_IEView)||(WindowType==WTYPE_HistoryPP)) WindowIsReadOnly=TRUE; + WindowIsReadOnly = FALSE; + if ((WindowType == WTYPE_IEView)||(WindowType == WTYPE_HistoryPP)) WindowIsReadOnly = TRUE; - //if ((SendMessage(hTextWnd,EM_GETOPTIONS,0,0)&ECO_READONLY)) - if ((WindowType==WTYPE_RichEdit)||(WindowType==WTYPE_Edit)) - if (GetWindowLongPtr(hTextWnd,GWL_STYLE)&ES_READONLY) - WindowIsReadOnly=TRUE; + //if ((SendMessage(hTextWnd, EM_GETOPTIONS, 0, 0)&ECO_READONLY)) + if ((WindowType == WTYPE_RichEdit)||(WindowType == WTYPE_Edit)) + if (GetWindowLongPtr(hTextWnd, GWL_STYLE)&ES_READONLY) + WindowIsReadOnly = TRUE; // Лог Иевью и ХисториПП в режиме эмуляции Иевью и поля только для чтения. - if ((WindowType!=WTYPE_Unknown)&&(!IsBadStringPtr(ptszInText,MaxTextSize))) + if ((WindowType != WTYPE_Unknown) && (!IsBadStringPtr(ptszInText, MaxTextSize))) if (WindowIsReadOnly) { - ptszMBox=(LPTSTR)mir_alloc(MaxTextSize*sizeof(TCHAR)); - ptszMBox[0]=0; + ptszMBox = (LPTSTR)mir_alloc(MaxTextSize*sizeof(TCHAR)); + ptszMBox[0] = 0; - if (TextOperation==TOT_Layout) + if (TextOperation == TOT_Layout) { - hklCurLay=GetLayoutOfText(ptszInText); - hklToLay=GetNextLayout(hklCurLay); - TwoWay=(moOptions.TwoWay)&&(bLayNum==2); + hklCurLay = GetLayoutOfText(ptszInText); + hklToLay = GetNextLayout(hklCurLay); + TwoWay = (moOptions.TwoWay) && (bLayNum == 2); - if (bLayNum==2) + if (bLayNum == 2) { - ptszMBox=ChangeTextLayout(ptszInText,hklCurLay,hklToLay,TwoWay); + ptszMBox = ChangeTextLayout(ptszInText, hklCurLay, hklToLay, TwoWay); } else { - for (i=0;i