~ubuntu-branches/ubuntu/jaunty/quassel/jaunty

« back to all changes in this revision

Viewing changes to src/qtui/settingspages/colorsettingspage.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2009-02-01 16:13:05 UTC
  • mfrom: (1.1.10 upstream)
  • Revision ID: james.westby@ubuntu.com-20090201161305-ifle115wg2embbla
Tags: 0.4.0~git090201-0ubuntu1
* New upstream git snapshot
  - Core/client connection reliability improvements
  - Other bug fixing
* Adjust quassel-data.install to include ../oxygen/*/apps/quassel.svgz and
  quassel.png

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
#include <QColorDialog>
29
29
#include <QPainter>
30
30
 
31
 
// #define PHONDEV
32
 
 
33
31
ColorSettingsPage::ColorSettingsPage(QWidget *parent)
34
32
  : SettingsPage(tr("Appearance"), tr("Color settings"), parent),
35
33
    mapper(new QSignalMapper(this))
46
44
 
47
45
  connect(mapper, SIGNAL(mapped(QWidget *)), this, SLOT(chooseColor(QWidget *)));
48
46
 
49
 
  //disable unused buttons:
50
 
#ifndef PHONDEV
51
 
  ui.inactiveActivityUseBG->setEnabled(false);
52
 
  ui.noActivityUseBG->setEnabled(false);
53
 
  ui.highlightActivityUseBG->setEnabled(false);
54
 
  ui.newMessageActivityUseBG->setEnabled(false);
55
 
  ui.otherActivityUseBG->setEnabled(false);
56
 
 
57
 
  ui.nickFG->setEnabled(false);
58
 
  ui.nickUseBG->setEnabled(false);
59
 
  ui.hostmaskFG->setEnabled(false);
60
 
  ui.hostmaskUseBG->setEnabled(false);
61
 
  ui.channelnameFG->setEnabled(false);
62
 
  ui.channelnameUseBG->setEnabled(false);
63
 
  ui.modeFlagsFG->setEnabled(false);
64
 
  ui.modeFlagsUseBG->setEnabled(false);
65
 
  ui.urlFG->setEnabled(false);
66
 
  ui.urlUseBG->setEnabled(false);
67
 
 
68
 
  ui.onlineStatusUseBG->setEnabled(false);
69
 
  ui.awayStatusUseBG->setEnabled(false);
70
 
#endif
 
47
  foreach(QWidget *widget, findChildren<QWidget *>()) {
 
48
    if(widget->property("NotInUse").toBool()) {
 
49
      widget->setEnabled(false);
 
50
      widget->hide();
 
51
    }
 
52
  }
71
53
}
72
54
 
73
55
bool ColorSettingsPage::hasDefaults() const {
80
62
  defaultUserActivity();
81
63
  defaultMessage();
82
64
  defaultMircColorCodes();
83
 
  defaultNickview();
84
65
 
85
66
  widgetHasChanged();
86
67
  bufferviewPreview();
88
69
}
89
70
 
90
71
void ColorSettingsPage::defaultBufferview() {
91
 
  ui.inactiveActivityFG->setColor(QColor(Qt::gray));
92
 
  ui.inactiveActivityBG->setColor(QColor(Qt::white));
93
 
  ui.inactiveActivityBG->setEnabled(false);
94
 
  ui.inactiveActivityUseBG->setChecked(false);
95
 
  ui.noActivityFG->setColor(QColor(Qt::black));
96
 
  ui.noActivityBG->setColor(QColor(Qt::white));
97
 
  ui.noActivityBG->setEnabled(false);
98
 
  ui.noActivityUseBG->setChecked(false);
99
72
  ui.highlightActivityFG->setColor(QColor(Qt::magenta));
100
73
  ui.highlightActivityBG->setColor(QColor(Qt::white));
101
74
  ui.highlightActivityBG->setEnabled(false);
215
188
  ui.color15->setColor(QtUi::style()->format(UiStyle::FgCol15, Settings::Default).foreground().color());
216
189
}
217
190
 
218
 
void ColorSettingsPage::defaultNickview() {
219
 
  ui.onlineStatusFG->setColor(QColor(Qt::black));
220
 
  ui.onlineStatusBG->setColor(QColor("white"));
221
 
  ui.onlineStatusBG->setEnabled(false);
222
 
  ui.onlineStatusUseBG->setChecked(false);
223
 
  ui.awayStatusFG->setColor(QColor(Qt::gray));
224
 
  ui.awayStatusBG->setColor(QColor("white"));
225
 
  ui.awayStatusBG->setEnabled(false);
226
 
  ui.awayStatusUseBG->setChecked(false);
227
 
}
228
 
 
229
191
void ColorSettingsPage::load() {
230
192
  QtUiStyleSettings s("Colors");
231
 
  settings["InactiveActivityFG"] = s.value("inactiveActivityFG", QVariant(QColor(Qt::gray)));
232
 
  ui.inactiveActivityFG->setColor(settings["InactiveActivityFG"].value<QColor>());
233
 
  settings["InactiveActivityBG"] = s.value("inactiveActivityBG", QVariant(QColor(Qt::white)));
234
 
  ui.inactiveActivityBG->setColor(settings["InactiveActivityBG"].value<QColor>());
235
 
  settings["InactiveActivityUseBG"] = s.value("inactiveActivityUseBG");
236
 
  ui.inactiveActivityUseBG->setChecked(settings["InactiveActivityUseBG"].toBool());
237
 
 
238
 
  settings["NoActivityFG"] = s.value("noActivityFG", QVariant(QColor(Qt::black)));
239
 
  ui.noActivityFG->setColor(settings["NoActivityFG"].value<QColor>());
240
 
  settings["NoActivityBG"] = s.value("noActivityBG", QVariant(QColor(Qt::white)));
241
 
  ui.noActivityBG->setColor(settings["NoActivityBG"].value<QColor>());
242
 
  settings["NoActivityUseBG"] = s.value("noActivityUseBG");
243
 
  ui.noActivityUseBG->setChecked(settings["NoActivityUseBG"].toBool());
244
 
 
245
193
  settings["HighlightActivityFG"] = s.value("highlightActivityFG", QVariant(QColor(Qt::magenta)));
246
194
  ui.highlightActivityFG->setColor(settings["HighlightActivityFG"].value<QColor>());
247
195
  settings["HighlightActivityBG"] = s.value("highlightActivityBG", QVariant(QColor(Qt::white)));
392
340
  ui.color14->setColor(QtUi::style()->format(UiStyle::FgCol14).foreground().color());
393
341
  ui.color15->setColor(QtUi::style()->format(UiStyle::FgCol15).foreground().color());
394
342
 
395
 
  settings["OnlineStatusFG"] = s.value("onlineStatusFG", QVariant(QColor(Qt::black)));
396
 
  ui.onlineStatusFG->setColor(settings["OnlineStatusFG"].value<QColor>());
397
 
  settings["OnlineStatusBG"] = s.value("onlineStatusBG", QVariant(QColor(Qt::white)));
398
 
  ui.onlineStatusBG->setColor(settings["OnlineStatusBG"].value<QColor>());
399
 
  settings["OnlineStatusUseBG"] = s.value("onlineStatusUseBG");
400
 
  ui.onlineStatusUseBG->setChecked(settings["OnlineStatusUseBG"].toBool());
401
 
 
402
 
  settings["AwayStatusFG"] = s.value("awayStatusFG", QVariant(QColor(Qt::gray)));
403
 
  ui.awayStatusFG->setColor(settings["AwayStatusFG"].value<QColor>());
404
 
  settings["AwayStatusBG"] = s.value("awayStatusBG", QVariant(QColor(Qt::white)));
405
 
  ui.awayStatusBG->setColor(settings["AwayStatusBG"].value<QColor>());
406
 
  settings["AwayStatusUseBG"] = s.value("awayStatusUseBG");
407
 
  ui.awayStatusUseBG->setChecked(settings["AwayStatusUseBG"].toBool());
408
 
 
409
343
  setChangedState(false);
410
344
  bufferviewPreview();
411
345
  chatviewPreview();
413
347
 
414
348
void ColorSettingsPage::save() {
415
349
  QtUiStyleSettings s("Colors");
416
 
  s.setValue("noActivityFG", ui.noActivityFG->color());
417
 
  s.setValue("noActivityBG", ui.noActivityBG->color());
418
 
  s.setValue("noActivityUseBG", ui.noActivityUseBG->isChecked());
419
 
  s.setValue("inactiveActivityFG", ui.inactiveActivityFG->color());
420
 
  s.setValue("inactiveActivityBG", ui.inactiveActivityBG->color());
421
 
  s.setValue("inactiveActivityUseBG", ui.inactiveActivityUseBG->isChecked());
422
350
  s.setValue("highlightActivityFG", ui.highlightActivityFG->color());
423
351
  s.setValue("highlightActivityBG", ui.highlightActivityBG->color());
424
352
  s.setValue("highlightActivityUseBG", ui.highlightActivityUseBG->isChecked());
492
420
  saveMircColor(14, ui.color14->color());
493
421
  saveMircColor(15, ui.color15->color());
494
422
 
495
 
  s.setValue("onlineStatusFG", ui.onlineStatusFG->color());
496
 
  s.setValue("onlineStatusBG", ui.onlineStatusBG->color());
497
 
  s.setValue("onlineStatusUseBG", ui.onlineStatusUseBG->isChecked());
498
 
  s.setValue("awayStatusFG", ui.awayStatusFG->color());
499
 
  s.setValue("awayStatusBG", ui.awayStatusBG->color());
500
 
  s.setValue("awayStatusUseBG", ui.awayStatusUseBG->isChecked());
501
 
 
502
423
  load(); //TODO: remove when settings hash map is unnescessary
503
424
  setChangedState(false);
504
425
}
529
450
}
530
451
 
531
452
bool ColorSettingsPage::testHasChanged() {
532
 
  if(settings["InactiveActivityFG"].value<QColor>() != ui.inactiveActivityFG->color()) return true;
533
 
  if(settings["InactiveActivityBG"].value<QColor>() != ui.inactiveActivityBG->color()) return true;
534
 
  if(settings["InactiveActivityUseBG"].toBool() != ui.inactiveActivityUseBG->isChecked()) return true;
535
 
  if(settings["NoActivityFG"].value<QColor>() != ui.noActivityFG->color()) return true;
536
 
  if(settings["NoActivityBG"].value<QColor>() != ui.noActivityBG->color()) return true;
537
 
  if(settings["NoActivityUseBG"].toBool() != ui.noActivityUseBG->isChecked()) return true;
538
453
  if(settings["HighlightActivityFG"].value<QColor>() != ui.highlightActivityFG->color()) return true;
539
454
  if(settings["HighlightActivityBG"].value<QColor>() != ui.highlightActivityBG->color()) return true;
540
455
  if(settings["HighlightActivityUseBG"].toBool() != ui.highlightActivityUseBG->isChecked()) return true;
627
542
  if(QtUi::style()->format(UiStyle::FgCol14).foreground().color() != ui.color14->color()) return true;
628
543
  if(QtUi::style()->format(UiStyle::FgCol15).foreground().color() != ui.color15->color()) return true;
629
544
 
630
 
  if(settings["OnlineStatusFG"].value<QColor>() != ui.onlineStatusFG->color()) return true;
631
 
  if(settings["OnlineStatusBG"].value<QColor>() != ui.onlineStatusBG->color()) return true;
632
 
  if(settings["OnlineStatusUseBG"].toBool() != ui.onlineStatusUseBG->isChecked()) return true;
633
 
  if(settings["AwayStatusFG"].value<QColor>() != ui.awayStatusFG->color()) return true;
634
 
  if(settings["AwayStatusBG"].value<QColor>() != ui.awayStatusBG->color()) return true;
635
 
  if(settings["AwayStatusUseBG"].toBool() != ui.awayStatusUseBG->isChecked()) return true;
636
 
 
637
545
  return false;
638
546
}
639
547
 
654
562
void ColorSettingsPage::bufferviewPreview() {
655
563
  ui.bufferviewPreview->clear();
656
564
  ui.bufferviewPreview->setColumnCount(1);
657
 
  ui.bufferviewPreview->setHeaderLabels(QStringList("Buffers"));
 
565
  ui.bufferviewPreview->setHeaderLabels(QStringList(tr("Buffers")));
658
566
 
659
 
  QTreeWidgetItem *topLevelItem = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("network")));
 
567
  QTreeWidgetItem *topLevelItem = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("Network")));
660
568
  ui.bufferviewPreview->insertTopLevelItem(0, topLevelItem);
661
 
  topLevelItem->setForeground(0, QBrush(ui.noActivityFG->color()));
662
 
  if(ui.noActivityUseBG->isChecked())
663
 
    topLevelItem->setBackground(0, QBrush(ui.noActivityBG->color()));
664
 
 
665
569
 
666
570
  QList<QTreeWidgetItem *> items;
667
 
  QTreeWidgetItem *statusBuffer = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("Status Buffer")));
668
 
  items.append(statusBuffer);
669
 
  statusBuffer->setForeground(0, QBrush(ui.noActivityFG->color()));
670
 
  if(ui.noActivityUseBG->isChecked())
671
 
    statusBuffer->setBackground(0, QBrush(ui.noActivityBG->color()));
672
 
 
673
 
  QTreeWidgetItem *inactiveActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#inactive channel")));
 
571
  QTreeWidgetItem *inactiveActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#incative")));
674
572
  items.append(inactiveActivity);
675
 
  inactiveActivity->setForeground(0, QBrush(ui.inactiveActivityFG->color()));
676
 
  if(ui.inactiveActivityUseBG->isChecked())
677
 
    inactiveActivity->setBackground(0, QBrush(ui.inactiveActivityBG->color()));
 
573
  inactiveActivity->setForeground(0, QPalette().color(QPalette::Dark));
678
574
 
679
 
  QTreeWidgetItem *noActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with no activity")));
 
575
  QTreeWidgetItem *noActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#regular")));
680
576
  items.append(noActivity);
681
 
  noActivity->setForeground(0, QBrush(ui.noActivityFG->color()));
682
 
  if(ui.noActivityUseBG->isChecked())
683
 
    noActivity->setBackground(0, QBrush(ui.noActivityBG->color()));
684
577
 
685
 
  QTreeWidgetItem *highlightActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with highlight")));
 
578
  QTreeWidgetItem *highlightActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#highlight")));
686
579
  items.append(highlightActivity);
687
580
  highlightActivity->setForeground(0, QBrush(ui.highlightActivityFG->color()));
688
581
  if(ui.highlightActivityUseBG->isChecked())
689
582
    highlightActivity->setBackground(0, QBrush(ui.highlightActivityBG->color()));
690
583
 
691
 
  QTreeWidgetItem *newMessageActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with new message")));
 
584
  QTreeWidgetItem *newMessageActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#new message")));
692
585
  items.append(newMessageActivity);
693
586
  newMessageActivity->setForeground(0, QBrush(ui.newMessageActivityFG->color()));
694
587
  if(ui.newMessageActivityUseBG->isChecked())
695
588
    newMessageActivity->setBackground(0, QBrush(ui.newMessageActivityBG->color()));
696
589
 
697
 
  QTreeWidgetItem *otherActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with other activity")));
 
590
  QTreeWidgetItem *otherActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#other activity")));
698
591
  items.append(otherActivity);
699
592
  otherActivity->setForeground(0, QBrush(ui.otherActivityFG->color()));
700
593
  if(ui.otherActivityUseBG->isChecked())