/***************************************************************************
- * 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 <QFontDialog>
mapper->setMapping(ui.chooseTimestamp, ui.demoTimestamp);
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.checkBufferView, SIGNAL(clicked()), this, SLOT(widgetHasChanged()));
inputLineFont = qApp->font();
}
initLabel(ui.demoInputLine, inputLineFont);
-
+
QTextCharFormat chatFormat = QtUi::style()->format(UiStyle::None, mode);
initLabel(ui.demoChatMessages, chatFormat.font());
QTextCharFormat nicksFormat = QtUi::style()->format(UiStyle::Sender, mode);
initLabel(ui.demoNicks, chatFormat.font());
ui.checkNicks->setChecked(false);
}
+
QTextCharFormat timestampFormat = QtUi::style()->format(UiStyle::Timestamp, mode);
if(timestampFormat.hasProperty(QTextFormat::FontFamily)) {
initLabel(ui.demoTimestamp, timestampFormat.font());
QtUiSettings s;
s.setValue("UseInputLineFont", (ui.checkInputLine->checkState() == Qt::Checked));
s.setValue("InputLineFont", ui.demoInputLine->font());
-
+
QTextCharFormat chatFormat = QtUi::style()->format(UiStyle::None);
chatFormat.setFont(ui.demoChatMessages->font());
QtUi::style()->setFormat(UiStyle::None, chatFormat, Settings::Custom);
- //FIXME: actually remove font properties from the formats
QTextCharFormat nicksFormat = QtUi::style()->format(UiStyle::Sender);
- if(ui.checkNicks->checkState() == Qt::Checked) nicksFormat.setFont(ui.demoNicks->font());
- else nicksFormat.setFont(chatFormat.font());
+ if(ui.checkNicks->checkState() == Qt::Checked)
+ nicksFormat.setFont(ui.demoNicks->font());
+ else
+ clearFontFromFormat(nicksFormat);
QtUi::style()->setFormat(UiStyle::Sender, nicksFormat, Settings::Custom);
QTextCharFormat timestampFormat = QtUi::style()->format(UiStyle::Timestamp);
- if(ui.checkTimestamp->checkState() == Qt::Checked) timestampFormat.setFont(ui.demoTimestamp->font());
- else timestampFormat.setFont(chatFormat.font());
+ if(ui.checkTimestamp->checkState() == Qt::Checked)
+ timestampFormat.setFont(ui.demoTimestamp->font());
+ else
+ clearFontFromFormat(timestampFormat);
QtUi::style()->setFormat(UiStyle::Timestamp, timestampFormat, Settings::Custom);
setChangedState(false);
setFont(label, font);
}
}
+
+void FontsSettingsPage::clearFontFromFormat(QTextCharFormat &fmt) {
+ fmt.clearProperty(QTextFormat::FontFamily);
+ fmt.clearProperty(QTextFormat::FontPointSize);
+ fmt.clearProperty(QTextFormat::FontPixelSize);
+ fmt.clearProperty(QTextFormat::FontWeight);
+ fmt.clearProperty(QTextFormat::FontItalic);
+ fmt.clearProperty(QTextFormat::TextUnderlineStyle);
+ fmt.clearProperty(QTextFormat::FontOverline);
+ fmt.clearProperty(QTextFormat::FontStrikeOut);
+ fmt.clearProperty(QTextFormat::FontFixedPitch);
+ fmt.clearProperty(QTextFormat::FontCapitalization);
+ fmt.clearProperty(QTextFormat::FontWordSpacing);
+ fmt.clearProperty(QTextFormat::FontLetterSpacing);
+}