Add configuration option for a custom stylesheet
[quassel.git] / src / qtui / settingspages / appearancesettingspage.h
index 96b5cf5..302d78b 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   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 <QHash>
 #include <QList>
 #include <QLocale>
+#include <QTextCharFormat>
 
+#include "settings.h"
 #include "settingspage.h"
 #include "ui_appearancesettingspage.h"
 
+class QSignalMapper;
+
 class AppearanceSettingsPage : public SettingsPage {
   Q_OBJECT
 
@@ -40,19 +44,28 @@ public slots:
   void save();
   void load();
   void defaults();
-                
+
 private slots:
   void widgetHasChanged();
-  
-private:
-  Ui::AppearanceSettingsPage ui;
-  QHash<QString, QVariant> settings;
-  QList<QLocale> _locales;
 
+  void loadFonts(Settings::Mode mode);
+  void setFont(QLabel *label, const QFont &font);
+  void chooseFont(QWidget *label);
+
+  void chooseStyleSheet();
+
+private:
   bool testHasChanged();
   void initStyleComboBox();
   void initLanguageComboBox();
   QLocale selectedLocale() const;
+  void clearFontFromFormat(QTextCharFormat &fmt);
+
+  Ui::AppearanceSettingsPage ui;
+  QHash<QString, QVariant> settings;
+  QList<QLocale> _locales;
+  QSignalMapper *mapper;
+  bool _fontsChanged;
 };
 
 #endif