/* | |
Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | |
This library is free software; you can redistribute it and/or | |
modify it under the terms of the GNU Library General Public | |
License as published by the Free Software Foundation; either | |
version 2 of the License, or (at your option) any later version. | |
This library is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
Library General Public License for more details. | |
You should have received a copy of the GNU Library General Public License | |
along with this library; see the file COPYING.LIB. If not, write to | |
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | |
Boston, MA 02110-1301, USA. | |
*/ | |
#ifndef QWEBSETTINGS_H | |
#define QWEBSETTINGS_H | |
#include "qwebkitglobal.h" | |
#include <QtCore/qstring.h> | |
#include <QtGui/qpixmap.h> | |
#include <QtGui/qicon.h> | |
#include <QtCore/qshareddata.h> | |
namespace WebCore { | |
class Settings; | |
} | |
class QWebPage; | |
class QWebPluginDatabase; | |
class QWebSettingsPrivate; | |
QT_BEGIN_NAMESPACE | |
class QUrl; | |
QT_END_NAMESPACE | |
class QWEBKIT_EXPORT QWebSettings { | |
public: | |
enum FontFamily { | |
StandardFont, | |
FixedFont, | |
SerifFont, | |
SansSerifFont, | |
CursiveFont, | |
FantasyFont | |
}; | |
enum WebAttribute { | |
AutoLoadImages, | |
JavascriptEnabled, | |
JavaEnabled, | |
PluginsEnabled, | |
PrivateBrowsingEnabled, | |
JavascriptCanOpenWindows, | |
JavascriptCanAccessClipboard, | |
DeveloperExtrasEnabled, | |
LinksIncludedInFocusChain, | |
ZoomTextOnly, | |
PrintElementBackgrounds, | |
OfflineStorageDatabaseEnabled, | |
OfflineWebApplicationCacheEnabled, | |
LocalStorageEnabled, | |
#if defined(QT_DEPRECATED) || defined(qdoc) | |
LocalStorageDatabaseEnabled = LocalStorageEnabled, | |
#endif | |
LocalContentCanAccessRemoteUrls, | |
DnsPrefetchEnabled, | |
XSSAuditingEnabled, | |
AcceleratedCompositingEnabled, | |
SpatialNavigationEnabled, | |
LocalContentCanAccessFileUrls, | |
TiledBackingStoreEnabled, | |
FrameFlatteningEnabled, | |
SiteSpecificQuirksEnabled | |
}; | |
enum WebGraphic { | |
MissingImageGraphic, | |
MissingPluginGraphic, | |
DefaultFrameIconGraphic, | |
TextAreaSizeGripCornerGraphic, | |
DeleteButtonGraphic | |
}; | |
enum FontSize { | |
MinimumFontSize, | |
MinimumLogicalFontSize, | |
DefaultFontSize, | |
DefaultFixedFontSize | |
}; | |
static QWebSettings *globalSettings(); | |
void setFontFamily(FontFamily which, const QString &family); | |
QString fontFamily(FontFamily which) const; | |
void resetFontFamily(FontFamily which); | |
void setFontSize(FontSize type, int size); | |
int fontSize(FontSize type) const; | |
void resetFontSize(FontSize type); | |
void setAttribute(WebAttribute attr, bool on); | |
bool testAttribute(WebAttribute attr) const; | |
void resetAttribute(WebAttribute attr); | |
void setUserStyleSheetUrl(const QUrl &location); | |
QUrl userStyleSheetUrl() const; | |
void setDefaultTextEncoding(const QString &encoding); | |
QString defaultTextEncoding() const; | |
static void setIconDatabasePath(const QString &location); | |
static QString iconDatabasePath(); | |
static void clearIconDatabase(); | |
static QIcon iconForUrl(const QUrl &url); | |
//static QWebPluginDatabase *pluginDatabase(); | |
static void setWebGraphic(WebGraphic type, const QPixmap &graphic); | |
static QPixmap webGraphic(WebGraphic type); | |
static void setMaximumPagesInCache(int pages); | |
static int maximumPagesInCache(); | |
static void setObjectCacheCapacities(int cacheMinDeadCapacity, int cacheMaxDead, int totalCapacity); | |
static void setOfflineStoragePath(const QString& path); | |
static QString offlineStoragePath(); | |
static void setOfflineStorageDefaultQuota(qint64 maximumSize); | |
static qint64 offlineStorageDefaultQuota(); | |
static void setOfflineWebApplicationCachePath(const QString& path); | |
static QString offlineWebApplicationCachePath(); | |
static void setOfflineWebApplicationCacheQuota(qint64 maximumSize); | |
static qint64 offlineWebApplicationCacheQuota(); | |
void setLocalStoragePath(const QString& path); | |
QString localStoragePath() const; | |
static void clearMemoryCaches(); | |
static void enablePersistentStorage(const QString& path = QString()); | |
inline QWebSettingsPrivate* handle() const { return d; } | |
private: | |
friend class QWebPagePrivate; | |
friend class QWebSettingsPrivate; | |
Q_DISABLE_COPY(QWebSettings) | |
QWebSettings(); | |
QWebSettings(WebCore::Settings *settings); | |
~QWebSettings(); | |
QWebSettingsPrivate *d; | |
}; | |
#endif |