From cbd22101bcff041e598aba668412d0a4232b58e3 Mon Sep 17 00:00:00 2001 From: sje Date: Wed, 27 Jun 2007 17:05:05 +0000 Subject: git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@217 4f64403b-2f21-0410-a795-97e2b3489a10 --- MySpace/options.cpp | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 MySpace/options.cpp (limited to 'MySpace/options.cpp') diff --git a/MySpace/options.cpp b/MySpace/options.cpp new file mode 100644 index 0000000..0da55b7 --- /dev/null +++ b/MySpace/options.cpp @@ -0,0 +1,89 @@ +#include "common.h" +#include "options.h" +#include "resource.h" + +Options options = {0}; + +void LoadOptions() { + DBVARIANT dbv; + if(!DBGetContactSettingTString(0, MODULE, "email", &dbv)) { + _tcsncpy(options.email, dbv.ptszVal, 256); + DBFreeVariant(&dbv); + } + if(!DBGetContactSettingTString(0, MODULE, "pw", &dbv)) { + _tcsncpy(options.pw, dbv.ptszVal, 256); + DBFreeVariant(&dbv); + } +} + +void SaveOptions() { + DBWriteContactSettingTString(0, MODULE, "email", options.email); + DBWriteContactSettingTString(0, MODULE, "pw", options.pw); +} + +BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { + static HANDLE hItemAll; + + switch ( msg ) { + case WM_INITDIALOG: + TranslateDialogDefault( hwndDlg ); + SetDlgItemText(hwndDlg, IDC_ED_EMAIL, options.email); + SetDlgItemText(hwndDlg, IDC_ED_PW, options.pw); + return FALSE; + case WM_COMMAND: + if ( HIWORD( wParam ) == EN_CHANGE && ( HWND )lParam == GetFocus()) { + switch( LOWORD( wParam )) { + case IDC_ED_EMAIL: + case IDC_ED_PW: + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + } + break; + } + break; + case WM_NOTIFY: + switch(((LPNMHDR)lParam)->idFrom) { + case 0: + switch (((LPNMHDR)lParam)->code) + { + case PSN_APPLY: + GetDlgItemText(hwndDlg, IDC_ED_EMAIL, options.email, 256); + GetDlgItemText(hwndDlg, IDC_ED_PW, options.pw, 256); + + SaveOptions(); + } + break; + } + break; + } + + return 0; +} + +int OptInit(WPARAM wParam, LPARAM lParam) { + OPTIONSDIALOGPAGE odp = { 0 }; + odp.cbSize = sizeof(odp); + odp.flags = ODPF_BOLDGROUPS; + odp.flags |= ODPF_TCHAR; + odp.position = -790000000; + odp.hInstance = hInst; + + odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT1); + odp.ptszTitle = TranslateT(MODULE); + odp.ptszGroup = TranslateT("Network"); + odp.ptszTab = TranslateT("Account"); + odp.nIDBottomSimpleControl = 0; + odp.pfnDlgProc = DlgProcOpts; + CallService( MS_OPT_ADDPAGE, wParam,( LPARAM )&odp ); + + return 0; +} + +HANDLE hEventOptInit; +void InitOptions() { + hEventOptInit = HookEvent(ME_OPT_INITIALISE, OptInit); + LoadOptions(); +} + +void DeinitOptions() { + UnhookEvent(hEventOptInit); +} -- cgit v1.2.3