diff options
Diffstat (limited to 'MySpace/options.cpp')
-rw-r--r-- | MySpace/options.cpp | 89 |
1 files changed, 89 insertions, 0 deletions
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);
+}
|