/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel IRC Team *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include "qtui.h"
#include "qtuisettings.h"
+#include "qtuistyle.h"
#include "colorbutton.h"
#include <QColorDialog>
#include <QPainter>
-// #define PHONDEV
-
ColorSettingsPage::ColorSettingsPage(QWidget *parent)
: SettingsPage(tr("Appearance"), tr("Color settings"), parent),
mapper(new QSignalMapper(this))
connect(mapper, SIGNAL(mapped(QWidget *)), this, SLOT(chooseColor(QWidget *)));
//disable unused buttons:
-#ifndef PHONDEV
- ui.inactiveActivityUseBG->setEnabled(false);
- ui.noActivityUseBG->setEnabled(false);
- ui.highlightActivityUseBG->setEnabled(false);
- ui.newMessageActivityUseBG->setEnabled(false);
- ui.otherActivityUseBG->setEnabled(false);
-
- ui.nickFG->setEnabled(false);
- ui.nickUseBG->setEnabled(false);
- ui.hostmaskFG->setEnabled(false);
- ui.hostmaskUseBG->setEnabled(false);
- ui.channelnameFG->setEnabled(false);
- ui.channelnameUseBG->setEnabled(false);
- ui.modeFlagsFG->setEnabled(false);
- ui.modeFlagsUseBG->setEnabled(false);
- ui.urlFG->setEnabled(false);
- ui.urlUseBG->setEnabled(false);
-
- ui.onlineStatusUseBG->setEnabled(false);
- ui.awayStatusUseBG->setEnabled(false);
-#endif
+ foreach(QWidget *widget, findChildren<QWidget *>()) {
+ if(widget->property("NotInUse").toBool()) {
+ widget->setEnabled(false);
+ widget->hide();
+ }
+ }
}
bool ColorSettingsPage::hasDefaults() const {
ui.senderBG->setColor(QColor("white"));
ui.senderBG->setEnabled(false);
ui.senderUseBG->setChecked(false);
+ ui.senderAutoColor->setChecked(false);
ui.newMsgMarkerFG->setColor(Qt::red);
/*
}
void ColorSettingsPage::load() {
- QtUiSettings s("QtUiStyle/Colors");
+ QtUiStyleSettings s("Colors");
settings["InactiveActivityFG"] = s.value("inactiveActivityFG", QVariant(QColor(Qt::gray)));
ui.inactiveActivityFG->setColor(settings["InactiveActivityFG"].value<QColor>());
settings["InactiveActivityBG"] = s.value("inactiveActivityBG", QVariant(QColor(Qt::white)));
ui.timestampBG->setColor(QtUi::style()->format(UiStyle::Timestamp).background().color());
ui.senderFG->setColor(QtUi::style()->format(UiStyle::Sender).foreground().color());
ui.senderBG->setColor(QtUi::style()->format(UiStyle::Sender).background().color());
+
+ settings["SenderAutoColor"] = s.value("SenderAutoColor", QVariant(false));
+ ui.senderFG->setEnabled(!settings["SenderAutoColor"].toBool());
+
+ ui.senderAutoColor->setChecked(settings["SenderAutoColor"].toBool());
settings["NewMsgMarkerFG"] = s.value("newMsgMarkerFG", QColor(Qt::red));
ui.newMsgMarkerFG->setColor(settings["NewMsgMarkerFG"].value<QColor>());
}
void ColorSettingsPage::save() {
- QtUiSettings s("QtUiStyle/Colors");
+ QtUiStyleSettings s("Colors");
s.setValue("noActivityFG", ui.noActivityFG->color());
s.setValue("noActivityBG", ui.noActivityBG->color());
s.setValue("noActivityUseBG", ui.noActivityUseBG->isChecked());
s.setValue("timestampUseBG", ui.timestampUseBG->isChecked());
saveColor(UiStyle::Sender, ui.senderFG->color(), ui.senderBG->color(), ui.senderUseBG->isChecked());
s.setValue("senderUseBG", ui.senderUseBG->isChecked());
+ s.setValue("SenderAutoColor", ui.senderAutoColor->isChecked());
+ QtUi::style()->setSenderAutoColor(ui.senderAutoColor->isChecked());
s.setValue("newMsgMarkerFG", ui.newMsgMarkerFG->color());
/*
if(QtUi::style()->format(UiStyle::Sender).foreground().color() != ui.senderFG->color()) return true;
if(QtUi::style()->format(UiStyle::Sender).background().color() != ui.senderBG->color()) return true;
if(settings["SenderUseBG"].toBool() != ui.senderUseBG->isChecked()) return true;
+ if(settings["SenderAutoColor"].toBool() != ui.senderAutoColor->isChecked()) return true;
if(settings["NewMsgMarkerFG"].value<QColor>() != ui.newMsgMarkerFG->color()) return true;
-
+
/*
if(QtUi::style()->format(UiStyle::Nick).foreground().color() != ui.nickFG->color()) return true;
if(QtUi::style()->format(UiStyle::Nick).background().color() != ui.nickBG->color()) return true;