X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Ffontssettingspage.cpp;h=b82c72f5eaf8c5c2db5d51919bff4888f490bb07;hp=d64fdfc897aa8a67f6b42022c0b65bee51631e74;hb=9a6a8478bdd8c7c5bb4ff1fa3de9510863d65a97;hpb=2e6dc76ae100a6b8e1b1661e422995f90083500e diff --git a/src/qtui/settingspages/fontssettingspage.cpp b/src/qtui/settingspages/fontssettingspage.cpp index d64fdfc8..b82c72f5 100644 --- a/src/qtui/settingspages/fontssettingspage.cpp +++ b/src/qtui/settingspages/fontssettingspage.cpp @@ -47,18 +47,24 @@ FontsSettingsPage::FontsSettingsPage(QWidget *parent) connect(mapper, SIGNAL(mapped(QWidget *)), this, SLOT(chooseFont(QWidget *))); + connect(ui.customAppFonts, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); + connect(ui.checkTopic, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); + connect(ui.checkNickList, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); + connect(ui.checkBufferView, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); + connect(ui.checkNicks, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); + connect(ui.checkTimestamp, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); + load(); } -bool FontsSettingsPage::hasChanged() const { - - return false; +bool FontsSettingsPage::hasDefaults() const { + return true; } void FontsSettingsPage::defaults() { load(Settings::Default); - + widgetHasChanged(); } void FontsSettingsPage::load() { @@ -68,24 +74,25 @@ void FontsSettingsPage::load() { void FontsSettingsPage::load(Settings::Mode mode) { QTextCharFormat chatFormat = QtUi::style()->format(UiStyle::None, mode); - setFont(ui.demoChatMessages, chatFormat.font()); + initLabel(ui.demoChatMessages, chatFormat.font()); QTextCharFormat nicksFormat = QtUi::style()->format(UiStyle::Sender, mode); if(nicksFormat.hasProperty(QTextFormat::FontFamily)) { - setFont(ui.demoNicks, nicksFormat.font()); + initLabel(ui.demoNicks, nicksFormat.font()); ui.checkNicks->setChecked(true); } else { - setFont(ui.demoNicks, chatFormat.font()); + initLabel(ui.demoNicks, chatFormat.font()); ui.checkNicks->setChecked(false); } QTextCharFormat timestampFormat = QtUi::style()->format(UiStyle::Timestamp, mode); if(timestampFormat.hasProperty(QTextFormat::FontFamily)) { - setFont(ui.demoTimestamp, timestampFormat.font()); + initLabel(ui.demoTimestamp, timestampFormat.font()); ui.checkTimestamp->setChecked(true); } else { - setFont(ui.demoTimestamp, chatFormat.font()); + initLabel(ui.demoTimestamp, chatFormat.font()); ui.checkTimestamp->setChecked(false); } + changeState(false); } void FontsSettingsPage::save() { @@ -107,10 +114,18 @@ void FontsSettingsPage::save() { changeState(false); } +void FontsSettingsPage::widgetHasChanged() { + if(!hasChanged()) changeState(true); +} + +void FontsSettingsPage::initLabel(QLabel *label, const QFont &font) { + setFont(label, font); +} + void FontsSettingsPage::setFont(QLabel *label, const QFont &font) { - QFontInfo fontInfo(font); label->setFont(font); - label->setText(QString("%1 %2").arg(fontInfo.family()).arg(fontInfo.pointSize())); + label->setText(QString("%1 %2").arg(font.family()).arg(font.pointSize())); + widgetHasChanged(); } void FontsSettingsPage::chooseFont(QWidget *widget) {