diff options
Diffstat (limited to 'nohtml/options.cpp')
-rw-r--r-- | nohtml/options.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/nohtml/options.cpp b/nohtml/options.cpp new file mode 100644 index 0000000..3eb06ca --- /dev/null +++ b/nohtml/options.cpp @@ -0,0 +1,68 @@ +#include "common.h"
+#include "options.h"
+#include "resource.h"
+
+Options options;
+
+void LoadOptions() {
+ DBWriteContactSettingDword(0, MODULE, "BBCodes", options.bbcodes ? 1 : 0);
+}
+
+void SaveOptions() {
+ options.bbcodes = (DBGetContactSettingDword(0, MODULE, "BBCodes", 0) != 0);
+}
+
+BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
+ static HANDLE hItemAll;
+
+ switch ( msg ) {
+ case WM_INITDIALOG:
+ TranslateDialogDefault( hwndDlg );
+ return FALSE;
+ case WM_COMMAND:
+ break;
+ case WM_NOTIFY:
+ switch(((LPNMHDR)lParam)->idFrom) {
+ case 0:
+ switch (((LPNMHDR)lParam)->code)
+ {
+ case PSN_APPLY:
+ options.bbcodes = IsDlgButtonChecked(hwndDlg, IDC_CHK_BBCODES);
+ SaveOptions();
+ break;
+ }
+ 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("Plugins");
+ 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);
+}
|