/* * astyle --force-indent=tab=4 --brackets=linux --indent-switches * --pad=oper --one-line=keep-blocks --unpad=paren * * Miranda NG: the free IM client for Microsoft* Windows* * * Copyright (c) 2000-09 Miranda ICQ/IM project, * all portions of this codebase are copyrighted to the people * listed in contributors.txt. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * you should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * part of tabSRMM messaging plugin for Miranda. * * (C) 2005-2010 by silvercircle _at_ gmail _dot_ com and contributors * * This implements the event notification module for tabSRMM. The code * is largely based on the NewEventNotify plugin for Miranda NG. See * notices below for original copyright * * Name: NewEventNotify - Plugin for Miranda ICQ * Description: Notifies you when you receive a message * Author: icebreaker, * Date: 18.07.02 13:59 / Update: 16.09.02 17:45 * Copyright: (C) 2002 Starzinger Michael * */ #ifndef _NEN_H_ #define _NEN_H_ #define MODULE "tabSRMM_NEN" int tabSRMM_ShowPopup(HANDLE hContact, HANDLE hDbEvent, WORD eventType, int windowOpen, TContainerData *pContainer, HWND hwndChild, const char *szProto, TWindowData *dat); #define DEFAULT_COLBACK RGB(255,255,128) #define DEFAULT_COLTEXT RGB(0,0,0) #define DEFAULT_MASKNOTIFY (MASK_MESSAGE|MASK_URL|MASK_FILE|MASK_OTHER) #define DEFAULT_MASKACTL (MASK_OPEN|MASK_DISMISS) #define DEFAULT_MASKACTR (MASK_DISMISS) #define DEFAULT_DELAY 0 #define MASK_MESSAGE 0x0001 #define MASK_URL 0x0002 #define MASK_FILE 0x0004 #define MASK_OTHER 0x0008 #define MASK_DISMISS 0x0001 #define MASK_OPEN 0x0002 #define MASK_REMOVE 0x0004 #define PU_REMOVE_ON_FOCUS 1 #define PU_REMOVE_ON_TYPE 2 #define PU_REMOVE_ON_SEND 4 #define SETTING_LIFETIME_MIN 1 #define SETTING_LIFETIME_MAX 60 #define SETTING_LIFETIME_DEFAULT 4 //Entrys in the database, don't translate #define OPT_PREVIEW "Preview" #define OPT_COLDEFAULT_MESSAGE "DefaultColorMsg" #define OPT_COLBACK_MESSAGE "ColorBackMsg" #define OPT_COLTEXT_MESSAGE "ColorTextMsg" #define OPT_COLDEFAULT_OTHERS "DefaultColorOthers" #define OPT_COLDEFAULT_ERR "DefaultColorErr" #define OPT_COLBACK_OTHERS "ColorBackOthers" #define OPT_COLTEXT_OTHERS "ColorTextOthers" #define OPT_COLBACK_ERR "ColorBackErr" #define OPT_COLTEXT_ERR "ColorTextErr" #define OPT_MASKNOTIFY "Notify" #define OPT_MASKACTL "ActionLeft" #define OPT_MASKACTR "ActionRight" #define OPT_MASKACTTE "ActionTimeExpires" #define OPT_MERGEPOPUP "MergePopup" #define OPT_DELAY_MESSAGE "DelayMessage" #define OPT_DELAY_OTHERS "DelayOthers" #define OPT_DELAY_ERR "DelayErr" #define OPT_SHOW_HEADERS "ShowHeaders" #define OPT_NORSS "NoRSSAnnounces" #define OPT_DISABLE "Disabled" #define OPT_MUCDISABLE "MUCDisabled" #define OPT_WINDOWCHECK "WindowCheck" #define OPT_LIMITPREVIEW "LimitPreview" #define OPT_REMOVEMASK "removemask" struct NEN_OPTIONS { BOOL bPreview; BOOL bDefaultColorMsg; BOOL bDefaultColorOthers; BOOL bDefaultColorErr; BOOL bDisableNonMessage; UINT maskActL; UINT maskActR; UINT maskActTE; int iDelayMsg; int iDelayOthers; int iDelayErr; int iDelayDefault; BOOL bMergePopup; BOOL bShowHeaders; BOOL bNoRSS; int iDisable; int iMUCDisable; int dwStatusMask; BOOL bTraySupport; BOOL bTrayExist; BOOL iNoSounds; BOOL iNoAutoPopup; BOOL bWindowCheck; int iLimitPreview; WORD wMaxRecent; WORD wMaxFavorites; DWORD dwRemoveMask; COLORREF colBackMsg; COLORREF colTextMsg; COLORREF colBackOthers; COLORREF colTextOthers; COLORREF colBackErr; COLORREF colTextErr; }; struct EVENT_DATAT { HANDLE hEvent; TCHAR tszText[MAX_SECONDLINE + 2]; DWORD timestamp; }; struct PLUGIN_DATAT { HANDLE hContact; UINT eventType; NEN_OPTIONS *pluginOptions; POPUPDATAT *pud; HWND hWnd; long iSeconds; int nrMerged; EVENT_DATAT *eventData; int nrEventsAlloced; int iActionTaken; HWND hContainer; }; #define NR_MERGED 5 #define TIMER_TO_ACTION 50685 #define MAX_DATASIZE 50 #define MAX_POPUPS 20 #endif