From 067a48827e8bae1bc595f3268e18996314843396 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 17 May 2018 20:53:02 +0300 Subject: OpenFolder, PackUpdater, PasteIt, Ping, QuickMessages, QuickReplies, Sessions, TranslitSwitcher => CMPlugin --- plugins/QuickMessages/src/Utils.cpp | 2 +- plugins/QuickMessages/src/main.cpp | 55 ++++++++++++++++++----------------- plugins/QuickMessages/src/options.cpp | 4 +-- plugins/QuickMessages/src/stdafx.h | 9 ++++-- 4 files changed, 38 insertions(+), 32 deletions(-) (limited to 'plugins/QuickMessages') diff --git a/plugins/QuickMessages/src/Utils.cpp b/plugins/QuickMessages/src/Utils.cpp index 77a2cea691..1fa555b4c6 100644 --- a/plugins/QuickMessages/src/Utils.cpp +++ b/plugins/QuickMessages/src/Utils.cpp @@ -225,7 +225,7 @@ BYTE getEntryByte(int buttonnum, int entrynum, BOOL mode) static HANDLE AddIcon(char* szIcoName) { wchar_t tszPath[MAX_PATH]; - GetModuleFileName(hinstance, tszPath, _countof(tszPath)); + GetModuleFileName(g_plugin.getInst(), tszPath, _countof(tszPath)); SKINICONDESC sid = {}; sid.flags = SIDF_PATH_UNICODE; diff --git a/plugins/QuickMessages/src/main.cpp b/plugins/QuickMessages/src/main.cpp index cd9da5c4bc..8d6060fade 100644 --- a/plugins/QuickMessages/src/main.cpp +++ b/plugins/QuickMessages/src/main.cpp @@ -19,18 +19,21 @@ along with this program. If not, see . #include "stdafx.h" -HINSTANCE hinstance; int hLangpack; +CMPlugin g_plugin; WNDPROC mainProc; -int g_iButtonsCount=0; -int g_bStartup=0; -BOOL g_bRClickAuto=0; -BOOL g_bLClickAuto=0; -BOOL g_bQuickMenu=0; +int g_iButtonsCount = 0; +int g_bStartup = 0; +BOOL g_bRClickAuto = 0; +BOOL g_bLClickAuto = 0; +BOOL g_bQuickMenu = 0; -PLUGININFOEX pluginInfo = { +///////////////////////////////////////////////////////////////////////////////////////// + +PLUGININFOEX pluginInfo = +{ sizeof(PLUGININFOEX), __PLUGIN_NAME, PLUGIN_MAKE_VERSION(__MAJOR_VERSION, __MINOR_VERSION, __RELEASE_NUM, __BUILD_NUM), @@ -43,6 +46,13 @@ PLUGININFOEX pluginInfo = { { 0x37ed754b, 0x6cf9, 0x40ed, { 0x9e, 0xb6, 0xf, 0xef, 0x8e, 0x82, 0x24, 0x75 } } }; +extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD) +{ + return &pluginInfo; +} + +///////////////////////////////////////////////////////////////////////////////////////// + int PreShutdown(WPARAM, LPARAM) { DestructButtonsList(); @@ -101,7 +111,7 @@ static int InputMenuPopup(WPARAM, LPARAM lParam) textlenght = cr.cpMax - cr.cpMin; if (textlenght) { - pszText = (wchar_t *)mir_alloc((textlenght + 10)*sizeof(wchar_t)); + pszText = (wchar_t *)mir_alloc((textlenght + 10) * sizeof(wchar_t)); memset(pszText, 0, ((textlenght + 10) * sizeof(wchar_t))); SendMessage(mwpd->hwnd, EM_GETSELTEXT, 0, (LPARAM)pszText); } @@ -160,7 +170,7 @@ static int CustomButtonPressed(WPARAM, LPARAM lParam) UINT textlenght = cr.cpMax - cr.cpMin; if (textlenght) { - pszText = (wchar_t *)mir_alloc((textlenght + 10)*sizeof(wchar_t)); + pszText = (wchar_t *)mir_alloc((textlenght + 10) * sizeof(wchar_t)); memset(pszText, 0, ((textlenght + 10) * sizeof(wchar_t))); SendMessage(hEdit, EM_GETSELTEXT, 0, (LPARAM)pszText); } @@ -195,7 +205,7 @@ static int CustomButtonPressed(WPARAM, LPARAM lParam) case 3: if (!g_iButtonsCount) break; - + HMENU hMenu = CreatePopupMenu(), hSubMenu = nullptr; for (int menunum = 0; menunum < sl->realCount; menunum++) { @@ -216,8 +226,8 @@ static int CustomButtonPressed(WPARAM, LPARAM lParam) AppendMenu((HMENU)((hSubMenu && !bSetPopupMark) ? hSubMenu : hMenu), MF_SEPARATOR, 0, nullptr); else AppendMenu((HMENU)((hSubMenu && !bSetPopupMark) ? hSubMenu : hMenu), - MF_STRING | (bSetPopupMark ? MF_POPUP : 0), - (bSetPopupMark ? (UINT_PTR)hSubMenu : (menunum + 1)), bd->pszName); + MF_STRING | (bSetPopupMark ? MF_POPUP : 0), + (bSetPopupMark ? (UINT_PTR)hSubMenu : (menunum + 1)), bd->pszName); } int res = TrackPopupMenu(hMenu, TPM_RETURNCMD, cbcd->pt.x, cbcd->pt.y, 0, cbcd->hwndFrom, nullptr); @@ -267,27 +277,18 @@ static int PluginInit(WPARAM, LPARAM) return 0; } -extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD) +extern "C" __declspec(dllexport) int Load(void) { - return &pluginInfo; -} + mir_getLP(&pluginInfo); -extern "C" __declspec(dllexport) int Unload(void) -{ + HookEvent(ME_SYSTEM_MODULESLOADED, PluginInit); + HookEvent(ME_SYSTEM_PRESHUTDOWN, PreShutdown); return 0; } -BOOL WINAPI DllMain(HINSTANCE hinst, DWORD, LPVOID) -{ - hinstance = hinst; - return 1; -} +///////////////////////////////////////////////////////////////////////////////////////// -extern "C" __declspec(dllexport) int Load(void) +extern "C" __declspec(dllexport) int Unload(void) { - mir_getLP(&pluginInfo); - - HookEvent(ME_SYSTEM_MODULESLOADED, PluginInit); - HookEvent(ME_SYSTEM_PRESHUTDOWN, PreShutdown); return 0; } diff --git a/plugins/QuickMessages/src/options.cpp b/plugins/QuickMessages/src/options.cpp index a9799aa64d..22da0bf26b 100644 --- a/plugins/QuickMessages/src/options.cpp +++ b/plugins/QuickMessages/src/options.cpp @@ -920,7 +920,7 @@ INT_PTR CALLBACK OptionsProc(HWND hdlg, UINT msg, WPARAM wparam, LPARAM lparam) switch (LOWORD(wparam)) { case IDC_VARHELP: if (!g_varhelpDlg) - g_varhelpDlg = CreateDialog(hinstance, MAKEINTRESOURCE(IDD_HELPDIALOG), nullptr, HelpDlgProc); + g_varhelpDlg = CreateDialog(g_plugin.getInst(), MAKEINTRESOURCE(IDD_HELPDIALOG), nullptr, HelpDlgProc); else //ShowWindow(g_varhelpDlg,SW_SHOWDEFAULT); SetWindowPos(g_varhelpDlg, nullptr, 0, 0, 0, 0, SWP_SHOWWINDOW | SWP_NOMOVE | SWP_NOSIZE); @@ -1085,7 +1085,7 @@ int OptionsInit(WPARAM wparam, LPARAM) { OPTIONSDIALOGPAGE odp = { 0 }; odp.position = 940000000; - odp.hInstance = hinstance; + odp.hInstance = g_plugin.getInst(); odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPTIONS); odp.szTitle.a = LPGEN("Quick Messages"); odp.pfnDlgProc = OptionsProc; diff --git a/plugins/QuickMessages/src/stdafx.h b/plugins/QuickMessages/src/stdafx.h index 4672bdb74c..f41f46e448 100644 --- a/plugins/QuickMessages/src/stdafx.h +++ b/plugins/QuickMessages/src/stdafx.h @@ -25,7 +25,6 @@ along with this program. If not, see . #include #include -#define __NO_CMPLUGIN_NEEDED #include #include #include @@ -44,7 +43,13 @@ along with this program. If not, see . #define PLGNAME "QuickMessages" -extern HINSTANCE hinstance; +struct CMPlugin : public PLUGIN +{ + CMPlugin() : + PLUGIN(PLGNAME) + {} +}; + extern HANDLE hIcolib; extern ListData *ButtonsList[100]; extern SortedList *QuickList; -- cgit v1.2.3