From 488214ac8af0c4aeb1a5c1d8fd48368daaf4c4c7 Mon Sep 17 00:00:00 2001 From: George Hazan <ghazan@miranda.im> Date: Mon, 12 Nov 2018 20:12:53 +0300 Subject: end of ME_OPT_INITIALISE related zoo in another plugins --- plugins/QuickContacts/src/dialog.cpp | 24 ++++++------ plugins/QuickContacts/src/options.cpp | 61 ++++++++++------------------- plugins/QuickContacts/src/options.h | 9 +---- plugins/QuickContacts/src/quickcontacts.cpp | 26 +++++------- 4 files changed, 42 insertions(+), 78 deletions(-) (limited to 'plugins/QuickContacts') diff --git a/plugins/QuickContacts/src/dialog.cpp b/plugins/QuickContacts/src/dialog.cpp index 0d6aecf812..ff03b01b4a 100644 --- a/plugins/QuickContacts/src/dialog.cpp +++ b/plugins/QuickContacts/src/dialog.cpp @@ -132,7 +132,7 @@ void LoadContacts(HWND hwndDlg, BOOL show_all) BOOL metacontactsEnabled = db_mc_isEnabled(); // Read last-sent-to contact from db and set handle as window-userdata - HANDLE hlastsent = (HANDLE)db_get_dw(NULL, MODULENAME, "LastSentTo", -1); + HANDLE hlastsent = (HANDLE)g_plugin.getDword("LastSentTo", -1); SetWindowLongPtr(hwndMain, GWLP_USERDATA, (LONG_PTR)hlastsent); // enumerate all contacts and write them to the array @@ -160,7 +160,7 @@ void LoadContacts(HWND hwndDlg, BOOL show_all) char setting[128]; mir_snprintf(setting, "ShowOffline%s", pszProto); - if (!db_get_b(NULL, MODULENAME, setting, FALSE)) + if (!g_plugin.getByte(setting, FALSE)) continue; // Check if proto offline @@ -179,7 +179,7 @@ void LoadContacts(HWND hwndDlg, BOOL show_all) char setting[128]; mir_snprintf(setting, "ShowOffline%s", META_PROTO); - if (db_get_b(NULL, MODULENAME, setting, FALSE)) + if (g_plugin.getByte(setting, FALSE)) continue; } } @@ -530,8 +530,8 @@ static INT_PTR CALLBACK MainDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA LoadContacts(hwndDlg, FALSE); EnableButtons(hwndDlg, NULL); - if (db_get_b(NULL, MODULENAME, "EnableLastSentTo", 0)) { - int pos = GetItemPos((MCONTACT)db_get_dw(NULL, MODULENAME, "LastSentTo", -1)); + if (g_plugin.getByte("EnableLastSentTo", 0)) { + int pos = GetItemPos(g_plugin.getDword("LastSentTo", -1)); if (pos != -1) { SendDlgItemMessage(hwndDlg, IDC_USERNAME, CB_SETCURSEL, (WPARAM)pos, 0); EnableButtons(hwndDlg, contacts[pos]->hcontact); @@ -559,7 +559,7 @@ static INT_PTR CALLBACK MainDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA Clist_ContactDoubleClicked(hContact); - db_set_dw(NULL, MODULENAME, "LastSentTo", hContact); + g_plugin.setDword("LastSentTo", hContact); SendMessage(hwndDlg, WM_CLOSE, 0, 0); } break; @@ -578,7 +578,7 @@ static INT_PTR CALLBACK MainDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA CallService(MS_MSG_SENDMESSAGEW, hContact, 0); - db_set_dw(NULL, MODULENAME, "LastSentTo", hContact); + g_plugin.setDword("LastSentTo", hContact); SendMessage(hwndDlg, WM_CLOSE, 0, 0); break; } @@ -599,7 +599,7 @@ static INT_PTR CALLBACK MainDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA CallService(MS_FILE_SENDFILE, hContact, 0); - db_set_dw(NULL, MODULENAME, "LastSentTo", hContact); + g_plugin.setDword("LastSentTo", hContact); SendMessage(hwndDlg, WM_CLOSE, 0, 0); } break; @@ -620,7 +620,7 @@ static INT_PTR CALLBACK MainDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA CallService(MS_URL_SENDURL, hContact, 0); - db_set_dw(NULL, MODULENAME, "LastSentTo", hContact); + g_plugin.setDword("LastSentTo", hContact); SendMessage(hwndDlg, WM_CLOSE, 0, 0); } break; @@ -641,7 +641,7 @@ static INT_PTR CALLBACK MainDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA CallService(MS_USERINFO_SHOWDIALOG, hContact, 0); - db_set_dw(NULL, MODULENAME, "LastSentTo", hContact); + g_plugin.setDword("LastSentTo", hContact); SendMessage(hwndDlg, WM_CLOSE, 0, 0); } break; @@ -662,7 +662,7 @@ static INT_PTR CALLBACK MainDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA CallService(MS_HISTORY_SHOWCONTACTHISTORY, hContact, 0); - db_set_dw(NULL, MODULENAME, "LastSentTo", hContact); + g_plugin.setDword("LastSentTo", hContact); SendMessage(hwndDlg, WM_CLOSE, 0, 0); } break; @@ -692,7 +692,7 @@ static INT_PTR CALLBACK MainDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA Clist_MenuProcessCommand(LOWORD(ret), MPCF_CONTACTMENU, hContact); } - db_set_dw(NULL, MODULENAME, "LastSentTo", (DWORD)hContact); + g_plugin.setDword("LastSentTo", (DWORD)hContact); } break; diff --git a/plugins/QuickContacts/src/options.cpp b/plugins/QuickContacts/src/options.cpp index e0b59efd5f..43cb95c914 100644 --- a/plugins/QuickContacts/src/options.cpp +++ b/plugins/QuickContacts/src/options.cpp @@ -22,54 +22,21 @@ Boston, MA 02111-1307, USA. // Prototypes ///////////////////////////////////////////////////////////////////////////////////// -HANDLE hOptHook = nullptr; - - Options opts; -static INT_PTR CALLBACK OptionsDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); - - - // Functions ////////////////////////////////////////////////////////////////////////////////////// - // Initializations needed by options void LoadOptions() { - opts.last_sent_enable = db_get_b(NULL, MODULENAME, "EnableLastSentTo", TRUE); - opts.last_sent_msg_type = db_get_w(NULL, MODULENAME, "MsgTypeRec", TYPE_GLOBAL); - opts.hide_from_offline_proto = db_get_b(NULL, MODULENAME, "HideOfflineFromOfflineProto", TRUE); - opts.group_append = db_get_b(NULL, MODULENAME, "AppendGroupName", FALSE); - opts.group_column = db_get_b(NULL, MODULENAME, "GroupColumn", FALSE); - opts.group_column_left = db_get_b(NULL, MODULENAME, "GroupColumnLeft", FALSE); - opts.hide_subcontacts = db_get_b(NULL, MODULENAME, "HideSubcontacts", TRUE); - opts.keep_subcontacts_from_offline = db_get_b(NULL, MODULENAME, "KeepSubcontactsFromOffline", TRUE); -} - -int InitOptionsCallback(WPARAM wParam, LPARAM) -{ - OPTIONSDIALOGPAGE odp = {}; - odp.szGroup.w = LPGENW("Contacts"); - odp.szTitle.w = LPGENW("Quick Contacts"); - odp.pfnDlgProc = OptionsDlgProc; - odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT); - odp.flags = ODPF_BOLDGROUPS | ODPF_UNICODE; - g_plugin.addOptions(wParam, &odp); - return 0; -} - -void InitOptions() -{ - LoadOptions(); - - hOptHook = HookEvent(ME_OPT_INITIALISE, InitOptionsCallback); -} - -// Deinitializations needed by options -void DeInitOptions() -{ - UnhookEvent(hOptHook); + opts.last_sent_enable = g_plugin.getByte("EnableLastSentTo", TRUE); + opts.last_sent_msg_type = g_plugin.getWord("MsgTypeRec", TYPE_GLOBAL); + opts.hide_from_offline_proto = g_plugin.getByte("HideOfflineFromOfflineProto", TRUE); + opts.group_append = g_plugin.getByte("AppendGroupName", FALSE); + opts.group_column = g_plugin.getByte("GroupColumn", FALSE); + opts.group_column_left = g_plugin.getByte("GroupColumnLeft", FALSE); + opts.hide_subcontacts = g_plugin.getByte("HideSubcontacts", TRUE); + opts.keep_subcontacts_from_offline = g_plugin.getByte("KeepSubcontactsFromOffline", TRUE); } // Options page @@ -130,3 +97,15 @@ static INT_PTR CALLBACK OptionsDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LP return ret; } + +int InitOptionsCallback(WPARAM wParam, LPARAM) +{ + OPTIONSDIALOGPAGE odp = {}; + odp.szGroup.w = LPGENW("Contacts"); + odp.szTitle.w = LPGENW("Quick Contacts"); + odp.pfnDlgProc = OptionsDlgProc; + odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT); + odp.flags = ODPF_BOLDGROUPS | ODPF_UNICODE; + g_plugin.addOptions(wParam, &odp); + return 0; +} diff --git a/plugins/QuickContacts/src/options.h b/plugins/QuickContacts/src/options.h index 9f9f5083c5..ca311b3b3d 100644 --- a/plugins/QuickContacts/src/options.h +++ b/plugins/QuickContacts/src/options.h @@ -43,17 +43,10 @@ extern Options opts; // Initializations needed by options -void InitOptions(); - -// Deinitializations needed by options -void DeInitOptions(); - +int InitOptionsCallback(WPARAM, LPARAM); // Loads the options from DB // It don't need to be called, except in some rare cases void LoadOptions(); - - - #endif // __OPTIONS_H__ diff --git a/plugins/QuickContacts/src/quickcontacts.cpp b/plugins/QuickContacts/src/quickcontacts.cpp index 99e8b69857..e6039dc83e 100644 --- a/plugins/QuickContacts/src/quickcontacts.cpp +++ b/plugins/QuickContacts/src/quickcontacts.cpp @@ -24,10 +24,6 @@ Boston, MA 02111-1307, USA. CMPlugin g_plugin; -HANDLE hModulesLoaded = nullptr; -HANDLE hEventAdded = nullptr; -HANDLE hHotkeyPressed = nullptr; - INT_PTR ShowDialog(WPARAM wParam, LPARAM lParam); void FreeContacts(); @@ -57,8 +53,6 @@ CMPlugin::CMPlugin() : static int ModulesLoaded(WPARAM, LPARAM) { - InitOptions(); - // Get number of protocols Proto_EnumAccounts(&opts.num_protos, nullptr); @@ -139,22 +133,25 @@ static int EventAdded(WPARAM wparam, LPARAM hDbEvent) DBEVENTINFO dbei = {}; db_event_get(hDbEvent, &dbei); if (!(dbei.flags & DBEF_SENT) || (dbei.flags & DBEF_READ) - || !db_get_b(NULL, MODULENAME, "EnableLastSentTo", 0) - || db_get_w(NULL, MODULENAME, "MsgTypeRec", TYPE_GLOBAL) != TYPE_GLOBAL) + || !g_plugin.getByte("EnableLastSentTo", 0) + || g_plugin.getWord("MsgTypeRec", TYPE_GLOBAL) != TYPE_GLOBAL) return 0; - db_set_dw(NULL, MODULENAME, "LastSentTo", (UINT_PTR)wparam); + g_plugin.setDword("LastSentTo", (UINT_PTR)wparam); return 0; } int CMPlugin::Load() { + LoadOptions(); + + // services CreateServiceFunction(MS_QC_SHOW_DIALOG, ShowDialog); // hooks - hModulesLoaded = HookEvent(ME_SYSTEM_MODULESLOADED, ModulesLoaded); - hEventAdded = HookEvent(ME_DB_EVENT_ADDED, EventAdded); - + HookEvent(ME_DB_EVENT_ADDED, EventAdded); + HookEvent(ME_OPT_INITIALISE, InitOptionsCallback); + HookEvent(ME_SYSTEM_MODULESLOADED, ModulesLoaded); return 0; } @@ -163,10 +160,5 @@ int CMPlugin::Load() int CMPlugin::Unload() { FreeContacts(); - - DeInitOptions(); - - UnhookEvent(hModulesLoaded); - UnhookEvent(hEventAdded); return 0; } -- cgit v1.2.3