OSDN Git Service

Version: 0.3.2
[fontmanager/fontmanager.git] / fontsconfigproperties.h
index 55529d0..97bca61 100644 (file)
 
 #include <QObject>
 #include <QStringList>
+#include <QMap>
 
 class FontsConfigProperties : public QObject
 {
     Q_OBJECT
     Q_ENUMS(ConfigValue)
     Q_PROPERTY(QString family READ family)
-    Q_PROPERTY(bool favorite READ isFavorite WRITE setFavorite NOTIFY favoriteChanged)
     Q_PROPERTY(QStringList preferFamilies READ preferFamilies NOTIFY preferFamiliesChanged)
     Q_PROPERTY(ConfigValue embeddedBitmap READ embeddedBitmap WRITE setEmbeddedBitmap NOTIFY embeddedBitmapChanged)
     Q_PROPERTY(ConfigValue hinting READ hinting WRITE setHinting NOTIFY hintingChanged)
+    Q_PROPERTY(ConfigValue antialias READ antialias WRITE setAntialias NOTIFY antialiasChanged)
+    Q_PROPERTY(ConfigValue autohint READ autohint WRITE setAutohint NOTIFY autohintChanged)
 public:
     explicit FontsConfigProperties(const QString &family, QObject *parent = 0);
     
@@ -58,9 +60,6 @@ public:
 
     QString family() const;
 
-    bool isFavorite() const;
-    void setFavorite(bool fav);
-
     QStringList preferFamilies() const;
 public slots:
     void addPreferFamily(const QString &family);
@@ -68,23 +67,41 @@ public slots:
 public:
     Q_INVOKABLE bool prefer(const QString &family) const;
 
+    ConfigValue configValue(const QString &key) const;
+    void setConfigValue(const QString &key, ConfigValue config);
+
     ConfigValue embeddedBitmap() const;
     void setEmbeddedBitmap(ConfigValue config);
 
     ConfigValue hinting() const;
     void setHinting(ConfigValue config);
 
+    ConfigValue antialias() const;
+    void setAntialias(ConfigValue config);
+
+    ConfigValue autohint() const;
+    void setAutohint(ConfigValue config);
+
+    static QStringList configKeys();
 signals:
-    void favoriteChanged();
     void preferFamiliesChanged();
+
+    void configValueChanged(const QString &key);
+
     void embeddedBitmapChanged();
     void hintingChanged();
+    void antialiasChanged();
+    void autohintChanged();
 
 public slots:
-    
+
+private slots:
+    void checkConfigValueChanged(const QString &key);
+
 private:
     QString mFamily;
     QStringList mPreferFamilies;
+    QMap<QString, ConfigValue> mConfigValues;
     ConfigValue mEmbeddedBitmap;
     ConfigValue mHinting;
 };