From 24472a77e5cf7619a284134d4eea7da8849b98ad Mon Sep 17 00:00:00 2001 From: sje Date: Mon, 29 Oct 2007 12:23:52 +0000 Subject: improved efficiency added speech support git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@372 4f64403b-2f21-0410-a795-97e2b3489a10 --- message_notify/options.cpp | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) (limited to 'message_notify/options.cpp') 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); } -- cgit v1.2.3