// qwebsettings.sip generated by MetaSIP
//
// This file is part of the QtWebKit Python extension module.
//
// Copyright (c) 2016 Riverbank Computing Limited <info@riverbankcomputing.com>
// 
// This file is part of PyQt5.
// 
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file.  Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
// 
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license.  For more information contact
// info@riverbankcomputing.com.
// 
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


class QWebSettings
{
%TypeHeaderCode
#include <qwebsettings.h>
%End

public:
    enum FontFamily
    {
        StandardFont,
        FixedFont,
        SerifFont,
        SansSerifFont,
        CursiveFont,
        FantasyFont,
    };

    enum WebAttribute
    {
        AutoLoadImages,
        JavascriptEnabled,
        JavaEnabled,
        PluginsEnabled,
        PrivateBrowsingEnabled,
        JavascriptCanOpenWindows,
        JavascriptCanCloseWindows,
        JavascriptCanAccessClipboard,
        DeveloperExtrasEnabled,
        LinksIncludedInFocusChain,
        ZoomTextOnly,
        PrintElementBackgrounds,
        OfflineStorageDatabaseEnabled,
        OfflineWebApplicationCacheEnabled,
        LocalStorageDatabaseEnabled,
        LocalStorageEnabled,
        LocalContentCanAccessRemoteUrls,
        DnsPrefetchEnabled,
        XSSAuditingEnabled,
        AcceleratedCompositingEnabled,
        SpatialNavigationEnabled,
        LocalContentCanAccessFileUrls,
        TiledBackingStoreEnabled,
        FrameFlatteningEnabled,
        SiteSpecificQuirksEnabled,
        WebGLEnabled,
        HyperlinkAuditingEnabled,
        CSSRegionsEnabled,
        CSSGridLayoutEnabled,
        ScrollAnimatorEnabled,
        CaretBrowsingEnabled,
        NotificationsEnabled,
%If (Qt_5_2_0 -)
        WebAudioEnabled,
%End
%If (Qt_5_4_0 -)
        Accelerated2dCanvasEnabled,
%End
    };

    enum WebGraphic
    {
        MissingImageGraphic,
        MissingPluginGraphic,
        DefaultFrameIconGraphic,
        TextAreaSizeGripCornerGraphic,
        InputSpeechButtonGraphic,
        SearchCancelButtonGraphic,
        SearchCancelButtonPressedGraphic,
    };

    enum FontSize
    {
        MinimumFontSize,
        MinimumLogicalFontSize,
        DefaultFontSize,
        DefaultFixedFontSize,
    };

    static QWebSettings *globalSettings();
    void setFontFamily(QWebSettings::FontFamily which, const QString &family);
    QString fontFamily(QWebSettings::FontFamily which) const;
    void resetFontFamily(QWebSettings::FontFamily which);
    void setFontSize(QWebSettings::FontSize type, int size);
    int fontSize(QWebSettings::FontSize type) const;
    void resetFontSize(QWebSettings::FontSize type);
    void setAttribute(QWebSettings::WebAttribute attr, bool on);
    bool testAttribute(QWebSettings::WebAttribute attr) const;
    void resetAttribute(QWebSettings::WebAttribute attr);
    void setUserStyleSheetUrl(const QUrl &location);
    QUrl userStyleSheetUrl() const;
    static void setIconDatabasePath(const QString &location);
    static QString iconDatabasePath();
    static void clearIconDatabase();
    static QIcon iconForUrl(const QUrl &url);
    static void setWebGraphic(QWebSettings::WebGraphic type, const QPixmap &graphic);
    static QPixmap webGraphic(QWebSettings::WebGraphic type);
    static void setMaximumPagesInCache(int pages);
    static int maximumPagesInCache();
    static void setObjectCacheCapacities(int cacheMinDeadCapacity, int cacheMaxDead, int totalCapacity);

private:
    QWebSettings();
    QWebSettings(const QWebSettings &);
    ~QWebSettings();

public:
    static void setOfflineStoragePath(const QString &path);
    static QString offlineStoragePath();
    static void setOfflineStorageDefaultQuota(qint64 maximumSize);
    static qint64 offlineStorageDefaultQuota();
    void setDefaultTextEncoding(const QString &encoding);
    QString defaultTextEncoding() const;
    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());

    enum ThirdPartyCookiePolicy
    {
        AlwaysAllowThirdPartyCookies,
        AlwaysBlockThirdPartyCookies,
        AllowThirdPartyWithExistingCookies,
    };

    void setThirdPartyCookiePolicy(QWebSettings::ThirdPartyCookiePolicy);
    QWebSettings::ThirdPartyCookiePolicy thirdPartyCookiePolicy() const;
%If (Qt_5_1_0 -)
    void setCSSMediaType(const QString &);
%End
%If (Qt_5_1_0 -)
    QString cssMediaType() const;
%End
};
