summaryrefslogtreecommitdiff
path: root/plugins/IEView/src/Options.h
blob: 58f758ceaffd7984858d4f5c3d12948914ceac84 (plain)
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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
/*

IEView Plugin for Miranda IM
Copyright (C) 2005-2010  Piotr Piastucki

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.

*/
class ProtocolSettings;
class Options;
#ifndef OPTIONS_INCLUDED
#define OPTIONS_INCLUDED
//#include "FontList.h"
#include "ieview_common.h"

#define DBS_BASICFLAGS  		  	"GeneralFlags"

#define DBS_SRMM_ENABLE          	"SRMMEnable"
#define DBS_SRMM_MODE          		"SRMMMode"
#define DBS_SRMM_FLAGS          	"SRMMFlags"
#define DBS_SRMM_BACKGROUND    		"SRMMBackgroundFile"
#define DBS_SRMM_CSS         		"SRMMCSSFile"
#define DBS_SRMM_TEMPLATE         	"SRMMTemplateFile"

#define DBS_CHAT_ENABLE          	"ChatEnable"
#define DBS_CHAT_MODE          		"ChatMode"
#define DBS_CHAT_FLAGS          	"ChatFlags"
#define DBS_CHAT_BACKGROUND    		"ChatBackgroundFile"
#define DBS_CHAT_CSS         		"ChatCSSFile"
#define DBS_CHAT_TEMPLATE         	"ChatTemplateFile"

#define DBS_HISTORY_ENABLE          "HistoryEnable"
#define DBS_HISTORY_MODE          	"HistoryMode"
#define DBS_HISTORY_FLAGS          	"HistoryFlags"
#define DBS_HISTORY_BACKGROUND    	"HistoryBackgroundFile"
#define DBS_HISTORY_CSS         	"HistoryCSSFile"
#define DBS_HISTORY_TEMPLATE        "HistoryTemplateFile"

extern int IEViewOptInit(WPARAM wParam, LPARAM lParam);

class ProtocolSettings {
private:
	char *protocolName;
	ProtocolSettings *next;

	bool srmmEnable;
	int srmmMode;
	int srmmFlags;
	char *srmmBackgroundFilename;
	char *srmmCssFilename;
	char *srmmTemplateFilename;

	bool srmmEnableTemp;
	int srmmModeTemp;
	int srmmFlagsTemp;
	char *srmmBackgroundFilenameTemp;
	char *srmmCssFilenameTemp;
	char *srmmTemplateFilenameTemp;

	bool chatEnable;
	int chatMode;
	int chatFlags;
	char *chatBackgroundFilename;
	char *chatCssFilename;
	char *chatTemplateFilename;

	bool chatEnableTemp;
	int chatModeTemp;
	int chatFlagsTemp;
	char *chatBackgroundFilenameTemp;
	char *chatCssFilenameTemp;
	char *chatCssFilenameRtlTemp;
	char *chatTemplateFilenameTemp;

	bool historyEnable;
	int historyMode;
	int historyFlags;
	char *historyBackgroundFilename;
	char *historyCssFilename;
	char *historyCssFilenameRtl;
	char *historyTemplateFilename;

	bool historyEnableTemp;
	int historyModeTemp;
	int historyFlagsTemp;
	char *historyBackgroundFilenameTemp;
	char *historyCssFilenameTemp;
	char *historyCssFilenameRtlTemp;
	char *historyTemplateFilenameTemp;

public:
	ProtocolSettings(const char *protocolName);
	~ProtocolSettings();
	void	setNext(ProtocolSettings *next);
	const char *getProtocolName();
	ProtocolSettings *getNext();
	void	setSRMMEnable(bool enable);
	bool	isSRMMEnable();
	void	setSRMMMode(int flags);
	int		getSRMMMode();
	void	setSRMMFlags(int flags);
	int		getSRMMFlags();
	void	setSRMMBackgroundFilename(const char *filename);
	const char *getSRMMBackgroundFilename();
	void	setSRMMCssFilename(const char *filename);
	const char *getSRMMCssFilename();
	void	setSRMMTemplateFilename(const char *filename);
	const char *getSRMMTemplateFilename();

	void	setSRMMEnableTemp(bool enable);
	bool	isSRMMEnableTemp();
	void	setSRMMModeTemp(int flags);
	int		getSRMMModeTemp();
	void	setSRMMFlagsTemp(int flags);
	int		getSRMMFlagsTemp();
	void	setSRMMBackgroundFilenameTemp(const char *filename);
	const char *getSRMMBackgroundFilenameTemp();
	void	setSRMMCssFilenameTemp(const char *filename);
	const char *getSRMMCssFilenameTemp();
	void	setSRMMTemplateFilenameTemp(const char *filename);
	const char *getSRMMTemplateFilenameTemp();

