#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
QWEBKIT_EXPORT void qt_networkAccessAllowed(bool isAllowed);
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,
JavascriptCanCloseWindows,
WebGLEnabled,
CSSRegionsEnabled,
CSSCompositingEnabled,
HyperlinkAuditingEnabled,
CSSGridLayoutEnabled,
ScrollAnimatorEnabled,
CaretBrowsingEnabled,
NotificationsEnabled,
WebAudioEnabled
};
enum WebGraphic {
MissingImageGraphic,
MissingPluginGraphic,
DefaultFrameIconGraphic,
TextAreaSizeGripCornerGraphic,
DeleteButtonGraphic,
InputSpeechButtonGraphic,
SearchCancelButtonGraphic,
SearchCancelButtonPressedGraphic
};
enum FontSize {
MinimumFontSize,
MinimumLogicalFontSize,
DefaultFontSize,
DefaultFixedFontSize
};
enum ThirdPartyCookiePolicy {
AlwaysAllowThirdPartyCookies,
AlwaysBlockThirdPartyCookies,
AllowThirdPartyWithExistingCookies
};
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 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());
void setThirdPartyCookiePolicy(ThirdPartyCookiePolicy);
QWebSettings::ThirdPartyCookiePolicy thirdPartyCookiePolicy() const;
void setCSSMediaType(const QString&);
QString cssMediaType() const;
inline QWebSettingsPrivate* handle() const { return d; }
private:
friend class QWebPageAdapter;
friend class QWebPagePrivate;
friend class QWebSettingsPrivate;
Q_DISABLE_COPY(QWebSettings)
QWebSettings();
QWebSettings(WebCore::Settings *settings);
~QWebSettings();
QWebSettingsPrivate *d;
};
#endif