WebKit/qt/Api/qwebsettings.h
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     1 /*
       
     2     Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
       
     3 
       
     4     This library is free software; you can redistribute it and/or
       
     5     modify it under the terms of the GNU Library General Public
       
     6     License as published by the Free Software Foundation; either
       
     7     version 2 of the License, or (at your option) any later version.
       
     8 
       
     9     This library is distributed in the hope that it will be useful,
       
    10     but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       
    12     Library General Public License for more details.
       
    13 
       
    14     You should have received a copy of the GNU Library General Public License
       
    15     along with this library; see the file COPYING.LIB.  If not, write to
       
    16     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
       
    17     Boston, MA 02110-1301, USA.
       
    18 */
       
    19 
       
    20 #ifndef QWEBSETTINGS_H
       
    21 #define QWEBSETTINGS_H
       
    22 
       
    23 #include "qwebkitglobal.h"
       
    24 
       
    25 #include <QtCore/qstring.h>
       
    26 #include <QtGui/qpixmap.h>
       
    27 #include <QtGui/qicon.h>
       
    28 #include <QtCore/qshareddata.h>
       
    29 
       
    30 namespace WebCore {
       
    31     class Settings;
       
    32 }
       
    33 
       
    34 class QWebPage;
       
    35 class QWebPluginDatabase;
       
    36 class QWebSettingsPrivate;
       
    37 QT_BEGIN_NAMESPACE
       
    38 class QUrl;
       
    39 QT_END_NAMESPACE
       
    40 
       
    41 class QWEBKIT_EXPORT QWebSettings {
       
    42 public:
       
    43     enum FontFamily {
       
    44         StandardFont,
       
    45         FixedFont,
       
    46         SerifFont,
       
    47         SansSerifFont,
       
    48         CursiveFont,
       
    49         FantasyFont
       
    50     };
       
    51     enum WebAttribute {
       
    52         AutoLoadImages,
       
    53         JavascriptEnabled,
       
    54         JavaEnabled,
       
    55         PluginsEnabled,
       
    56         PrivateBrowsingEnabled,
       
    57         JavascriptCanOpenWindows,
       
    58         JavascriptCanAccessClipboard,
       
    59         DeveloperExtrasEnabled,
       
    60         LinksIncludedInFocusChain,
       
    61         ZoomTextOnly,
       
    62         PrintElementBackgrounds,
       
    63         OfflineStorageDatabaseEnabled,
       
    64         OfflineWebApplicationCacheEnabled,
       
    65         LocalStorageEnabled,
       
    66 #if defined(QT_DEPRECATED) || defined(qdoc)
       
    67         LocalStorageDatabaseEnabled = LocalStorageEnabled,
       
    68 #endif
       
    69         LocalContentCanAccessRemoteUrls,
       
    70         DnsPrefetchEnabled,
       
    71         XSSAuditingEnabled,
       
    72         AcceleratedCompositingEnabled,
       
    73         SpatialNavigationEnabled,
       
    74         LocalContentCanAccessFileUrls,
       
    75         TiledBackingStoreEnabled,
       
    76         FrameFlatteningEnabled,
       
    77         SiteSpecificQuirksEnabled,
       
    78         WebGLEnabled
       
    79     };
       
    80     enum WebGraphic {
       
    81         MissingImageGraphic,
       
    82         MissingPluginGraphic,
       
    83         DefaultFrameIconGraphic,
       
    84         TextAreaSizeGripCornerGraphic,
       
    85         DeleteButtonGraphic,
       
    86         InputSpeechButtonGraphic
       
    87     };
       
    88     enum FontSize {
       
    89         MinimumFontSize,
       
    90         MinimumLogicalFontSize,
       
    91         DefaultFontSize,
       
    92         DefaultFixedFontSize
       
    93     };
       
    94 
       
    95     static QWebSettings *globalSettings();
       
    96 
       
    97     void setFontFamily(FontFamily which, const QString &family);
       
    98     QString fontFamily(FontFamily which) const;
       
    99     void resetFontFamily(FontFamily which);
       
   100 
       
   101     void setFontSize(FontSize type, int size);
       
   102     int fontSize(FontSize type) const;
       
   103     void resetFontSize(FontSize type);
       
   104 
       
   105     void setAttribute(WebAttribute attr, bool on);
       
   106     bool testAttribute(WebAttribute attr) const;
       
   107     void resetAttribute(WebAttribute attr);
       
   108 
       
   109     void setUserStyleSheetUrl(const QUrl &location);
       
   110     QUrl userStyleSheetUrl() const;
       
   111 
       
   112     void setDefaultTextEncoding(const QString &encoding);
       
   113     QString defaultTextEncoding() const;
       
   114 
       
   115     static void setIconDatabasePath(const QString &location);
       
   116     static QString iconDatabasePath();
       
   117     static void clearIconDatabase();
       
   118     static QIcon iconForUrl(const QUrl &url);
       
   119 
       
   120     //static QWebPluginDatabase *pluginDatabase();
       
   121 
       
   122     static void setWebGraphic(WebGraphic type, const QPixmap &graphic);
       
   123     static QPixmap webGraphic(WebGraphic type);
       
   124 
       
   125     static void setMaximumPagesInCache(int pages);
       
   126     static int maximumPagesInCache();
       
   127     static void setObjectCacheCapacities(int cacheMinDeadCapacity, int cacheMaxDead, int totalCapacity);
       
   128 
       
   129     static void setOfflineStoragePath(const QString& path);
       
   130     static QString offlineStoragePath();
       
   131     static void setOfflineStorageDefaultQuota(qint64 maximumSize);
       
   132     static qint64 offlineStorageDefaultQuota();
       
   133 
       
   134     static void setOfflineWebApplicationCachePath(const QString& path);
       
   135     static QString offlineWebApplicationCachePath();
       
   136     static void setOfflineWebApplicationCacheQuota(qint64 maximumSize);
       
   137     static qint64 offlineWebApplicationCacheQuota();
       
   138     
       
   139     void setLocalStoragePath(const QString& path);
       
   140     QString localStoragePath() const; 
       
   141 
       
   142     static void clearMemoryCaches();
       
   143 
       
   144     static void enablePersistentStorage(const QString& path = QString());
       
   145 
       
   146     inline QWebSettingsPrivate* handle() const { return d; }
       
   147 
       
   148 private:
       
   149     friend class QWebPagePrivate;
       
   150     friend class QWebSettingsPrivate;
       
   151 
       
   152     Q_DISABLE_COPY(QWebSettings)
       
   153 
       
   154     QWebSettings();
       
   155     QWebSettings(WebCore::Settings *settings);
       
   156     ~QWebSettings();
       
   157 
       
   158     QWebSettingsPrivate *d;
       
   159 };
       
   160 
       
   161 #endif