qwebsettings.h
上传用户:detong
上传日期:2022-06-22
资源大小:20675k
文件大小:3k
源码类别:

系统编程

开发平台:

Unix_Linux

  1. /*
  2.     Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
  3.     This library is free software; you can redistribute it and/or
  4.     modify it under the terms of the GNU Library General Public
  5.     License as published by the Free Software Foundation; either
  6.     version 2 of the License, or (at your option) any later version.
  7.     This library is distributed in the hope that it will be useful,
  8.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  9.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  10.     Library General Public License for more details.
  11.     You should have received a copy of the GNU Library General Public License
  12.     along with this library; see the file COPYING.LIB.  If not, write to
  13.     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  14.     Boston, MA 02110-1301, USA.
  15. */
  16. #ifndef QWEBSETTINGS_H
  17. #define QWEBSETTINGS_H
  18. #include "qwebkitglobal.h"
  19. #include <QtCore/qstring.h>
  20. #include <QtGui/qpixmap.h>
  21. #include <QtGui/qicon.h>
  22. #include <QtCore/qshareddata.h>
  23. namespace WebCore
  24. {
  25.     class Settings;
  26. }
  27. class QWebPage;
  28. class QWebSettingsPrivate;
  29. QT_BEGIN_NAMESPACE
  30. class QUrl;
  31. QT_END_NAMESPACE
  32. class QWEBKIT_EXPORT QWebSettings
  33. {
  34. public:
  35.     enum FontFamily {
  36.         StandardFont,
  37.         FixedFont,
  38.         SerifFont,
  39.         SansSerifFont,
  40.         CursiveFont,
  41.         FantasyFont
  42.     };
  43.     enum WebAttribute {
  44.         AutoLoadImages,
  45.         JavascriptEnabled,
  46.         JavaEnabled,
  47.         PluginsEnabled,
  48.         PrivateBrowsingEnabled,
  49.         JavascriptCanOpenWindows,
  50.         JavascriptCanAccessClipboard,
  51.         DeveloperExtrasEnabled,
  52.         LinksIncludedInFocusChain
  53.     };
  54.     enum WebGraphic {
  55.         MissingImageGraphic,
  56.         MissingPluginGraphic,
  57.         DefaultFrameIconGraphic,
  58.         TextAreaSizeGripCornerGraphic
  59.     };
  60.     enum FontSize {
  61.         MinimumFontSize,
  62.         MinimumLogicalFontSize,
  63.         DefaultFontSize,
  64.         DefaultFixedFontSize
  65.     };
  66.     static QWebSettings *globalSettings();
  67.     void setFontFamily(FontFamily which, const QString &family);
  68.     QString fontFamily(FontFamily which) const;
  69.     void resetFontFamily(FontFamily which);
  70.     void setFontSize(FontSize type, int size);
  71.     int fontSize(FontSize type) const;
  72.     void resetFontSize(FontSize type);
  73.     void setAttribute(WebAttribute attr, bool on);
  74.     bool testAttribute(WebAttribute attr) const;
  75.     void resetAttribute(WebAttribute attr);
  76.     void setUserStyleSheetUrl(const QUrl &location);
  77.     QUrl userStyleSheetUrl() const;
  78.     static void setIconDatabasePath(const QString &location);
  79.     static QString iconDatabasePath();
  80.     static void clearIconDatabase();
  81.     static QIcon iconForUrl(const QUrl &url);
  82.     static void setWebGraphic(WebGraphic type, const QPixmap &graphic);
  83.     static QPixmap webGraphic(WebGraphic type);
  84.     static void setMaximumPagesInCache(int pages);
  85.     static int maximumPagesInCache();
  86.     static void setObjectCacheCapacities(int cacheMinDeadCapacity, int cacheMaxDead, int totalCapacity);
  87. private:
  88.     friend class QWebPagePrivate;
  89.     friend class QWebSettingsPrivate;
  90.     Q_DISABLE_COPY(QWebSettings)
  91.     QWebSettings();
  92.     QWebSettings(WebCore::Settings *settings);
  93.     ~QWebSettings();
  94.     QWebSettingsPrivate *d;
  95. };
  96. #endif