KHTML
khtml_settings.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KHTML_SETTINGS_H
00021 #define KHTML_SETTINGS_H
00022
00023 class KConfig;
00024 class KConfigGroup;
00025
00026 #include <khtml_export.h>
00027
00028 #include <QtGui/QColor>
00029 #include <QtGui/QFont>
00030 #include <QtCore/QMap>
00031 #include <QtCore/QStringList>
00032 #include <QtCore/QPair>
00033
00034 struct KPerDomainSettings;
00035 class KHTMLSettingsPrivate;
00036
00040 class KHTML_EXPORT KHTMLSettings
00041 {
00042 public:
00043
00047 enum KJavaScriptAdvice {
00048 KJavaScriptDunno=0,
00049 KJavaScriptAccept,
00050 KJavaScriptReject
00051 };
00052
00053 enum KAnimationAdvice {
00054 KAnimationDisabled=0,
00055 KAnimationLoopOnce,
00056 KAnimationEnabled
00057 };
00058
00059 enum KSmoothScrollingMode {
00060 KSmoothScrollingDisabled=0,
00061 KSmoothScrollingWhenEfficient,
00062 KSmoothScrollingEnabled
00063 };
00064
00065 enum KDNSPrefetch {
00066 KDNSPrefetchDisabled=0,
00067 KDNSPrefetchOnlyWWWAndSLD,
00068 KDNSPrefetchEnabled
00069 };
00070
00074 enum KJSWindowOpenPolicy {
00075 KJSWindowOpenAllow=0,
00076 KJSWindowOpenAsk,
00077 KJSWindowOpenDeny,
00078 KJSWindowOpenSmart
00079 };
00080
00084 enum KJSWindowStatusPolicy {
00085 KJSWindowStatusAllow=0,
00086 KJSWindowStatusIgnore
00087 };
00088
00092 enum KJSWindowMovePolicy {
00093 KJSWindowMoveAllow=0,
00094 KJSWindowMoveIgnore
00095 };
00096
00100 enum KJSWindowResizePolicy {
00101 KJSWindowResizeAllow=0,
00102 KJSWindowResizeIgnore
00103 };
00104
00108 enum KJSWindowFocusPolicy {
00109 KJSWindowFocusAllow=0,
00110 KJSWindowFocusIgnore
00111 };
00112
00116 KHTMLSettings();
00117 KHTMLSettings(const KHTMLSettings &other);
00118
00122 void init();
00123
00129 void init( KConfig * config, bool reset = true );
00130
00134 virtual ~KHTMLSettings();
00135
00136
00137 bool changeCursor() const;
00138 bool underlineLink() const;
00139 bool hoverLink() const;
00140 bool allowTabulation() const;
00141 bool autoSpellCheck() const;
00142 KAnimationAdvice showAnimations() const;
00143 KSmoothScrollingMode smoothScrolling() const;
00144 KDNSPrefetch dnsPrefetch() const;
00145
00146
00147 QString stdFontName() const;
00148 QString fixedFontName() const;
00149 QString serifFontName() const;
00150 QString sansSerifFontName() const;
00151 QString cursiveFontName() const;
00152 QString fantasyFontName() const;
00153
00154
00155 void setStdFontName(const QString &n);
00156 void setFixedFontName(const QString &n);
00157
00158 int minFontSize() const;
00159 int mediumFontSize() const;
00160
00161 bool jsErrorsEnabled() const;
00162 void setJSErrorsEnabled(bool enabled);
00163
00164 const QString &encoding() const;
00165
00166 bool followSystemColors() const;
00167
00168
00169 const QColor& textColor() const;
00170 const QColor& baseColor() const;
00171 const QColor& linkColor() const;
00172 const QColor& vLinkColor() const;
00173
00174
00175 bool autoLoadImages() const;
00176 bool unfinishedImageFrame() const;
00177
00178 bool isOpenMiddleClickEnabled();
00179 bool isBackRightClickEnabled();
00180
00181
00182 bool isJavaEnabled( const QString& hostname = QString() ) const;
00183 bool isJavaScriptEnabled( const QString& hostname = QString() ) const;
00184 bool isJavaScriptDebugEnabled( const QString& hostname = QString() ) const;
00185 bool isJavaScriptErrorReportingEnabled( const QString& hostname = QString() ) const;
00186 bool isPluginsEnabled( const QString& hostname = QString() ) const;
00187
00188
00189
00194 bool isAdFiltered( const QString &url ) const;
00195
00204 QString adFilteredBy( const QString &url, bool *isWhiteListed = 0 ) const;
00205
00206 bool isAdFilterEnabled() const;
00207 bool isHideAdsEnabled() const;
00208 void addAdFilter( const QString &url );
00209
00210
00211 bool accessKeysEnabled() const;
00212
00213 KJSWindowOpenPolicy windowOpenPolicy( const QString& hostname = QString() ) const;
00214 KJSWindowMovePolicy windowMovePolicy( const QString& hostname = QString() ) const;
00215 KJSWindowResizePolicy windowResizePolicy( const QString& hostname = QString() ) const;
00216 KJSWindowStatusPolicy windowStatusPolicy( const QString& hostname = QString() ) const;
00217 KJSWindowFocusPolicy windowFocusPolicy( const QString& hostname = QString() ) const;
00218
00219
00220 static KJavaScriptAdvice strToAdvice(const QString& _str);
00221 static void splitDomainAdvice(const QString& configStr, QString &domain,
00222 KJavaScriptAdvice &javaAdvice, KJavaScriptAdvice& javaScriptAdvice);
00223 static const char* adviceToStr(KJavaScriptAdvice _advice);
00224
00233 void readDomainSettings(const KConfigGroup &config, bool reset,
00234 bool global, KPerDomainSettings &pd_settings);
00235
00236 QString settingsToCSS() const;
00237 static const QString &availableFamilies();
00238
00239 QString userStyleSheet() const;
00240
00241
00242 bool isFormCompletionEnabled() const;
00243 int maxFormCompletionItems() const;
00244
00245
00246 bool isAutoDelayedActionsEnabled () const;
00247
00248 QList< QPair< QString, QChar > > fallbackAccessKeysAssignments() const;
00249
00250
00251 void setJSPopupBlockerPassivePopup(bool enabled);
00252 bool jsPopupBlockerPassivePopup() const;
00253
00254 private:
00255 friend class KHTMLGlobal;
00256 QString lookupFont(int i) const;
00257
00258 KHTMLSettingsPrivate* const d;
00259 static QString *avFamilies;
00260 };
00261
00262 #endif