summaryrefslogtreecommitdiffstats
path: root/kcontrol/fonts/fonts.h
diff options
context:
space:
mode:
Diffstat (limited to 'kcontrol/fonts/fonts.h')
-rw-r--r--kcontrol/fonts/fonts.h124
1 files changed, 124 insertions, 0 deletions
diff --git a/kcontrol/fonts/fonts.h b/kcontrol/fonts/fonts.h
new file mode 100644
index 000000000..ca1ab7729
--- /dev/null
+++ b/kcontrol/fonts/fonts.h
@@ -0,0 +1,124 @@
+//-----------------------------------------------------------------------------
+//
+// kdisplay, fonts tab
+//
+// Copyright (c) Mark Donohoe 1997
+// Lars Knoll 1999
+
+#ifndef FONTS_H
+#define FONTS_H
+
+#include <qobject.h>
+
+#include <kcmodule.h>
+#include <kdialogbase.h>
+#include <kfontdialog.h>
+#include <kfontrequester.h>
+
+#include "kxftconfig.h"
+
+class QCheckBox;
+class QComboBox;
+class KDoubleNumInput;
+class FontAASettings;
+
+class FontUseItem : public KFontRequester
+{
+ Q_OBJECT
+
+public:
+ FontUseItem(QWidget * parent, const QString &name, const QString &grp,
+ const QString &key, const QString &rc, const QFont &default_fnt,
+ bool fixed = false);
+
+ void readFont( bool useDefaults );
+ void writeFont();
+ void setDefault();
+ void applyFontDiff(const QFont &fnt, int fontDiffFlags);
+
+ const QString& rcFile() { return _rcfile; }
+ const QString& rcGroup() { return _rcgroup; }
+ const QString& rcKey() { return _rckey; }
+
+private:
+ QString _rcfile;
+ QString _rcgroup;
+ QString _rckey;
+ QFont _default;
+};
+
+class FontAASettings : public KDialogBase
+{
+ Q_OBJECT
+
+public:
+
+ FontAASettings(QWidget *parent);
+
+ bool save( bool useAA );
+ bool load();
+ bool load( bool useDefaults );
+ void defaults();
+ int getIndex(KXftConfig::SubPixel::Type spType);
+ KXftConfig::SubPixel::Type getSubPixelType();
+#ifdef HAVE_FONTCONFIG
+ int getIndex(KXftConfig::Hint::Style hStyle);
+ KXftConfig::Hint::Style getHintStyle();
+#endif
+ void enableWidgets();
+ int exec();
+
+protected slots:
+
+ void changed();
+
+private:
+
+ QCheckBox *excludeRange;
+ QCheckBox *useSubPixel;
+ KDoubleNumInput *excludeFrom;
+ KDoubleNumInput *excludeTo;
+ QComboBox *subPixelType;
+#ifdef HAVE_FONTCONFIG
+ QComboBox *hintingStyle;
+#endif
+ QLabel *excludeToLabel;
+ bool changesMade;
+};
+
+/**
+ * The Desktop/fonts tab in kcontrol.
+ */
+class KFonts : public KCModule
+{
+ Q_OBJECT
+
+public:
+ KFonts(QWidget *parent, const char *name, const QStringList &);
+ ~KFonts();
+
+ virtual void load();
+ virtual void load( bool useDefaults );
+ virtual void save();
+ virtual void defaults();
+
+protected slots:
+ void fontSelected();
+ void slotApplyFontDiff();
+ void slotUseAntiAliasing();
+ void slotCfgAa();
+
+private:
+ enum AASetting { AAEnabled, AASystem, AADisabled };
+ enum DPISetting { DPINone, DPI96, DPI120 };
+ AASetting useAA, useAA_original;
+ DPISetting dpi_original;
+ QComboBox *cbAA;
+ QComboBox* comboForceDpi;
+ QPushButton *aaSettingsButton;
+ QPtrList <FontUseItem> fontUseList;
+ FontAASettings *aaSettings;
+};
+
+#endif
+