From 37be3cf3d8e43198e577a85a6f2c6e12e8dd59db Mon Sep 17 00:00:00 2001 From: sje Date: Sun, 8 Jul 2007 17:27:12 +0000 Subject: added profile comment and friend request notifications git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@260 4f64403b-2f21-0410-a795-97e2b3489a10 --- MySpace/notifications.cpp | 220 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 MySpace/notifications.cpp (limited to 'MySpace/notifications.cpp') diff --git a/MySpace/notifications.cpp b/MySpace/notifications.cpp new file mode 100644 index 0000000..3e01416 --- /dev/null +++ b/MySpace/notifications.cpp @@ -0,0 +1,220 @@ +#include "common.h" +#include "notifications.h" +#include "resource.h" + +HWND hWndMailPopup = 0, hWndBlogPopup = 0; + +LRESULT CALLBACK MailPopupWindowProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) +{ + switch( message ) { + case UM_INITPOPUP: + hWndMailPopup = hWnd; + break; + + case WM_COMMAND: + CallService(MS_UTILS_OPENURL, (WPARAM)TRUE, (LPARAM)"http://messaging.myspace.com/index.cfm?fuseaction=mail.inbox"); + + hWndMailPopup = 0; + PUDeletePopUp( hWnd ); + return TRUE; + + case WM_CONTEXTMENU: + + hWndMailPopup = 0; + PUDeletePopUp( hWnd ); + return TRUE; + + case UM_FREEPLUGINDATA: + { + HICON hIcon = (HICON)PUGetPluginData(hWnd); + DestroyIcon(hIcon); + } + return TRUE; + } + + return DefWindowProc(hWnd, message, wParam, lParam); +} + + +void NotifyMail() { + if (!ServiceExists( MS_POPUP_ADDPOPUPT)) return; + if(hWndMailPopup) return; + + POPUPDATAT ppd = {0}; + TCHAR wproto[256]; +#ifndef _UNICODE + strncpy(wproto, MODULE, 256); +#else + MultiByteToWideChar(code_page, 0, MODULE, -1, wproto, 256); +#endif + + _tcsncpy(ppd.lptzContactName, wproto, 256); + _tcscpy(ppd.lptzText, TranslateT("You have unread mail")); + ppd.lchIcon = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_MYSPACE), IMAGE_ICON, SM_CXSMICON, SM_CYSMICON, 0); + ppd.PluginWindowProc = ( WNDPROC )MailPopupWindowProc; + ppd.PluginData = ppd.lchIcon; + ppd.iSeconds = -1; + + PUAddPopUpT(&ppd); +} + + +LRESULT CALLBACK BlogCommentPopupWindowProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) +{ + switch( message ) { + case UM_INITPOPUP: + hWndBlogPopup = hWnd; + break; + case WM_COMMAND: + CallService(MS_UTILS_OPENURL, (WPARAM)TRUE, (LPARAM)"http://blog.myspace.com/index.cfm?fuseaction=blog"); + + hWndBlogPopup = 0; + PUDeletePopUp( hWnd ); + return TRUE; + + case WM_CONTEXTMENU: + hWndBlogPopup = 0; + PUDeletePopUp( hWnd ); + return TRUE; + + case UM_FREEPLUGINDATA: + { + HICON hIcon = (HICON)PUGetPluginData(hWnd); + DestroyIcon(hIcon); + } + return TRUE; + } + + return DefWindowProc(hWnd, message, wParam, lParam); +} + +void NotifyBlogComment() { + + if (!ServiceExists( MS_POPUP_ADDPOPUPT)) return; + if(hWndBlogPopup) return; + + POPUPDATAT ppd = {0}; + TCHAR wproto[256]; +#ifndef _UNICODE + strncpy(wproto, MODULE, 256); +#else + MultiByteToWideChar(code_page, 0, MODULE, -1, wproto, 256); +#endif + + _tcsncpy(ppd.lptzContactName, wproto, 256); + _tcscpy(ppd.lptzText, TranslateT("You have unread blog comments")); + ppd.lchIcon = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_MYSPACE), IMAGE_ICON, SM_CXSMICON, SM_CYSMICON, 0); + ppd.PluginWindowProc = ( WNDPROC )BlogCommentPopupWindowProc; + ppd.PluginData = ppd.lchIcon; + ppd.iSeconds = -1; + + PUAddPopUpT(&ppd); +} + +LRESULT CALLBACK ProfileCommentPopupWindowProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) +{ + switch( message ) { + case UM_INITPOPUP: + hWndBlogPopup = hWnd; + break; + case WM_COMMAND: + { + char url[1024]; + mir_snprintf(url, 1024, "http://comment.myspace.com/index.cfm?fuseaction=user.viewComments&friendID=%d", DBGetContactSettingDword(0, MODULE, "UID", 0)); + CallService(MS_UTILS_OPENURL, (WPARAM)TRUE, (LPARAM)url); + } + + hWndBlogPopup = 0; + PUDeletePopUp( hWnd ); + return TRUE; + + case WM_CONTEXTMENU: + hWndBlogPopup = 0; + PUDeletePopUp( hWnd ); + return TRUE; + + case UM_FREEPLUGINDATA: + { + HICON hIcon = (HICON)PUGetPluginData(hWnd); + DestroyIcon(hIcon); + } + return TRUE; + } + + return DefWindowProc(hWnd, message, wParam, lParam); +} + +void NotifyProfileComment() { + + if (!ServiceExists( MS_POPUP_ADDPOPUPT)) return; + if(hWndBlogPopup) return; + + POPUPDATAT ppd = {0}; + TCHAR wproto[256]; +#ifndef _UNICODE + strncpy(wproto, MODULE, 256); +#else + MultiByteToWideChar(code_page, 0, MODULE, -1, wproto, 256); +#endif + + _tcsncpy(ppd.lptzContactName, wproto, 256); + _tcscpy(ppd.lptzText, TranslateT("You have unread profile comments")); + ppd.lchIcon = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_MYSPACE), IMAGE_ICON, SM_CXSMICON, SM_CYSMICON, 0); + ppd.PluginWindowProc = ( WNDPROC )ProfileCommentPopupWindowProc; + ppd.PluginData = ppd.lchIcon; + ppd.iSeconds = -1; + + PUAddPopUpT(&ppd); +} + +LRESULT CALLBACK FriendRequestPopupWindowProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) +{ + switch( message ) { + case UM_INITPOPUP: + hWndBlogPopup = hWnd; + break; + case WM_COMMAND: + CallService(MS_UTILS_OPENURL, (WPARAM)TRUE, (LPARAM)"http://messaging.myspace.com/index.cfm?fuseaction=mail.friendRequests"); + + hWndBlogPopup = 0; + PUDeletePopUp( hWnd ); + return TRUE; + + case WM_CONTEXTMENU: + hWndBlogPopup = 0; + PUDeletePopUp( hWnd ); + return TRUE; + + case UM_FREEPLUGINDATA: + { + HICON hIcon = (HICON)PUGetPluginData(hWnd); + DestroyIcon(hIcon); + } + return TRUE; + } + + return DefWindowProc(hWnd, message, wParam, lParam); +} + +void NotifyFriendRequest() { + + if (!ServiceExists( MS_POPUP_ADDPOPUPT)) return; + if(hWndBlogPopup) return; + + POPUPDATAT ppd = {0}; + TCHAR wproto[256]; +#ifndef _UNICODE + strncpy(wproto, MODULE, 256); +#else + MultiByteToWideChar(code_page, 0, MODULE, -1, wproto, 256); +#endif + + _tcsncpy(ppd.lptzContactName, wproto, 256); + _tcscpy(ppd.lptzText, TranslateT("You have new friend requests")); + ppd.lchIcon = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_MYSPACE), IMAGE_ICON, SM_CXSMICON, SM_CYSMICON, 0); + ppd.PluginWindowProc = ( WNDPROC )FriendRequestPopupWindowProc; + ppd.PluginData = ppd.lchIcon; + ppd.iSeconds = -1; + + PUAddPopUpT(&ppd); +} -- cgit v1.2.3