From 57c87234383026f1f57a3044f0d934fc13ea9d0e Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 1 Jun 2012 21:37:18 +0000 Subject: - RecentContacts added; - _A2T & _T2A classes moved to m_utils.h git-svn-id: http://svn.miranda-ng.org/main/trunk@255 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/RecentContacts/options.cpp | 74 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 plugins/RecentContacts/options.cpp (limited to 'plugins/RecentContacts/options.cpp') diff --git a/plugins/RecentContacts/options.cpp b/plugins/RecentContacts/options.cpp new file mode 100644 index 0000000000..ad2b6e5359 --- /dev/null +++ b/plugins/RecentContacts/options.cpp @@ -0,0 +1,74 @@ +#include "RecentContacts.h" +#include "resource.h" + +extern HINSTANCE hInst; +void LoadDBSettings(); + +BOOL CALLBACK DlgProcOptions(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) +{ + char str[32]; + + switch (msg) { + case WM_INITDIALOG: + TranslateDialogDefault(hwndDlg); + CheckDlgButton(hwndDlg, IDC_HIDEOFFLINE, (LastUCOpt.HideOffline ? BST_CHECKED : BST_UNCHECKED)); + + mir_snprintf(str, SIZEOF(str), "%d", LastUCOpt.MaxShownContacts); + SetDlgItemTextA(hwndDlg, IDC_SHOWNCONTACTS, str); + + mir_snprintf(str, SIZEOF(str), "%s", LastUCOpt.DateTimeFormat.c_str()); + SetDlgItemTextA(hwndDlg, IDC_DATETIME, str); + + SetWindowLong(hwndDlg,GWL_USERDATA,lParam); + return TRUE; + + case WM_COMMAND: + switch(HIWORD(wParam)) { + case EN_CHANGE: + case BN_CLICKED: + case CBN_EDITCHANGE: + case CBN_SELCHANGE: + SendMessage(GetParent(hwndDlg),PSM_CHANGED,0,0); + } + break; + + case WM_NOTIFY: + { + LPNMHDR phdr = (LPNMHDR)(lParam); + if (phdr->idFrom == 0 && phdr->code == PSN_APPLY) { + BOOL bSuccess = FALSE; + + LastUCOpt.HideOffline = (BOOL)IsDlgButtonChecked(hwndDlg, IDC_HIDEOFFLINE); + DBWriteContactSettingByte(NULL, dbLastUC_ModuleName, dbLastUC_HideOfflineContacts, (BYTE)LastUCOpt.HideOffline); + + GetDlgItemTextA(hwndDlg, IDC_SHOWNCONTACTS, str, SIZEOF(str)); + LastUCOpt.MaxShownContacts= atoi(str); + DBWriteContactSettingByte(0,dbLastUC_ModuleName, dbLastUC_MaxShownContacts, LastUCOpt.MaxShownContacts); + + GetDlgItemTextA(hwndDlg, IDC_DATETIME, str, SIZEOF(str)); + DBWriteContactSettingString(0,dbLastUC_ModuleName, dbLastUC_DateTimeFormat, str ); + + LoadDBSettings(); + return TRUE; + } + break; + } + } + return FALSE; +} + +int onOptInitialise(WPARAM wParam, LPARAM lParam) +{ + OPTIONSDIALOGPAGE odp = { 0 }; + odp.cbSize = sizeof(odp); + odp.position = 0; + odp.hInstance = hInst; + odp.pszGroup = "Contact List"; + odp.pszTemplate = MAKEINTRESOURCEA(IDD_LASTUC_OPT); + odp.pszTitle = Translate(msLastUC_ShowListName); + odp.pfnDlgProc = DlgProcOptions; + odp.flags = ODPF_BOLDGROUPS; + CallService(MS_OPT_ADDPAGE, wParam, (LPARAM) &odp); + + return 0; +} -- cgit v1.2.3