summaryrefslogtreecommitdiff
path: root/plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2018-06-10 14:03:24 +0300
committerGeorge Hazan <ghazan@miranda.im>2018-06-10 14:03:24 +0300
commit527c89ab4ce37f593a58c74675c44b829a0603c1 (patch)
treeb0d41f19d7e57d13315b327675a3342ffc9189b5 /plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp
parent5dcc5f9ff7be79500caacea1ca581981c3430f6a (diff)
AAA:
- added ability to react to terminal session disconnection; - options dialog rework; - version bump
Diffstat (limited to 'plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp')
-rw-r--r--plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp23
1 files changed, 18 insertions, 5 deletions
diff --git a/plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp b/plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp
index c2ad74929f..bd96bccb30 100644
--- a/plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp
+++ b/plugins/StatusManager/src/AdvancedAutoAway/aaa_options.cpp
@@ -49,14 +49,19 @@ static int WriteAutoAwaySetting(SMProto &autoAwaySetting, char *protoName)
static void SetDialogItems(HWND hwndDlg, SMProto *setting)
{
- bool bIsTimed = (setting->optionFlags & FLAG_ONMOUSE) != 0;
bool bSetNA = (setting->optionFlags & FLAG_SETNA) != 0;
+
+ bool bIsTimed = (setting->optionFlags & FLAG_ONMOUSE) != 0;
bool bSaver = (setting->optionFlags & FLAG_ONSAVER) != 0;
bool bFullScr = (setting->optionFlags & FLAG_FULLSCREEN) != 0;
+ bool bOnLock = (setting->optionFlags & FLAG_ONLOCK) != 0;
+ bool bOnTS = (setting->optionFlags & FLAG_ONTS) != 0;
+ bool bAnyOption = bIsTimed | bSaver | bFullScr | bOnLock | bOnTS;
CheckDlgButton(hwndDlg, IDC_FULLSCREEN, bFullScr ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_SCREENSAVE, bSaver ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_ONLOCK, (setting->optionFlags & FLAG_ONLOCK) != 0 ? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton(hwndDlg, IDC_ONTSDISCONNECT, bOnTS ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_TIMED, bIsTimed ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_SETNA, bSetNA ? BST_CHECKED : BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_CONFIRM, (setting->optionFlags & FLAG_CONFIRM) != 0 ? BST_CHECKED : BST_UNCHECKED);
@@ -72,14 +77,17 @@ static void SetDialogItems(HWND hwndDlg, SMProto *setting)
EnableWindow(GetDlgItem(hwndDlg, IDC_MONITORMIRANDA), bIsTimed);
EnableWindow(GetDlgItem(hwndDlg, IDC_AWAYTIME), bIsTimed);
EnableWindow(GetDlgItem(hwndDlg, IDC_LV1AFTERSTR), bIsTimed);
- EnableWindow(GetDlgItem(hwndDlg, IDC_LV1STATUS), bIsTimed || bSaver || bFullScr);
- EnableWindow(GetDlgItem(hwndDlg, IDC_STATUSLIST), bIsTimed || bSaver || bFullScr);
- EnableWindow(GetDlgItem(hwndDlg, IDC_RESETSTATUS), (bIsTimed || bSaver || bFullScr) && IsDlgButtonChecked(hwndDlg, IDC_LV2ONINACTIVE));
- EnableWindow(GetDlgItem(hwndDlg, IDC_CONFIRM), (bIsTimed || bSaver || bFullScr) && IsDlgButtonChecked(hwndDlg, IDC_LV2ONINACTIVE) && IsDlgButtonChecked(hwndDlg, IDC_RESETSTATUS));
+
+ EnableWindow(GetDlgItem(hwndDlg, IDC_LV1STATUS), bAnyOption);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_STATUSLIST), bAnyOption);
+ EnableWindow(GetDlgItem(hwndDlg, IDC_RESETSTATUS), bAnyOption && IsDlgButtonChecked(hwndDlg, IDC_LV2ONINACTIVE));
+ EnableWindow(GetDlgItem(hwndDlg, IDC_CONFIRM), bAnyOption && IsDlgButtonChecked(hwndDlg, IDC_LV2ONINACTIVE) && IsDlgButtonChecked(hwndDlg, IDC_RESETSTATUS));
+
EnableWindow(GetDlgItem(hwndDlg, IDC_NATIME), bSetNA && bIsTimed);
EnableWindow(GetDlgItem(hwndDlg, IDC_SETNASTR), bSetNA && bIsTimed);
EnableWindow(GetDlgItem(hwndDlg, IDC_SETNASTR), bSetNA && bIsTimed);
EnableWindow(GetDlgItem(hwndDlg, IDC_LV2STATUS), bSetNA && bIsTimed);
+
EnableWindow(GetDlgItem(hwndDlg, IDC_PROTOCOL), !bSettingSame);
}
@@ -248,6 +256,11 @@ static INT_PTR CALLBACK DlgProcAutoAwayRulesOpts(HWND hwndDlg, UINT msg, WPARAM
SetDialogItems(hwndDlg, setting);
break;
+ case IDC_ONTSDISCONNECT:
+ setting->optionFlags ^= FLAG_ONTS;
+ SetDialogItems(hwndDlg, setting);
+ break;
+
case IDC_TIMED:
setting->optionFlags ^= FLAG_ONMOUSE;
SetDialogItems(hwndDlg, setting);