	void	setChatEnable(bool enable);
	bool	isChatEnable();
	void	setChatMode(int flags);
	int		getChatMode();
	void	setChatFlags(int flags);
	int		getChatFlags();
	void	setChatBackgroundFilename(const char *filename);
	const char *getChatBackgroundFilename();
	void	setChatCssFilename(const char *filename);
	const char *getChatCssFilename();
	void	setChatCssFilenameRtl(const char *filename);
	const char *getChatCssFilenameRtl();
	void	setChatTemplateFilename(const char *filename);
	const char *getChatTemplateFilename();

	void	setChatEnableTemp(bool enable);
	bool	isChatEnableTemp();
	void	setChatModeTemp(int flags);
	int		getChatModeTemp();
	void	setChatFlagsTemp(int flags);
	int		getChatFlagsTemp();
	void	setChatBackgroundFilenameTemp(const char *filename);
	const char *getChatBackgroundFilenameTemp();
	void	setChatCssFilenameTemp(const char *filename);
	const char *getChatCssFilenameTemp();
	void	setChatTemplateFilenameTemp(const char *filename);
	const char *getChatTemplateFilenameTemp();

	void	setHistoryEnable(bool enable);
	bool	isHistoryEnable();
	void	setHistoryMode(int flags);
	int		getHistoryMode();
	void	setHistoryFlags(int flags);
	int		getHistoryFlags();
	void	setHistoryBackgroundFilename(const char *filename);
	const char *getHistoryBackgroundFilename();
	void	setHistoryCssFilename(const char *filename);
	const char *getHistoryCssFilename();
	void	setHistoryTemplateFilename(const char *filename);
	const char *getHistoryTemplateFilename();

	void	setHistoryEnableTemp(bool enable);
	bool	isHistoryEnableTemp();
	void	setHistoryModeTemp(int flags);
	int		getHistoryModeTemp();
	void	setHistoryFlagsTemp(int flags);
	int		getHistoryFlagsTemp();
	void	setHistoryBackgroundFilenameTemp(const char *filename);
	const char *getHistoryBackgroundFilenameTemp();
	void	setHistoryCssFilenameTemp(const char *filename);
	const char *getHistoryCssFilenameTemp();
	void	setHistoryTemplateFilenameTemp(const char *filename);
	const char *getHistoryTemplateFilenameTemp();

	void 	copyToTemp();
	void	copyFromTemp();

};

class Options {
private:
   	static int 		generalFlags;
   	static bool     isInited;
	static bool     bMathModule;
	static bool     bSmileyAdd;
	static int      avatarServiceFlags;
	static ProtocolSettings* protocolList;
public:
	enum MODES {
		MODE_COMPATIBLE = 0,
		MODE_CSS = 1,
		MODE_TEMPLATE = 2
	};
	enum OPTIONS {
		GENERAL_ENABLE_BBCODES	= 0x000001,
		GENERAL_ENABLE_MATHMODULE = 0x000002,
		GENERAL_ENABLE_FLASH 	= 0x000004,
		GENERAL_ENABLE_PNGHACK 	= 0x000008,
		GENERAL_SMILEYINNAMES  	= 0x000010,
		GENERAL_NO_BORDER  		= 0x000020,
		GENERAL_ENABLE_EMBED	= 0x000040,

		LOG_SHOW_NICKNAMES    	= 0x000100,
		LOG_SHOW_TIME         	= 0x000200,
		LOG_SHOW_DATE         	= 0x000400,
		LOG_SHOW_SECONDS      	= 0x000800,
		LOG_LONG_DATE         	= 0x001000,
		LOG_RELATIVE_DATE     	= 0x002000,
		LOG_GROUP_MESSAGES	  	= 0x004000,

		LOG_IMAGE_ENABLED		= 0x010000,
		LOG_IMAGE_SCROLL        = 0x020000

	};
	enum AVATARSERVICEFLAGS {
		AVATARSERVICE_PRESENT     = 0x0001,
	};

	static void     		setGeneralFlags(int flags);
	static int				getGeneralFlags();
	static void     		setEmbedsize(int size);
	static int				getEmbedsize();

	static bool             isMathModule();
	static bool             isSmileyAdd();
	static int				getAvatarServiceFlags();
	static void      		init();
	static void      		uninit();
	static void				saveProtocolSettings();
	static void				resetProtocolSettings();
	static ProtocolSettings*getProtocolSettings();
	static ProtocolSettings*getProtocolSettings(const char *protocolName);
};

#endif