From 88e6efae0b8867f14d59561f6503bfc41eb0d4d3 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Thu, 12 Dec 2013 08:33:21 +0000 Subject: MagneticWindows moved to deprecated git-svn-id: http://svn.miranda-ng.org/main/trunk@7134 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- .../!Deprecated/MagneticWindows/src/Options.cpp | 96 ++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 plugins/!Deprecated/MagneticWindows/src/Options.cpp (limited to 'plugins/!Deprecated/MagneticWindows/src/Options.cpp') diff --git a/plugins/!Deprecated/MagneticWindows/src/Options.cpp b/plugins/!Deprecated/MagneticWindows/src/Options.cpp new file mode 100644 index 0000000000..6729e33861 --- /dev/null +++ b/plugins/!Deprecated/MagneticWindows/src/Options.cpp @@ -0,0 +1,96 @@ +#include "MagneticWindowsCore.h" + +TOptions Options = { + true, + cDefaultSnapWidth, + false +}; + +INT_PTR CALLBACK OptionsDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) +{ + TCHAR str[64]; + + switch (msg) { + case WM_INITDIALOG: + TranslateDialogDefault(hwndDlg); + + CheckDlgButton(hwndDlg, IDC_CHK_SNAP, Options.DoSnap?BST_CHECKED:BST_UNCHECKED); + SendDlgItemMessage(hwndDlg, IDC_SLIDER_SNAPWIDTH, TBM_SETRANGE, FALSE, MAKELONG(1,32)); + SendDlgItemMessage(hwndDlg, IDC_SLIDER_SNAPWIDTH, TBM_SETPOS, TRUE, Options.SnapWidth); + + mir_sntprintf(str, SIZEOF(str),TranslateT("%d pix"), Options.SnapWidth); + SetDlgItemText(hwndDlg, IDC_TXT_SNAPWIDTH, str); + + EnableWindow(GetDlgItem(hwndDlg, IDC_SLIDER_SNAPWIDTH), Options.DoSnap); + EnableWindow(GetDlgItem(hwndDlg, IDC_TXT_SNAPWIDTH), Options.DoSnap); + + CheckDlgButton(hwndDlg, IDC_CHK_SCRIVERWORKAROUND, Options.ScriverWorkAround?BST_CHECKED:BST_UNCHECKED); + break; + + case WM_HSCROLL: + mir_sntprintf(str, SIZEOF(str), TranslateT("%d pix"), SendDlgItemMessage(hwndDlg, IDC_SLIDER_SNAPWIDTH, TBM_GETPOS, 0, 0)); + SetDlgItemText(hwndDlg, IDC_TXT_SNAPWIDTH, str); + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; + + case WM_COMMAND: + switch( LOWORD(wParam)) { + case IDC_CHK_SNAP: + if (HIWORD(wParam) == BN_CLICKED) { + EnableWindow(GetDlgItem(hwndDlg, IDC_SLIDER_SNAPWIDTH), IsDlgButtonChecked(hwndDlg, IDC_CHK_SNAP)); + EnableWindow(GetDlgItem(hwndDlg, IDC_TXT_SNAPWIDTH), IsDlgButtonChecked(hwndDlg, IDC_CHK_SNAP)); + + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + } + break; + + case IDC_CHK_SCRIVERWORKAROUND: + if (HIWORD(wParam) == BN_CLICKED) + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; + } + break; + + case WM_NOTIFY: //Here we have pressed either the OK or the APPLY button. + switch(((LPNMHDR)lParam)->idFrom) { + case 0: + switch (((LPNMHDR)lParam)->code) { + case PSN_RESET: + LoadOptions(); + break; + + case PSN_APPLY: + Options.DoSnap = (IsDlgButtonChecked(hwndDlg, IDC_CHK_SNAP) == TRUE); + Options.SnapWidth = SendDlgItemMessage(hwndDlg, IDC_SLIDER_SNAPWIDTH, TBM_GETPOS, 0, 0); + Options.ScriverWorkAround = (IsDlgButtonChecked(hwndDlg, IDC_CHK_SCRIVERWORKAROUND) == TRUE); + + db_set_b(NULL, MODULE_NAME, "DoSnap", Options.DoSnap); + db_set_b(NULL, MODULE_NAME, "SnapWidth", Options.SnapWidth); + db_set_b(NULL, MODULE_NAME, "ScriverWorkAround", Options.ScriverWorkAround); + break; + } + } + break; + } + return 0; +} + +int InitOptions(WPARAM wParam, LPARAM) +{ + OPTIONSDIALOGPAGE Opt = { sizeof(Opt) }; + Opt.pfnDlgProc = OptionsDlgProc; + Opt.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_MAGNETICWINDOWS); + Opt.hInstance = hInst; + Opt.pszGroup = LPGEN("Customize"); + Opt.pszTitle = LPGEN("Magnetic Windows"); + Opt.flags = ODPF_BOLDGROUPS; + Options_AddPage(wParam, &Opt); + return 0; +} + +void LoadOptions() +{ + Options.DoSnap = db_get_b(NULL, MODULE_NAME, "DoSnap", 1) != 0; + Options.SnapWidth = db_get_b(NULL, MODULE_NAME, "SnapWidth", cDefaultSnapWidth); + Options.ScriverWorkAround = db_get_b(NULL, MODULE_NAME, "ScriverWorkAround", 0) != 0; +} -- cgit v1.2.3