/* =============================================================================== NewStatusNotify plugin This plugin notifies you when a contact changes his/hers status with a PopUp. You can customize its look (style of popup, font, text...) and behaviour (the position in the screen, the time to live, the action on a mouse click). This file contains: - definitions, - structures, - macros which can be useful to different modules (example EventNotify) but mainly useful to me in order to split my Plugin on different files :-) Written by: Hrk (Luca Santarelli) (2002-2004), Vasilich (2005-2008) Miranda IM can be found here: http://miranda-im.org/ =============================================================================== */ #ifndef NEWSTATUSNOTIFY_H #define NEWSTATUSNOTIFY_H #include "commonheaders.h" #include "res\resource.h" #define NAME_OF_UIPAGE "Status Notify" #define LASTPOPUPTEXT "LastPopupText" #define MAX_STATUSTEXT 36 #define MAX_STANDARDTEXT 36 #define MAX_SKINSOUNDNAME 36 #define MAX_SKINSOUNDDESC 36 #define MAX_PROTONAMELEN 64 //=== Objects ===== //This one is used to easily tie status id, icon, text... typedef struct tagaStatus{ int ID; int Icon; TCHAR lpzMStatusText[MAX_STATUSTEXT]; TCHAR lpzFStatusText[MAX_STATUSTEXT]; TCHAR lpzUStatusText[MAX_STATUSTEXT]; TCHAR lpzStandardText[MAX_STANDARDTEXT]; char lpzSkinSoundName[MAX_SKINSOUNDNAME]; char lpzSkinSoundDesc[MAX_SKINSOUNDDESC]; char lpzSkinSoundFile[MAX_PATH]; DWORD dwProtoFlag; COLORREF colorBack; COLORREF colorText; } aStatus; #define Index(ID_STATUS) ID_STATUS - 40071 #define ID_STATUS_MIN ID_STATUS_OFFLINE #define ID_STATUS_MAX ID_STATUS_OUTTOLUNCH #define byCOLOR_OWN 0x1 #define byCOLOR_WINDOWS 0x2 #define byCOLOR_POPUP 0x3 #define DEFAULT_COLORS byCOLOR_OWN //===== Options flags typedef struct tagMYOPTIONS { BYTE Colors; //BYTE UseWinColors; BYTE UseDullText; BYTE ReadAwayMsg; BYTE ShowPreviousStatus; BYTE TempDisable; BYTE AutoDisable; BYTE FromOffline; BYTE FromOfflinePopup; BYTE EnableSoundForMyCurrentStatus; BYTE EnablePopupForMyCurrentStatus; BYTE UseSpeaker; BYTE AvoidClipping; BYTE HiddenContactsToo; BYTE Log; BYTE UseIndSnd; BYTE ShowGroup; BYTE BlinkIcon; BYTE BlinkIcon_Status; BYTE byTimeout; int iTimeout; } MYOPTIONS; #define DB_READ_SUCCESS 0 #define DB_READ_FAIL -1 typedef struct tagPLUGINDATA { WORD newStatus; WORD oldStatus; HANDLE hAwayMsgProcess; HANDLE hAwayMsgHook; } PLUGINDATA; typedef struct tagPUWinItem { HANDLE hWnd; TCHAR StatMsg[MAX_SECONDLINE]; HANDLE hContact; int Status; time_t TimeStamp; } PUWinItem; #ifndef MIID_NSN #ifdef _UNICODE #define MIID_NSN { 0x481e45c3, 0xde03, 0x4ac6, { 0x80, 0x7b, 0xe3, 0x6d, 0xa2, 0xc8, 0xbb, 0x31 } } // {481E45C3-DE03-4ac6-807B-E36DA2C8BB31} #else #define MIID_NSN { 0x90c33425, 0x3bcf, 0x4aeb, { 0xa7, 0xc9, 0x33, 0x64, 0x6b, 0x2f, 0x65, 0xec } } // {90C33425-3BCF-4aeb-A7C9-33646B2F65EC} #endif #endif #endif //NEWSTATUSNOTIFY_H