1 /***************************************************************************
2 * Copyright (C) 2005-08 by the Quassel IRC Team *
3 * devel@quassel-irc.org *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) version 3. *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19 ***************************************************************************/
21 #include "colorsettingspage.h"
24 #include "qtuisettings.h"
25 #include "colorbutton.h"
27 #include <QColorDialog>
30 ColorSettingsPage::ColorSettingsPage(QWidget *parent)
31 : SettingsPage(tr("Appearance"), tr("Color settings"), parent) {
34 mapper = new QSignalMapper(this);
36 connect(ui.inactiveActivity, SIGNAL(clicked()), mapper, SLOT(map()));
37 connect(ui.noActivity, SIGNAL(clicked()), mapper, SLOT(map()));
38 connect(ui.highlightActivity, SIGNAL(clicked()), mapper, SLOT(map()));
39 connect(ui.newMessageActivity, SIGNAL(clicked()), mapper, SLOT(map()));
40 connect(ui.otherActivity, SIGNAL(clicked()), mapper, SLOT(map()));
42 mapper->setMapping(ui.inactiveActivity, ui.inactiveActivity);
43 mapper->setMapping(ui.noActivity, ui.noActivity);
44 mapper->setMapping(ui.highlightActivity, ui.highlightActivity);
45 mapper->setMapping(ui.newMessageActivity, ui.newMessageActivity);
46 mapper->setMapping(ui.otherActivity, ui.otherActivity);
49 connect(ui.errorMessageFG, SIGNAL(clicked()), mapper, SLOT(map()));
50 connect(ui.errorMessageBG, SIGNAL(clicked()), mapper, SLOT(map()));
51 connect(ui.noticeMessageFG, SIGNAL(clicked()), mapper, SLOT(map()));
52 connect(ui.noticeMessageBG, SIGNAL(clicked()), mapper, SLOT(map()));
53 connect(ui.plainMessageFG, SIGNAL(clicked()), mapper, SLOT(map()));
54 connect(ui.plainMessageBG, SIGNAL(clicked()), mapper, SLOT(map()));
55 connect(ui.serverMessageFG, SIGNAL(clicked()), mapper, SLOT(map()));
56 connect(ui.serverMessageBG, SIGNAL(clicked()), mapper, SLOT(map()));
57 connect(ui.actionMessageFG, SIGNAL(clicked()), mapper, SLOT(map()));
58 connect(ui.actionMessageBG, SIGNAL(clicked()), mapper, SLOT(map()));
59 connect(ui.joinMessageFG, SIGNAL(clicked()), mapper, SLOT(map()));
60 connect(ui.joinMessageBG, SIGNAL(clicked()), mapper, SLOT(map()));
61 connect(ui.kickMessageFG, SIGNAL(clicked()), mapper, SLOT(map()));
62 connect(ui.kickMessageBG, SIGNAL(clicked()), mapper, SLOT(map()));
63 connect(ui.modeMessageFG, SIGNAL(clicked()), mapper, SLOT(map()));
64 connect(ui.modeMessageBG, SIGNAL(clicked()), mapper, SLOT(map()));
65 connect(ui.partMessageFG, SIGNAL(clicked()), mapper, SLOT(map()));
66 connect(ui.partMessageBG, SIGNAL(clicked()), mapper, SLOT(map()));
67 connect(ui.quitMessageFG, SIGNAL(clicked()), mapper, SLOT(map()));
68 connect(ui.quitMessageBG, SIGNAL(clicked()), mapper, SLOT(map()));
69 connect(ui.renameMessageFG, SIGNAL(clicked()), mapper, SLOT(map()));
70 connect(ui.renameMessageBG, SIGNAL(clicked()), mapper, SLOT(map()));
72 mapper->setMapping(ui.errorMessageFG, ui.errorMessageFG);
73 mapper->setMapping(ui.errorMessageBG, ui.errorMessageBG);
74 mapper->setMapping(ui.noticeMessageFG, ui.noticeMessageFG);
75 mapper->setMapping(ui.noticeMessageBG, ui.noticeMessageBG);
76 mapper->setMapping(ui.plainMessageFG, ui.plainMessageFG);
77 mapper->setMapping(ui.plainMessageBG, ui.plainMessageBG);
78 mapper->setMapping(ui.serverMessageFG, ui.serverMessageFG);
79 mapper->setMapping(ui.serverMessageBG, ui.serverMessageBG);
80 mapper->setMapping(ui.actionMessageFG, ui.actionMessageFG);
81 mapper->setMapping(ui.actionMessageBG, ui.actionMessageBG);
82 mapper->setMapping(ui.joinMessageFG, ui.joinMessageFG);
83 mapper->setMapping(ui.joinMessageBG, ui.joinMessageBG);
84 mapper->setMapping(ui.kickMessageFG, ui.kickMessageFG);
85 mapper->setMapping(ui.kickMessageBG, ui.kickMessageBG);
86 mapper->setMapping(ui.modeMessageFG, ui.modeMessageFG);
87 mapper->setMapping(ui.modeMessageBG, ui.modeMessageBG);
88 mapper->setMapping(ui.partMessageFG, ui.partMessageFG);
89 mapper->setMapping(ui.partMessageBG, ui.partMessageBG);
90 mapper->setMapping(ui.quitMessageFG, ui.quitMessageFG);
91 mapper->setMapping(ui.quitMessageBG, ui.quitMessageBG);
92 mapper->setMapping(ui.renameMessageFG, ui.renameMessageFG);
93 mapper->setMapping(ui.renameMessageBG, ui.renameMessageBG);
96 connect(ui.timestampFG, SIGNAL(clicked()), mapper, SLOT(map()));
97 connect(ui.timestampBG, SIGNAL(clicked()), mapper, SLOT(map()));
98 connect(ui.senderFG, SIGNAL(clicked()), mapper, SLOT(map()));
99 connect(ui.senderBG, SIGNAL(clicked()), mapper, SLOT(map()));
100 connect(ui.nickFG, SIGNAL(clicked()), mapper, SLOT(map()));
101 connect(ui.nickBG, SIGNAL(clicked()), mapper, SLOT(map()));
102 connect(ui.hostmaskFG, SIGNAL(clicked()), mapper, SLOT(map()));
103 connect(ui.hostmaskBG, SIGNAL(clicked()), mapper, SLOT(map()));
104 connect(ui.channelnameFG, SIGNAL(clicked()), mapper, SLOT(map()));
105 connect(ui.channelnameBG, SIGNAL(clicked()), mapper, SLOT(map()));
106 connect(ui.modeFlagsFG, SIGNAL(clicked()), mapper, SLOT(map()));
107 connect(ui.modeFlagsBG, SIGNAL(clicked()), mapper, SLOT(map()));
108 connect(ui.urlFG, SIGNAL(clicked()), mapper, SLOT(map()));
109 connect(ui.urlBG, SIGNAL(clicked()), mapper, SLOT(map()));
111 mapper->setMapping(ui.timestampFG, ui.timestampFG);
112 mapper->setMapping(ui.timestampBG, ui.timestampBG);
113 mapper->setMapping(ui.senderFG, ui.senderFG);
114 mapper->setMapping(ui.senderBG, ui.senderBG);
115 mapper->setMapping(ui.nickFG, ui.nickFG);
116 mapper->setMapping(ui.nickBG, ui.nickBG);
117 mapper->setMapping(ui.hostmaskFG, ui.hostmaskFG);
118 mapper->setMapping(ui.hostmaskBG, ui.hostmaskBG);
119 mapper->setMapping(ui.channelnameFG, ui.channelnameFG);
120 mapper->setMapping(ui.channelnameBG, ui.channelnameBG);
121 mapper->setMapping(ui.modeFlagsFG, ui.modeFlagsFG);
122 mapper->setMapping(ui.modeFlagsBG, ui.modeFlagsBG);
123 mapper->setMapping(ui.urlFG, ui.urlFG);
124 mapper->setMapping(ui.urlBG, ui.urlBG);
126 //Mirc Color Codes tab:
127 connect(ui.color0, SIGNAL(clicked()), mapper, SLOT(map()));
128 connect(ui.color1, SIGNAL(clicked()), mapper, SLOT(map()));
129 connect(ui.color2, SIGNAL(clicked()), mapper, SLOT(map()));
130 connect(ui.color3, SIGNAL(clicked()), mapper, SLOT(map()));
131 connect(ui.color4, SIGNAL(clicked()), mapper, SLOT(map()));
132 connect(ui.color5, SIGNAL(clicked()), mapper, SLOT(map()));
133 connect(ui.color6, SIGNAL(clicked()), mapper, SLOT(map()));
134 connect(ui.color7, SIGNAL(clicked()), mapper, SLOT(map()));
135 connect(ui.color8, SIGNAL(clicked()), mapper, SLOT(map()));
136 connect(ui.color9, SIGNAL(clicked()), mapper, SLOT(map()));
137 connect(ui.color10, SIGNAL(clicked()), mapper, SLOT(map()));
138 connect(ui.color11, SIGNAL(clicked()), mapper, SLOT(map()));
139 connect(ui.color12, SIGNAL(clicked()), mapper, SLOT(map()));
140 connect(ui.color13, SIGNAL(clicked()), mapper, SLOT(map()));
141 connect(ui.color14, SIGNAL(clicked()), mapper, SLOT(map()));
142 connect(ui.color15, SIGNAL(clicked()), mapper, SLOT(map()));
144 mapper->setMapping(ui.color0, ui.color0);
145 mapper->setMapping(ui.color1, ui.color1);
146 mapper->setMapping(ui.color2, ui.color2);
147 mapper->setMapping(ui.color3, ui.color3);
148 mapper->setMapping(ui.color4, ui.color4);
149 mapper->setMapping(ui.color5, ui.color5);
150 mapper->setMapping(ui.color6, ui.color6);
151 mapper->setMapping(ui.color7, ui.color7);
152 mapper->setMapping(ui.color8, ui.color8);
153 mapper->setMapping(ui.color9, ui.color9);
154 mapper->setMapping(ui.color10, ui.color10);
155 mapper->setMapping(ui.color11, ui.color11);
156 mapper->setMapping(ui.color12, ui.color12);
157 mapper->setMapping(ui.color13, ui.color13);
158 mapper->setMapping(ui.color14, ui.color14);
159 mapper->setMapping(ui.color15, ui.color15);
161 connect(mapper, SIGNAL(mapped(QWidget *)), this, SLOT(chooseColor(QWidget *)));
164 bool ColorSettingsPage::hasDefaults() const {
168 void ColorSettingsPage::defaults() {
169 ui.inactiveActivity->setColor(QColor(Qt::gray));
170 ui.noActivity->setColor(QColor(Qt::black));
171 ui.highlightActivity->setColor(QColor(Qt::magenta));
172 ui.newMessageActivity->setColor(QColor(Qt::green));
173 ui.otherActivity->setColor(QColor(Qt::darkGreen));
175 ui.errorMessageFG->setColor(QColor("red"));
176 ui.errorMessageBG->setColor(QColor("white"));
177 ui.noticeMessageFG->setColor(QColor("navy"));
178 ui.noticeMessageBG->setColor(QColor("white"));
179 ui.plainMessageFG->setColor(QColor("black"));
180 ui.plainMessageBG->setColor(QColor("white"));
181 ui.serverMessageFG->setColor(QColor("navy"));
182 ui.serverMessageBG->setColor(QColor("white"));
183 ui.actionMessageFG->setColor(QColor("darkmagenta"));
184 ui.actionMessageBG->setColor(QColor("white"));
185 ui.joinMessageFG->setColor(QColor("green"));
186 ui.joinMessageBG->setColor(QColor("white"));
187 ui.kickMessageFG->setColor(QColor("black"));
188 ui.kickMessageBG->setColor(QColor("white"));
189 ui.modeMessageFG->setColor(QColor("steelblue"));
190 ui.modeMessageBG->setColor(QColor("white"));
191 ui.partMessageFG->setColor(QColor("indianred"));
192 ui.partMessageBG->setColor(QColor("white"));
193 ui.quitMessageFG->setColor(QColor("indianred"));
194 ui.quitMessageBG->setColor(QColor("white"));
195 ui.renameMessageFG->setColor(QColor("magenta"));
196 ui.renameMessageBG->setColor(QColor("white"));
198 ui.timestampFG->setColor(QColor("grey"));
199 ui.timestampBG->setColor(QColor("white"));
200 ui.senderFG->setColor(QColor("navy"));
201 ui.senderBG->setColor(QColor("white"));
202 ui.nickFG->setColor(QColor("black"));
203 ui.nickBG->setColor(QColor("white"));
204 ui.hostmaskFG->setColor(QColor("black"));
205 ui.hostmaskBG->setColor(QColor("white"));
206 ui.channelnameFG->setColor(QColor("black"));
207 ui.channelnameBG->setColor(QColor("white"));
208 ui.modeFlagsFG->setColor(QColor("black"));
209 ui.modeFlagsBG->setColor(QColor("white"));
210 ui.urlFG->setColor(QColor("black"));
211 ui.urlBG->setColor(QColor("white"));
214 ui.color0->setColor(QColor("#ffffff"));
215 ui.color1->setColor(QColor("#000000"));
216 ui.color2->setColor(QColor("#000080"));
217 ui.color3->setColor(QColor("#008000"));
218 ui.color4->setColor(QColor("#ff0000"));
219 ui.color5->setColor(QColor("#800000"));
220 ui.color6->setColor(QColor("#800080"));
221 ui.color7->setColor(QColor("#ffa500"));
222 ui.color8->setColor(QColor("#ffff00"));
223 ui.color9->setColor(QColor("#00ff00"));
224 ui.color10->setColor(QColor("#008080"));
225 ui.color11->setColor(QColor("#00ffff"));
226 ui.color12->setColor(QColor("#4169E1"));
227 ui.color13->setColor(QColor("#ff00ff"));
228 ui.color14->setColor(QColor("#808080"));
229 ui.color15->setColor(QColor("#c0c0c0"));
236 void ColorSettingsPage::load() {
237 QtUiSettings s("QtUi/Colors");
238 settings["InactiveActivity"] = s.value("inactiveActivity", QVariant(QColor(Qt::gray)));
239 ui.inactiveActivity->setColor(settings["InactiveActivity"].value<QColor>());
240 settings["NoActivity"] = s.value("noActivity", QVariant(QColor(Qt::black)));
241 ui.noActivity->setColor(settings["NoActivity"].value<QColor>());
242 settings["HighlightActivity"] = s.value("highlightActivity", QVariant(QColor(Qt::magenta)));
243 ui.highlightActivity->setColor(settings["HighlightActivity"].value<QColor>());
244 settings["NewMessageActivity"] = s.value("newMessageActivity", QVariant(QColor(Qt::green)));
245 ui.newMessageActivity->setColor(settings["NewMessageActivity"].value<QColor>());
246 settings["OtherActivity"] = s.value("otherActivity", QVariant(QColor(Qt::darkGreen)));
247 ui.otherActivity->setColor(settings["OtherActivity"].value<QColor>());
249 settings["ErrorMessageFG"] = s.value("errorMessageFG", QVariant(QColor("red")));
250 ui.errorMessageFG->setColor(settings["ErrorMessageFG"].value<QColor>());
251 settings["ErrorMessageBG"] = s.value("errorMessageBG", QVariant(QColor("white")));
252 ui.errorMessageBG->setColor(settings["ErrorMessageBG"].value<QColor>());
253 settings["NoticeMessageFG"] = s.value("noticeMessageFG", QVariant(QColor("navy")));
254 ui.noticeMessageFG->setColor(settings["NoticeMessageFG"].value<QColor>());
255 settings["NoticeMessageBG"] = s.value("noticeMessageBG", QVariant(QColor("white")));
256 ui.noticeMessageBG->setColor(settings["NoticeMessageBG"].value<QColor>());
257 settings["PlainMessageFG"] = s.value("plainMessageFG", QVariant(QColor("black")));
258 ui.plainMessageFG->setColor(settings["PlainMessageFG"].value<QColor>());
259 settings["PlainMessageBG"] = s.value("plainMessageBG", QVariant(QColor("white")));
260 ui.plainMessageBG->setColor(settings["PlainMessageBG"].value<QColor>());
261 settings["ServerMessageFG"] = s.value("serverMessageFG", QVariant(QColor("navy")));
262 ui.serverMessageFG->setColor(settings["ServerMessageFG"].value<QColor>());
263 settings["ServerMessageBG"] = s.value("serverMessageBG", QVariant(QColor("white")));
264 ui.serverMessageBG->setColor(settings["ServerMessageBG"].value<QColor>());
265 settings["ActionMessageFG"] = s.value("actionMessageFG", QVariant(QColor("darkmagenta")));
266 ui.actionMessageFG->setColor(settings["ActionMessageFG"].value<QColor>());
267 settings["ActionMessageBG"] = s.value("actionMessageBG", QVariant(QColor("white")));
268 ui.actionMessageBG->setColor(settings["ActionMessageBG"].value<QColor>());
269 settings["JoinMessageFG"] = s.value("joinMessageFG", QVariant(QColor("green")));
270 ui.joinMessageFG->setColor(settings["JoinMessageFG"].value<QColor>());
271 settings["JoinMessageBG"] = s.value("joinMessageBG", QVariant(QColor("white")));
272 ui.joinMessageBG->setColor(settings["JoinMessageBG"].value<QColor>());
273 settings["KickMessageFG"] = s.value("kickMessageFG", QVariant(QColor("black")));
274 ui.kickMessageFG->setColor(settings["KickMessageFG"].value<QColor>());
275 settings["KickMessageBG"] = s.value("kickMessageBG", QVariant(QColor("white")));
276 ui.kickMessageBG->setColor(settings["KickMessageBG"].value<QColor>());
277 settings["ModeMessageFG"] = s.value("modeMessageFG", QVariant(QColor("steelblue")));
278 ui.modeMessageFG->setColor(settings["ModeMessageFG"].value<QColor>());
279 settings["ModeMessageBG"] = s.value("modeMessageBG", QVariant(QColor("white")));
280 ui.modeMessageBG->setColor(settings["ModeMessageBG"].value<QColor>());
281 settings["PartMessageFG"] = s.value("partMessageFG", QVariant(QColor("indianred")));
282 ui.partMessageFG->setColor(settings["PartMessageFG"].value<QColor>());
283 settings["PartMessageBG"] = s.value("partMessageBG", QVariant(QColor("white")));
284 ui.partMessageBG->setColor(settings["PartMessageBG"].value<QColor>());
285 settings["QuitMessageFG"] = s.value("quitMessageFG", QVariant(QColor("indianred")));
286 ui.quitMessageFG->setColor(settings["QuitMessageFG"].value<QColor>());
287 settings["QuitMessageBG"] = s.value("quitMessageBG", QVariant(QColor("white")));
288 ui.quitMessageBG->setColor(settings["QuitMessageBG"].value<QColor>());
289 settings["RenameMessageFG"] = s.value("renameMessageFG", QVariant(QColor("magenta")));
290 ui.renameMessageFG->setColor(settings["RenameMessageFG"].value<QColor>());
291 settings["RenameMessageBG"] = s.value("renameMessageBG", QVariant(QColor("white")));
292 ui.renameMessageBG->setColor(settings["RenameMessageBG"].value<QColor>());
294 settings["TimestampFG"] = s.value("timestampFG", QVariant(QColor("grey")));
295 ui.timestampFG->setColor(settings["TimestampFG"].value<QColor>());
296 settings["TimestampBG"] = s.value("timestampBG", QVariant(QColor("white")));
297 ui.timestampBG->setColor(settings["TimestampBG"].value<QColor>());
298 settings["SenderFG"] = s.value("senderFG", QVariant(QColor("navy")));
299 ui.senderFG->setColor(settings["SenderFG"].value<QColor>());
300 settings["SenderBG"] = s.value("senderBG", QVariant(QColor("white")));
301 ui.senderBG->setColor(settings["SenderBG"].value<QColor>());
302 settings["NickFG"] = s.value("nickFG", QVariant(QColor("black")));
303 ui.nickFG->setColor(settings["NickFG"].value<QColor>());
304 settings["NickBG"] = s.value("nickBG", QVariant(QColor("white")));
305 ui.nickBG->setColor(settings["NickBG"].value<QColor>());
306 settings["HostmaskFG"] = s.value("hostmaskFG", QVariant(QColor("black")));
307 ui.hostmaskFG->setColor(settings["HostmaskFG"].value<QColor>());
308 settings["HostmaskBG"] = s.value("hostmaskBG", QVariant(QColor("white")));
309 ui.hostmaskBG->setColor(settings["HostmaskBG"].value<QColor>());
310 settings["ChannelnameFG"] = s.value("channelnameFG", QVariant(QColor("black")));
311 ui.channelnameFG->setColor(settings["ChannelnameFG"].value<QColor>());
312 settings["ChannelnameBG"] = s.value("channelnameBG", QVariant(QColor("white")));
313 ui.channelnameBG->setColor(settings["ChannelnameBG"].value<QColor>());
314 settings["ModeFlagsFG"] = s.value("modeFlagsFG", QVariant(QColor("black")));
315 ui.modeFlagsFG->setColor(settings["ModeFlagsFG"].value<QColor>());
316 settings["ModeFlagsBG"] = s.value("modeFlagsBG", QVariant(QColor("white")));
317 ui.modeFlagsBG->setColor(settings["ModeFlagsBG"].value<QColor>());
318 settings["UrlFG"] = s.value("urlFG", QVariant(QColor("black")));
319 ui.urlFG->setColor(settings["UrlFG"].value<QColor>());
320 settings["UrlBG"] = s.value("urlBG", QVariant(QColor("white")));
321 ui.urlBG->setColor(settings["UrlBG"].value<QColor>());
323 settings["Color0"] = s.value("color0", QVariant(QColor("#ffffff")));
324 ui.color0->setColor(settings["Color0"].value<QColor>());
325 settings["Color1"] = s.value("color1", QVariant(QColor("#000000")));
326 ui.color1->setColor(settings["Color1"].value<QColor>());
327 settings["Color2"] = s.value("color2", QVariant(QColor("#000080")));
328 ui.color2->setColor(settings["Color2"].value<QColor>());
329 settings["Color3"] = s.value("color3", QVariant(QColor("#008000")));
330 ui.color3->setColor(settings["Color3"].value<QColor>());
331 settings["Color4"] = s.value("color4", QVariant(QColor("#ff0000")));
332 ui.color4->setColor(settings["Color4"].value<QColor>());
333 settings["Color5"] = s.value("color5", QVariant(QColor("#800000")));
334 ui.color5->setColor(settings["Color5"].value<QColor>());
335 settings["Color6"] = s.value("color6", QVariant(QColor("#800080")));
336 ui.color6->setColor(settings["Color6"].value<QColor>());
337 settings["Color7"] = s.value("color7", QVariant(QColor("#ffa500")));
338 ui.color7->setColor(settings["Color7"].value<QColor>());
339 settings["Color8"] = s.value("color8", QVariant(QColor("#ffff00")));
340 ui.color8->setColor(settings["Color8"].value<QColor>());
341 settings["Color9"] = s.value("color9", QVariant(QColor("#00ff00")));
342 ui.color9->setColor(settings["Color9"].value<QColor>());
343 settings["Color10"] = s.value("color10", QVariant(QColor("#008080")));
344 ui.color10->setColor(settings["Color10"].value<QColor>());
345 settings["Color11"] = s.value("color11", QVariant(QColor("#00ffff")));
346 ui.color11->setColor(settings["Color11"].value<QColor>());
347 settings["Color12"] = s.value("color12", QVariant(QColor("#4169E1")));
348 ui.color12->setColor(settings["Color12"].value<QColor>());
349 settings["Color13"] = s.value("color13", QVariant(QColor("#ff00ff")));
350 ui.color13->setColor(settings["Color13"].value<QColor>());
351 settings["Color14"] = s.value("color14", QVariant(QColor("#808080")));
352 ui.color14->setColor(settings["Color14"].value<QColor>());
353 settings["Color15"] = s.value("color15", QVariant(QColor("#c0c0c0")));
354 ui.color15->setColor(settings["Color15"].value<QColor>());
356 setChangedState(false);
362 void ColorSettingsPage::save() {
363 QtUiSettings s("QtUi/Colors");
364 s.setValue("inactiveActivity", ui.inactiveActivity->color());
365 s.setValue("noActivity", ui.noActivity->color());
366 s.setValue("highlightActivity", ui.highlightActivity->color());
367 s.setValue("newMessageActivity", ui.newMessageActivity->color());
368 s.setValue("otherActivity", ui.otherActivity->color());
370 s.setValue("errorMessageFG", ui.errorMessageFG->color());
371 s.setValue("errorMessageBG", ui.errorMessageBG->color());
372 s.setValue("noticeMessageFG", ui.noticeMessageFG->color());
373 s.setValue("noticeMessageBG", ui.noticeMessageBG->color());
374 s.setValue("plainMessageFG", ui.plainMessageFG->color());
375 s.setValue("plainMessageBG", ui.plainMessageBG->color());
376 s.setValue("serverMessageFG", ui.serverMessageFG->color());
377 s.setValue("serverMessageBG", ui.serverMessageBG->color());
378 s.setValue("actionMessageFG", ui.actionMessageFG->color());
379 s.setValue("actionMessageBG", ui.actionMessageBG->color());
380 s.setValue("joinMessageFG", ui.joinMessageFG->color());
381 s.setValue("joinMessageBG", ui.joinMessageBG->color());
382 s.setValue("kickMessageFG", ui.kickMessageFG->color());
383 s.setValue("kickMessageBG", ui.kickMessageBG->color());
384 s.setValue("modeMessageFG", ui.modeMessageFG->color());
385 s.setValue("modeMessageBG", ui.modeMessageBG->color());
386 s.setValue("partMessageFG", ui.partMessageFG->color());
387 s.setValue("partMessageBG", ui.partMessageBG->color());
388 s.setValue("quitMessageFG", ui.quitMessageFG->color());
389 s.setValue("quitMessageBG", ui.quitMessageBG->color());
390 s.setValue("renameMessageFG", ui.renameMessageFG->color());
391 s.setValue("renameMessageBG", ui.renameMessageBG->color());
393 s.setValue("timestampFG", ui.timestampFG->color());
394 s.setValue("timestampBG", ui.timestampBG->color());
395 s.setValue("senderFG", ui.senderFG->color());
396 s.setValue("senderBG", ui.senderBG->color());
397 s.setValue("nickFG", ui.nickFG->color());
398 s.setValue("nickBG", ui.nickBG->color());
399 s.setValue("hostmaskFG", ui.hostmaskFG->color());
400 s.setValue("hostmaskBG", ui.hostmaskBG->color());
401 s.setValue("channelnameFG", ui.channelnameFG->color());
402 s.setValue("channelnameBG", ui.channelnameBG->color());
403 s.setValue("modeFlagsFG", ui.modeFlagsFG->color());
404 s.setValue("modeFlagsBG", ui.modeFlagsBG->color());
405 s.setValue("urlFG", ui.urlFG->color());
406 s.setValue("urlBG", ui.urlBG->color());
409 s.setValue("color0", ui.color0->color());
410 s.setValue("color1", ui.color1->color());
411 s.setValue("color2", ui.color2->color());
412 s.setValue("color3", ui.color3->color());
413 s.setValue("color4", ui.color4->color());
414 s.setValue("color5", ui.color5->color());
415 s.setValue("color6", ui.color6->color());
416 s.setValue("color7", ui.color7->color());
417 s.setValue("color8", ui.color8->color());
418 s.setValue("color9", ui.color9->color());
419 s.setValue("color10", ui.color10->color());
420 s.setValue("color11", ui.color11->color());
421 s.setValue("color12", ui.color12->color());
422 s.setValue("color13", ui.color13->color());
423 s.setValue("color14", ui.color14->color());
424 s.setValue("color15", ui.color15->color());
427 setChangedState(false);
430 void ColorSettingsPage::widgetHasChanged() {
431 bool changed = testHasChanged();
432 if(changed != hasChanged()) setChangedState(changed);
435 bool ColorSettingsPage::testHasChanged() {
436 if(settings["InactiveActivity"].value<QColor>() != ui.inactiveActivity->color()) return true;
437 if(settings["NoActivity"].value<QColor>() != ui.noActivity->color()) return true;
438 if(settings["HighlightActivity"].value<QColor>() != ui.highlightActivity->color()) return true;
439 if(settings["NewMessageActivity"].value<QColor>() != ui.newMessageActivity->color()) return true;
440 if(settings["OtherActivity"].value<QColor>() != ui.otherActivity->color()) return true;
442 if(settings["ErrorMessageFG"].value<QColor>() != ui.errorMessageFG->color()) return true;
443 if(settings["ErrorMessageBG"].value<QColor>() != ui.errorMessageBG->color()) return true;
444 if(settings["NoticeMessageFG"].value<QColor>() != ui.noticeMessageFG->color()) return true;
445 if(settings["NoticeMessageBG"].value<QColor>() != ui.noticeMessageBG->color()) return true;
446 if(settings["PlainMessageFG"].value<QColor>() != ui.plainMessageFG->color()) return true;
447 if(settings["PlainMessageBG"].value<QColor>() != ui.plainMessageBG->color()) return true;
448 if(settings["ServerMessageFG"].value<QColor>() != ui.serverMessageFG->color()) return true;
449 if(settings["ServerMessageBG"].value<QColor>() != ui.serverMessageBG->color()) return true;
450 if(settings["ActionMessageFG"].value<QColor>() != ui.actionMessageFG->color()) return true;
451 if(settings["ActionMessageBG"].value<QColor>() != ui.actionMessageBG->color()) return true;
452 if(settings["JoinMessageFG"].value<QColor>() != ui.joinMessageFG->color()) return true;
453 if(settings["JoinMessageBG"].value<QColor>() != ui.joinMessageBG->color()) return true;
454 if(settings["KickMessageFG"].value<QColor>() != ui.kickMessageFG->color()) return true;
455 if(settings["KickMessageBG"].value<QColor>() != ui.kickMessageBG->color()) return true;
456 if(settings["ModeMessageFG"].value<QColor>() != ui.modeMessageFG->color()) return true;
457 if(settings["ModeMessageBG"].value<QColor>() != ui.modeMessageBG->color()) return true;
458 if(settings["PartMessageFG"].value<QColor>() != ui.partMessageFG->color()) return true;
459 if(settings["PartMessageBG"].value<QColor>() != ui.partMessageBG->color()) return true;
460 if(settings["QuitMessageFG"].value<QColor>() != ui.quitMessageFG->color()) return true;
461 if(settings["QuitMessageBG"].value<QColor>() != ui.quitMessageBG->color()) return true;
462 if(settings["RenameMessageFG"].value<QColor>() != ui.renameMessageFG->color()) return true;
463 if(settings["RenameMessageBG"].value<QColor>() != ui.renameMessageBG->color()) return true;
465 if(settings["TimestampFG"].value<QColor>() != ui.timestampFG->color()) return true;
466 if(settings["TimestampBG"].value<QColor>() != ui.timestampBG->color()) return true;
467 if(settings["SenderFG"].value<QColor>() != ui.senderFG->color()) return true;
468 if(settings["SenderBG"].value<QColor>() != ui.senderBG->color()) return true;
469 if(settings["NickFG"].value<QColor>() != ui.nickFG->color()) return true;
470 if(settings["NickBG"].value<QColor>() != ui.nickBG->color()) return true;
471 if(settings["HostmaskFG"].value<QColor>() != ui.hostmaskFG->color()) return true;
472 if(settings["HostmaskBG"].value<QColor>() != ui.hostmaskBG->color()) return true;
473 if(settings["ChannelnameFG"].value<QColor>() != ui.channelnameFG->color()) return true;
474 if(settings["ChannelnameBG"].value<QColor>() != ui.channelnameBG->color()) return true;
475 if(settings["ModeFlagsFG"].value<QColor>() != ui.modeFlagsFG->color()) return true;
476 if(settings["ModeFlagsBG"].value<QColor>() != ui.modeFlagsBG->color()) return true;
477 if(settings["UrlFG"].value<QColor>() != ui.urlFG->color()) return true;
478 if(settings["UrlBG"].value<QColor>() != ui.urlBG->color()) return true;
480 if(settings["Color0"].value<QColor>() != ui.color0->color()) return true;
481 if(settings["Color1"].value<QColor>() != ui.color1->color()) return true;
482 if(settings["Color2"].value<QColor>() != ui.color2->color()) return true;
483 if(settings["Color3"].value<QColor>() != ui.color3->color()) return true;
484 if(settings["Color4"].value<QColor>() != ui.color4->color()) return true;
485 if(settings["Color5"].value<QColor>() != ui.color5->color()) return true;
486 if(settings["Color6"].value<QColor>() != ui.color6->color()) return true;
487 if(settings["Color7"].value<QColor>() != ui.color7->color()) return true;
488 if(settings["Color8"].value<QColor>() != ui.color8->color()) return true;
489 if(settings["Color9"].value<QColor>() != ui.color9->color()) return true;
490 if(settings["Color10"].value<QColor>() != ui.color10->color()) return true;
491 if(settings["Color11"].value<QColor>() != ui.color11->color()) return true;
492 if(settings["Color12"].value<QColor>() != ui.color12->color()) return true;
493 if(settings["Color13"].value<QColor>() != ui.color13->color()) return true;
494 if(settings["Color14"].value<QColor>() != ui.color14->color()) return true;
495 if(settings["Color15"].value<QColor>() != ui.color15->color()) return true;
500 void ColorSettingsPage::chooseColor(QWidget *widget) {
501 ColorButton *button = qobject_cast<ColorButton *>(widget);
503 QColor color = QColorDialog::getColor(button->color(), this);
504 if(color.isValid()) {
505 button->setColor(color);
512 void ColorSettingsPage::chatviewPreview() {
513 //TODO: update chatviewPreview
516 void ColorSettingsPage::bufferviewPreview() {
517 ui.bufferviewPreview->clear();
518 ui.bufferviewPreview->setColumnCount(1);
519 ui.bufferviewPreview->setHeaderLabels(QStringList("Buffers"));
521 QTreeWidgetItem *topLevelItem = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("network")));
522 ui.bufferviewPreview->insertTopLevelItem(0, topLevelItem);
524 QList<QTreeWidgetItem *> items;
525 items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("Status Buffer"))));
527 QTreeWidgetItem *inactive = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#inactive channel")));
528 items.append(inactive);
529 inactive->setForeground(0, QBrush(ui.inactiveActivity->color()));
531 QTreeWidgetItem *noActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with no activity")));
532 items.append(noActivity);
533 noActivity->setForeground(0, QBrush(ui.noActivity->color()));
535 QTreeWidgetItem *highlightActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with highlight")));
536 items.append(highlightActivity);
537 highlightActivity->setForeground(0, QBrush(ui.highlightActivity->color()));
539 QTreeWidgetItem *newMessageActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with new message")));
540 items.append(newMessageActivity);
541 newMessageActivity->setForeground(0, QBrush(ui.newMessageActivity->color()));
543 QTreeWidgetItem *otherActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with other activity")));
544 items.append(otherActivity);
545 otherActivity->setForeground(0, QBrush(ui.otherActivity->color()));
547 topLevelItem->insertChildren(0, items);
548 ui.bufferviewPreview->expandItem(topLevelItem);