Combined the font sizes accessors/setters under one setter/getter with an enum.
authorhausmann <hausmann@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 7 Nov 2007 14:31:54 +0000 (14:31 +0000)
committerhausmann <hausmann@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 7 Nov 2007 14:31:54 +0000 (14:31 +0000)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@27560 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/qt/Api/qwebsettings.cpp
WebKit/qt/Api/qwebsettings.h
WebKit/qt/ChangeLog

index f1d508cf85327a9305061e2e80106b78f3b31458..c30e04ca84fb3f1c6ddcc83369afbc90a3f5d685 100644 (file)
@@ -38,19 +38,12 @@ class QWebSettingsPrivate
 {
 public:
     QWebSettingsPrivate(WebCore::Settings *wcSettings = 0)
-        : minimumFontSize(-1),
-          minimumLogicalFontSize(-1),
-          defaultFontSize(-1),
-          defaultFixedFontSize(-1),
-          settings(wcSettings)
+        : settings(wcSettings)
     {
     }
 
     QHash<int, QString> fontFamilies;
-    int minimumFontSize;
-    int minimumLogicalFontSize;
-    int defaultFontSize;
-    int defaultFixedFontSize;
+    QHash<int, int> fontSizes;
     QHash<int, bool> attributes;
     QString userStyleSheetLocation;
 
@@ -92,16 +85,20 @@ void QWebSettingsPrivate::apply()
                                     global->fontFamilies.value(QWebSettings::FantasyFont));
         settings->setFantasyFontFamily(family);
 
-        int size = minimumFontSize >= 0 ? minimumFontSize : global->minimumFontSize;
+        int size = fontSizes.value(QWebSettings::MinimumFontSize,
+                                   global->fontSizes.value(QWebSettings::MinimumFontSize));
         settings->setMinimumFontSize(size);
 
-        size = minimumLogicalFontSize >= 0 ? minimumLogicalFontSize : global->minimumLogicalFontSize;
+        size = fontSizes.value(QWebSettings::MinimumLogicalFontSize,
+                                   global->fontSizes.value(QWebSettings::MinimumLogicalFontSize));
         settings->setMinimumLogicalFontSize(size);
 
-        size = defaultFontSize >= 0 ? defaultFontSize : global->defaultFontSize;
+        size = fontSizes.value(QWebSettings::DefaultFontSize,
+                                   global->fontSizes.value(QWebSettings::DefaultFontSize));
         settings->setDefaultFontSize(size);
 
-        size = defaultFixedFontSize >= 0 ? defaultFixedFontSize : global->defaultFixedFontSize;
+        size = fontSizes.value(QWebSettings::DefaultFixedFontSize,
+                                   global->fontSizes.value(QWebSettings::DefaultFixedFontSize));
         settings->setDefaultFixedFontSize(size);
 
         bool value = attributes.value(QWebSettings::AutoLoadImages,
@@ -150,10 +147,10 @@ QWebSettings::QWebSettings()
 {
     // Initialize our global defaults
     // changing any of those will likely break the LayoutTests
-    d->minimumFontSize = 5;
-    d->minimumLogicalFontSize = 5;
-    d->defaultFontSize = 14;
-    d->defaultFixedFontSize = 14;
+    d->fontSizes.insert(QWebSettings::MinimumFontSize, 5);
+    d->fontSizes.insert(QWebSettings::MinimumLogicalFontSize, 5);
+    d->fontSizes.insert(QWebSettings::DefaultFontSize, 14);
+    d->fontSizes.insert(QWebSettings::DefaultFixedFontSize, 14);
     d->fontFamilies.insert(QWebSettings::StandardFont, QLatin1String("Arial"));
     d->fontFamilies.insert(QWebSettings::StandardFont, QLatin1String("Arial"));
     d->fontFamilies.insert(QWebSettings::FixedFont, QLatin1String("Courier"));
@@ -178,55 +175,18 @@ QWebSettings::~QWebSettings()
         allSettings()->removeOne(d);
 }
 
-void QWebSettings::setMinimumFontSize(int size)
+void QWebSettings::setFontSize(FontSize type, int size)
 {
-    d->minimumFontSize = size;
-    d->apply();
-}
-
-
-int QWebSettings::minimumFontSize() const
-{
-    return d->minimumFontSize;
-}
-
-
-void QWebSettings::setMinimumLogicalFontSize(int size)
-{
-    d->minimumLogicalFontSize = size;
-    d->apply();
-}
-
-
-int QWebSettings::minimumLogicalFontSize() const
-{
-    return d->minimumLogicalFontSize;
-}
-
-
-void QWebSettings::setDefaultFontSize(int size)
-{
-    d->defaultFontSize = size;
-    d->apply();
-}
-
-
-int QWebSettings::defaultFontSize() const
-{
-    return d->defaultFontSize;
-}
-
-
-void QWebSettings::setDefaultFixedFontSize(int size)
-{
-    d->defaultFixedFontSize = size;
+    if (size < 0)
+        d->fontSizes.remove(type);
+    else
+        d->fontSizes.insert(type, size);
     d->apply();
 }
 
-
-int QWebSettings::defaultFixedFontSize() const
+int QWebSettings::fontSize(FontSize type) const
 {
-    return d->defaultFixedFontSize;
+    return d->fontSizes.value(type);
 }
 
 void QWebSettings::setUserStyleSheetLocation(const QString &location)
index a7f83a0212e7fd7641c0b1b51eabd21975b15762..d0a7924bad57238ff97c42cebcb45f7afd1334fa 100644 (file)
@@ -62,23 +62,20 @@ public:
         DefaultFaviconGraphic,
         TextAreaResizeCornerGraphic
     };
+    enum FontSize {
+        MinimumFontSize,
+        MinimumLogicalFontSize,
+        DefaultFontSize,
+        DefaultFixedFontSize
+    };
 
     static QWebSettings *defaultSettings();
 
     void setFontFamily(FontType type, const QString &family);
     QString fontFamily(FontType type) const;
 
-    void setMinimumFontSize(int);
-    int minimumFontSize() const;
-
-    void setMinimumLogicalFontSize(int);
-    int minimumLogicalFontSize() const;
-
-    void setDefaultFontSize(int);
-    int defaultFontSize() const;
-
-    void setDefaultFixedFontSize(int);
-    int defaultFixedFontSize() const;
+    void setFontSize(FontSize type, int size);
+    int fontSize(FontSize type) const;
 
     void setAttribute(WebAttribute attr, bool on = true);
     bool testAttribute(WebAttribute attr) const;
index d83ceb8056821afbbf9a859c6a928be577b50a65..60e67f1d62364a0aece5d73dc326fe597189572e 100644 (file)
@@ -1,3 +1,16 @@
+2007-11-07  Simon Hausmann  <hausmann@kde.org>
+
+        Reviewed by Lars.
+
+        Combined the font sizes accessors/setters under one setter/getter with an enum.
+
+        * Api/qwebsettings.cpp:
+        (QWebSettingsPrivate::QWebSettingsPrivate):
+        (QWebSettingsPrivate::apply):
+        (QWebSettings::QWebSettings):
+        (QWebSettings::setFontSize):
+        * Api/qwebsettings.h:
+
 2007-11-07  Simon Hausmann  <hausmann@kde.org>
 
         Reviewed by Lars.