summaryrefslogtreecommitdiff
path: root/message_notify/options.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'message_notify/options.cpp')
-rw-r--r--message_notify/options.cpp37
1 files changed, 35 insertions, 2 deletions
diff --git a/message_notify/options.cpp b/message_notify/options.cpp
index c2f42b7..cb2058c 100644
--- a/message_notify/options.cpp
+++ b/message_notify/options.cpp
@@ -66,8 +66,23 @@ static BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l
break;
};
}
- CheckDlgButton(hwndDlg, IDC_CHK_CLOSE, options.close_win ? TRUE : FALSE);
- CheckDlgButton(hwndDlg, IDC_CHK_MSG, options.show_msg ? TRUE : FALSE);
+
+ {
+ CheckDlgButton(hwndDlg, IDC_CHK_CLOSE, options.close_win ? TRUE : FALSE);
+ CheckDlgButton(hwndDlg, IDC_CHK_MSG, options.show_msg ? TRUE : FALSE);
+
+ CheckDlgButton(hwndDlg, IDC_CHK_SPEECH, (options.flags & MNNF_SPEAK));
+ if(options.flags & MNNF_POPUP) {
+ CheckDlgButton(hwndDlg, IDC_CHK_POPUPS, TRUE);
+ HWND hwnd = GetDlgItem(hwndDlg, IDC_CHK_CLOSE);
+ EnableWindow(hwndDlg, FALSE);
+ hwnd = GetDlgItem(hwndDlg, IDC_CHK_MSG);
+ EnableWindow(hwndDlg, FALSE);
+ } else {
+ CheckDlgButton(hwndDlg, IDC_CHK_POPUPS, FALSE);
+ }
+ }
+
return FALSE;
case WM_COMMAND:
@@ -93,6 +108,16 @@ static BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l
case IDC_CHK_TABS:
SendMessage( GetParent( hwndDlg ), PSM_CHANGED, 0, 0 );
return TRUE;
+ case IDC_CHK_POPUPS:
+ {
+ bool checked = IsDlgButtonChecked(hwndDlg, IDC_CHK_POPUPS) ? true : false;
+ HWND hwnd = GetDlgItem(hwndDlg, IDC_CHK_CLOSE);
+ EnableWindow(hwndDlg, checked ? TRUE : FALSE);
+ hwnd = GetDlgItem(hwndDlg, IDC_CHK_MSG);
+ EnableWindow(hwndDlg, checked ? TRUE : FALSE);
+ }
+ SendMessage( GetParent( hwndDlg ), PSM_CHANGED, 0, 0 );
+ return TRUE;
}
}
break;
@@ -124,6 +149,11 @@ static BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l
for(int i = 0; i < 9; i++)
options.disable_status[i] = (ListView_GetCheckState(GetDlgItem(hwndDlg, IDC_LST_STATUS), i) ? true : false);
+
+ options.flags = 0;
+ options.flags |= (IsDlgButtonChecked(hwndDlg, IDC_CHK_POPUPS) ? MNNF_POPUP : 0);
+ options.flags |= (IsDlgButtonChecked(hwndDlg, IDC_CHK_SPEECH) ? MNNF_SPEAK : 0);
+
SaveOptions();
if(options.notify_when == NOTIFY_NFORE)
@@ -172,6 +202,8 @@ void LoadOptions() {
sprintf(buff, "DisableStatus%d", i);
options.disable_status[i] = (DBGetContactSettingByte(0, MODULE, buff, 0) == 1);
}
+
+ options.flags = (int)DBGetContactSettingDword(0, MODULE, "Flags", MNNF_POPUP);
}
void SaveOptions() {
@@ -184,6 +216,7 @@ void SaveOptions() {
sprintf(buff, "DisableStatus%d", i);
DBWriteContactSettingByte(0, MODULE, buff, options.disable_status[i] ? 1 : 0);
}
+ DBWriteContactSettingDword(0, MODULE, "Flags", (DWORD)options.flags);
}