1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
/*
* 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, <icebreaker@newmail.net>
* 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
|