diff options
author | sje <sje@4f64403b-2f21-0410-a795-97e2b3489a10> | 2006-11-11 13:26:01 +0000 |
---|---|---|
committer | sje <sje@4f64403b-2f21-0410-a795-97e2b3489a10> | 2006-11-11 13:26:01 +0000 |
commit | 4e1b05db0379ee0bb6bdd146e575b6bdd5e42cf5 (patch) | |
tree | 8ec2a05bfd0ab75ec10e28496c636c1db05abf0c /message_notify | |
parent | d28d7257050561d9f9f9a39b4c2ddb233ac1ffaa (diff) |
added option to enable/disable message text in popup, made options page a little bigger
git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@40 4f64403b-2f21-0410-a795-97e2b3489a10
Diffstat (limited to 'message_notify')
-rw-r--r-- | message_notify/messagenotify.cpp | 26 | ||||
-rw-r--r-- | message_notify/options.cpp | 5 | ||||
-rw-r--r-- | message_notify/options.h | 1 | ||||
-rw-r--r-- | message_notify/popups.cpp | 26 | ||||
-rw-r--r-- | message_notify/resource.h | 2 | ||||
-rw-r--r-- | message_notify/resource.rc | 43 |
6 files changed, 51 insertions, 52 deletions
diff --git a/message_notify/messagenotify.cpp b/message_notify/messagenotify.cpp index 69595b2..ccf1b47 100644 --- a/message_notify/messagenotify.cpp +++ b/message_notify/messagenotify.cpp @@ -26,7 +26,7 @@ DWORD focusTimerId = 0; PLUGININFO pluginInfo={
sizeof(PLUGININFO),
"Message Notify",
- PLUGIN_MAKE_VERSION(0,1,1,1),
+ PLUGIN_MAKE_VERSION(0,1,2,0),
"Show a popup when a message is received",
"Scott Ellis",
"mail@scottellis.com.au",
@@ -195,15 +195,20 @@ unsigned int __stdcall sttCheckWindowProc( VOID *dwParam ) { MultiByteToWideChar(code_page, 0, (char *) cd->blob, -1, msg, size);
ShowPopupW(cd->hContact, swzContactDisplayName, msg);
free(msg);
+ } else { // no message
+ ShowPopupW(cd->hContact, swzContactDisplayName, 0);
}
if(!unicode_system) free(swzContactDisplayName);
} else {
char *szCDN = (char *) CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM)cd->hContact, 0);
if(szCDN && szCDN[0]) {
- char msg[MAX_SECONDLINE];
- strncpy(msg, (char *)cd->blob, MAX_SECONDLINE - 1);
- msg[MAX_SECONDLINE - 1] = 0;
- ShowPopup(cd->hContact, szCDN, (char *)msg);
+ if(cd->blobsize) {
+ char msg[MAX_SECONDLINE];
+ strncpy(msg, (char *)cd->blob, MAX_SECONDLINE - 1);
+ msg[MAX_SECONDLINE - 1] = 0;
+ ShowPopup(cd->hContact, szCDN, (char *)msg);
+ } else
+ ShowPopup(cd->hContact, szCDN, 0);
}
}
}
@@ -239,12 +244,15 @@ int OnDatabaseEventPreAdd(WPARAM wParam, LPARAM lParam) { return 0; // just to be safe
- // copy blob data
CheckWindowData *cd = new CheckWindowData;
cd->hContact = (HANDLE)wParam;
- cd->blobsize = dbei->cbBlob;
- cd->blob = new BYTE[cd->blobsize];
- memcpy(cd->blob, dbei->pBlob, cd->blobsize);
+ if(options.show_msg) {
+ // copy blob data
+ cd->blobsize = dbei->cbBlob;
+ cd->blob = new BYTE[cd->blobsize];
+ memcpy(cd->blob, dbei->pBlob, cd->blobsize);
+ } else
+ cd->blobsize = 0;
// spawn a thread to deal with the copied data
CloseHandle((HANDLE)_beginthreadex(0, 0, sttCheckWindowProc, (VOID *)cd, 0, 0));
diff --git a/message_notify/options.cpp b/message_notify/options.cpp index 9460843..8b7a40c 100644 --- a/message_notify/options.cpp +++ b/message_notify/options.cpp @@ -67,6 +67,7 @@ static BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l };
}
CheckDlgButton(hwndDlg, IDC_CHK_CLOSE, options.close_win ? TRUE : FALSE);
+ CheckDlgButton(hwndDlg, IDC_CHK_MSG, options.show_msg ? TRUE : FALSE);
if(options.timeout == -1) {
CheckDlgButton(hwndDlg, IDC_CHK_SETTIMEOUT, FALSE);
SetDlgItemInt(hwndDlg, IDC_ED_TIMEOUT, 0, FALSE);
@@ -134,6 +135,7 @@ static BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l }
SendMessage( GetParent( hwndDlg ), PSM_CHANGED, 0, 0 );
return TRUE;
+ case IDC_CHK_MSG:
case IDC_CHK_CLOSE:
case IDC_CHK_TABS:
SendMessage( GetParent( hwndDlg ), PSM_CHANGED, 0, 0 );
@@ -165,6 +167,7 @@ static BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l else
options.notify_when = NOTIFY_ALWAYS;
options.close_win = IsDlgButtonChecked(hwndDlg, IDC_CHK_CLOSE) ? true : false;
+ options.show_msg = IsDlgButtonChecked(hwndDlg, IDC_CHK_MSG) ? true : false;
if(IsDlgButtonChecked(hwndDlg, IDC_CHK_SETTIMEOUT)) {
BOOL trans;
@@ -224,6 +227,7 @@ void LoadOptions() { options.textCol = (COLORREF)DBGetContactSettingDword(0, MODULE, "TextColour", (DWORD)0x000000);
options.consider_tabs = (DBGetContactSettingByte(0, MODULE, "ConsiderTabs", 1) == 1);
options.close_win = (DBGetContactSettingByte(0, MODULE, "CloseWin", 0) == 1);
+ options.show_msg = (DBGetContactSettingByte(0, MODULE, "ShowMsg", 1) == 1);
char buff[128];
for(int i = 0; i < 9; i++) {
@@ -240,6 +244,7 @@ void SaveOptions() { DBWriteContactSettingDword(0, MODULE, "TextColour", (DWORD)options.textCol);
DBWriteContactSettingByte(0, MODULE, "ConsiderTabs", options.consider_tabs ? 1 : 0);
DBWriteContactSettingByte(0, MODULE, "CloseWin", options.close_win ? 1 : 0);
+ DBWriteContactSettingByte(0, MODULE, "ShowMsg", options.show_msg ? 1 : 0);
char buff[128];
for(int i = 0; i < 9; i++) {
sprintf(buff, "DisableStatus%d", i);
diff --git a/message_notify/options.h b/message_notify/options.h index 75f1c88..5449b48 100644 --- a/message_notify/options.h +++ b/message_notify/options.h @@ -25,6 +25,7 @@ typedef struct Options_tag { bool consider_tabs;
bool close_win;
bool disable_status[9];
+ bool show_msg;
} Options;
extern Options options;
diff --git a/message_notify/popups.cpp b/message_notify/popups.cpp index 1a40583..83a40b9 100644 --- a/message_notify/popups.cpp +++ b/message_notify/popups.cpp @@ -146,17 +146,8 @@ void ShowPopup( HANDLE hContact, const char* line1, const char* line2, int flags ppd->lchIcon = hPopupIcon;
- if(line1 && line2) {
- strncpy( ppd->lpzContactName, line1, MAX_CONTACTNAME );
- strncpy( ppd->lpzText, line2, MAX_SECONDLINE );
- } else {
- if(line1) {
- strncpy( ppd->lpzText, line1, MAX_SECONDLINE );
- } else {
- if(line2)
- strncpy( ppd->lpzText, line2, MAX_SECONDLINE );
- }
- }
+ if(line1) strncpy( ppd->lpzContactName, line1, MAX_CONTACTNAME );
+ if(line2) strncpy( ppd->lpzText, line2, MAX_SECONDLINE );
if(options.set_colours) {
ppd->colorBack = options.bkCol;
@@ -205,17 +196,8 @@ void ShowPopupW( HANDLE hContact, const wchar_t* line1, const wchar_t* line2, in ppd->lchIcon = hPopupIcon;
- if(line1 && line2) {
- _tcsncpy( ppd->lpwzContactName, line1, MAX_CONTACTNAME );
- _tcsncpy( ppd->lpwzText, line2, MAX_SECONDLINE );
- } else {
- if(line1) {
- _tcsncpy( ppd->lpwzText, line1, MAX_SECONDLINE );
- } else {
- if(line2)
- _tcsncpy( ppd->lpwzText, line2, MAX_SECONDLINE );
- }
- }
+ if(line1) _tcsncpy( ppd->lpwzContactName, line1, MAX_CONTACTNAME );
+ if(line2) _tcsncpy( ppd->lpwzText, line2, MAX_SECONDLINE );
if(options.set_colours) {
ppd->colorBack = options.bkCol;
diff --git a/message_notify/resource.h b/message_notify/resource.h index d8de870..a20fa09 100644 --- a/message_notify/resource.h +++ b/message_notify/resource.h @@ -14,6 +14,8 @@ #define IDC_CP_TXT 1008
#define IDC_CHK_TABS 1009
#define IDC_CHK_CLOSE 1010
+#define IDC_CHK_CLOSE2 1011
+#define IDC_CHK_MSG 1011
#define IDC_LIST1 1012
#define IDC_LST_STATUS 1012
diff --git a/message_notify/resource.rc b/message_notify/resource.rc index 44b0fe0..78d0f9e 100644 --- a/message_notify/resource.rc +++ b/message_notify/resource.rc @@ -52,30 +52,31 @@ END // Dialog
//
-IDD_OPTIONS DIALOGEX 0, 0, 250, 196
+IDD_OPTIONS DIALOGEX 0, 0, 269, 210
STYLE DS_SETFONT | WS_CHILD
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
- GROUPBOX "Notification Options",IDC_STATIC,7,7,144,83
- CONTROL "Notify if window not open",IDC_RAD_CLOSED,"Button",BS_AUTORADIOBUTTON | WS_GROUP,10,20,136,10
+ GROUPBOX "Notification Options",IDC_STATIC,7,7,142,95
+ CONTROL "Notify if window not open",IDC_RAD_CLOSED,"Button",BS_AUTORADIOBUTTON | WS_GROUP,13,20,132,10
CONTROL "Notify if window isn't 'foreground'",IDC_RAD_NFORE,
- "Button",BS_AUTORADIOBUTTON,10,34,136,10
- CONTROL "Notify always",IDC_RAD_ALWAYS,"Button",BS_AUTORADIOBUTTON,10,59,136,10
- GROUPBOX "Timeout",IDC_STATIC,7,96,236,40
+ "Button",BS_AUTORADIOBUTTON,13,34,132,10
+ CONTROL "Notify always",IDC_RAD_ALWAYS,"Button",BS_AUTORADIOBUTTON,13,59,132,10
+ GROUPBOX "Timeout",IDC_STATIC,7,109,255,40
CONTROL "Set timeout (otherwise, infinite)",IDC_CHK_SETTIMEOUT,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,29,104,205,10
- RTEXT "Timeout (seconds, 0 == default):",IDC_STATIC,19,119,137,8
- EDITTEXT IDC_ED_TIMEOUT,168,117,29,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER
- GROUPBOX "Colours",IDC_STATIC,7,140,236,49
- CONTROL "Set popup colours",IDC_CHK_SETCOLOURS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,161,95,10
- RTEXT "Background:",IDC_STATIC,122,154,63,8
- RTEXT "Text:",IDC_STATIC,122,173,63,8
- CONTROL "Custom1",IDC_CP_BK,"ColourPicker",WS_TABSTOP,193,151,41,12
- CONTROL "Custom1",IDC_CP_TXT,"ColourPicker",WS_TABSTOP,193,171,41,12
- CONTROL "Consider tabs",IDC_CHK_TABS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,33,46,112,10
- CONTROL "Close window on right click",IDC_CHK_CLOSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,74,136,10
- GROUPBOX "Disable when",IDC_STATIC,157,7,86,83
- CONTROL "",IDC_LST_STATUS,"SysListView32",LVS_REPORT | LVS_NOLABELWRAP | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_TABSTOP,161,19,79,64,WS_EX_CLIENTEDGE
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,29,117,205,10
+ RTEXT "Timeout (seconds, 0 == default):",IDC_STATIC,19,132,137,8
+ EDITTEXT IDC_ED_TIMEOUT,168,130,29,12,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER
+ GROUPBOX "Colours",IDC_STATIC,7,154,255,49
+ CONTROL "Set popup colours",IDC_CHK_SETCOLOURS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,174,95,10
+ RTEXT "Background:",IDC_STATIC,122,167,63,8
+ RTEXT "Text:",IDC_STATIC,122,186,63,8
+ CONTROL "Custom1",IDC_CP_BK,"ColourPicker",WS_TABSTOP,193,164,41,12
+ CONTROL "Custom1",IDC_CP_TXT,"ColourPicker",WS_TABSTOP,193,184,41,12
+ CONTROL "Consider tabs",IDC_CHK_TABS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,29,46,112,10
+ CONTROL "Close window on right click",IDC_CHK_CLOSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,74,132,10
+ GROUPBOX "Disable when",IDC_STATIC,155,7,107,94
+ CONTROL "",IDC_LST_STATUS,"SysListView32",LVS_REPORT | LVS_NOLABELWRAP | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_TABSTOP,159,17,99,80,WS_EX_CLIENTEDGE
+ CONTROL "Include message text",IDC_CHK_MSG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,87,132,10
END
@@ -90,9 +91,9 @@ BEGIN IDD_OPTIONS, DIALOG
BEGIN
LEFTMARGIN, 7
- RIGHTMARGIN, 243
+ RIGHTMARGIN, 262
TOPMARGIN, 7
- BOTTOMMARGIN, 189
+ BOTTOMMARGIN, 203
END
END
#endif // APSTUDIO_INVOKED
|