X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=fontconfigmanager.h;h=98a439e360343b816e4ec7b296e25f0f7a1124f3;hb=HEAD;hp=c06fbb1e86b962f7a0c36fdcbc1a1e4211bb2c15;hpb=3ffbcde4088a51933ad5c60309233ccdf2d6469f;p=fontmanager%2Ffontmanager.git diff --git a/fontconfigmanager.h b/fontconfigmanager.h index c06fbb1..98a439e 100644 --- a/fontconfigmanager.h +++ b/fontconfigmanager.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2011 Takumi Asaki +** Copyright (C) 2012 Takumi Asaki ** All rights reserved. ** Contact: Takumi Asaki (takumi.asaki@gmail.com) ** @@ -43,17 +43,18 @@ #include #include #include +#include #include "fontsconfigproperties.h" +class QUrl; + class InstalledFontInfo; +class FontsConf; class FontConfigManager : public QObject { Q_OBJECT - Q_PROPERTY(QStringList families READ families NOTIFY familiesChanged) - Q_PROPERTY(QStringList systemFamilies READ systemFamilies NOTIFY systemFamiliesChanged) - Q_PROPERTY(QStringList localFamilies READ localFamilies NOTIFY localFamiliesChanged) public: explicit FontConfigManager(QObject *parent = 0); @@ -66,16 +67,15 @@ public: QString localFontsConfPath() const; void setLocalFontsConfPath(const QString &path); + bool localFontsConfExists() const; + bool hasUnknownConfig() const; bool fontsConfModified() const; - - QStringList families() const; - QStringList systemFamilies() const; - QStringList localFamilies() const; + bool isEmptyLocalFontsConf() const; QStringList fontCount(const QString &fontpath) const; - InstalledFontInfo *fontInfo(const QString &family) const; + InstalledFontInfo *fontInfo(const QString &family, const QString &fullname = QString()) const; InstalledFontInfo *fontInfo(int index) const; int count() const; @@ -86,43 +86,77 @@ public: QString localFontsConf() const; + QStringList preferFamilyFor(const QString &family) const; + QStringList acceptFamilyFor(const QString &family) const; + QStringList prependFamilyFor(const QString &family) const; + QStringList appendFamilyFor(const QString &family) const; + + void addPreferFamily(const QString &family, const QString &value); + void addAcceptFamily(const QString &family, const QString &value); + void addPrependFamily(const QString &family, const QString &value); + void addAppendFamily(const QString &family, const QString &value); + + void insertPreferFamily(const QString &family, const QString &value, int index); + void insertAcceptFamily(const QString &family, const QString &value, int index); + void insertPrependFamily(const QString &family, const QString &value, int index); + void insertAppendFamily(const QString &family, const QString &value, int index); + + void removePreferFamily(const QString &family, const QString &value); + void removeAcceptFamily(const QString &family, const QString &value); + void removePrependFamily(const QString &family, const QString &value); + void removeAppendFamily(const QString &family, const QString &value); + + bool isConflict(const QString &family, const QStringList &lang) const; + QStringList systemPreferFamilyFor(const QString &family) const; + + void importSystemSettings(const QString &family); + + void createRecommendedSettings(); + + QStringList installableFamily(const QString &family, bool localOnly = false); + + QString localeFamily(const QString &family) const; + private: - void appendFontPropertyBool(const QString &config, FontsConfigProperties::ConfigValue value, FontsConfigProperties *prop, const QStringList &familyList = QStringList()); - bool fontPropertyBoolValue(const QString &config, bool value, const QString &family, const QStringList &familyList) const; + bool maybeSansSerifFont(InstalledFontInfo *info) const; + bool maybeSerifFont(InstalledFontInfo *info) const; + bool maybeMonospaceFont(InstalledFontInfo *info) const; + QFont font4info(InstalledFontInfo *info, int pointSize) const; signals: void fcCacheFinished(); - void familiesChanged(); - void systemFamiliesChanged(); - void localFamiliesChanged(); - + void localFontsConfExistsChanged(); void localFontsConfPathChanged(); - void warning(const QString &message); + void startUpdateFontsConfig(); + void endUpdateFontsConfig(); + void fontListUpdated(); + void fontsConfUpdated(); -private slots: - void clearFontProperties(); + void warning(const QString &message); public slots: void runFcCache(); void readFcList(); void readFontsConf(); void saveFontsConf(); + void backupFontsConf(const QString &filepath); + void restoreFontsConf(const QString &filepath); + + void resetFontsConf(); private: QString mLang; QString mLocalFontPath; QString mLocalFontsConfPath; QList mFcListInfo; - QStringList mFamilies; - QStringList mSystemFamilies; - QStringList mLocalFamilies; - bool mHasUnknownConfig; - bool mFontsConfModified; - - QMap mPreferFontListMap; - QMap mMatchFontListMap; + QMap mEnLocaleFontMap; + + FontsConf *mLocalFontsConf; + FontsConf *mSystemLocalConf; + + QList mConflictFonts; }; #endif // FONTCONFIGMANAGER_H