|
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 |