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 __konq_htmlsettings_h__
00021 #define __konq_htmlsettings_h__
00022
00023 class KConfig;
00024 class KConfigGroup;
00025 #include <khtml_export.h>
00026 #include <QtGui/QColor>
00027 #include <QtCore/QString>
00028 #include <QtCore/QStringList>
00029 #include <QtGui/QFont>
00030 #include <QtCore/QMap>
00031 #include <QtCore/QPair>
00032
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
00068 enum KJSWindowOpenPolicy {
00069 KJSWindowOpenAllow=0,
00070 KJSWindowOpenAsk,
00071 KJSWindowOpenDeny,
00072 KJSWindowOpenSmart
00073 };
00074
00078 enum KJSWindowStatusPolicy {
00079 KJSWindowStatusAllow=0,
00080 KJSWindowStatusIgnore
00081 };
00082
00086 enum KJSWindowMovePolicy {
00087 KJSWindowMoveAllow=0,
00088 KJSWindowMoveIgnore
00089 };
00090
00094 enum KJSWindowResizePolicy {
00095 KJSWindowResizeAllow=0,
00096 KJSWindowResizeIgnore
00097 };
00098
00102 enum KJSWindowFocusPolicy {
00103 KJSWindowFocusAllow=0,
00104 KJSWindowFocusIgnore
00105 };
00106
00110 KHTMLSettings();
00111 KHTMLSettings(const KHTMLSettings &other);
00112
00116 void init();
00117
00123 void init( KConfig * config, bool reset = true );
00124
00128 virtual ~KHTMLSettings();
00129
00130
00131 bool changeCursor() const;
00132 bool underlineLink() const;
00133 bool hoverLink() const;
00134 bool allowTabulation() const;
00135 bool autoSpellCheck() const;
00136 KAnimationAdvice showAnimations() const;
00137 KSmoothScrollingMode smoothScrolling() const;
00138
00139
00140 QString stdFontName() const;
00141 QString fixedFontName() const;
00142 QString serifFontName() const;
00143 QString sansSerifFontName() const;
00144 QString cursiveFontName() const;
00145 QString fantasyFontName() const;
00146
00147
00148 void setStdFontName(const QString &n);
00149 void setFixedFontName(const QString &n);
00150
00151 int minFontSize() const;
00152 int mediumFontSize() const;
00153
00154 bool jsErrorsEnabled() const;
00155 void setJSErrorsEnabled(bool enabled);
00156
00157 const QString &encoding() const;
00158
00159 bool followSystemColors() const;
00160
00161
00162 const QColor& textColor() const;
00163 const QColor& baseColor() const;
00164 const QColor& linkColor() const;
00165 const QColor& vLinkColor() const;
00166
00167
00168 bool autoLoadImages() const;
00169 bool unfinishedImageFrame() const;
00170
00171 bool isOpenMiddleClickEnabled();
00172 bool isBackRightClickEnabled();
00173
00174
00175 bool isJavaEnabled( const QString& hostname = QString() ) const;
00176 bool isJavaScriptEnabled( const QString& hostname = QString() ) const;
00177 bool isJavaScriptDebugEnabled( const QString& hostname = QString() ) const;
00178 bool isJavaScriptErrorReportingEnabled( const QString& hostname = QString() ) const;
00179 bool isPluginsEnabled( const QString& hostname = QString() ) const;
00180
00181
00182 bool isAdFiltered( const QString &url ) const;
00183 bool isAdFilterEnabled() const;
00184 bool isHideAdsEnabled() const;
00185 void addAdFilter( const QString &url );
00186
00187
00188 bool accessKeysEnabled() const;
00189
00190 KJSWindowOpenPolicy windowOpenPolicy( const QString& hostname = QString() ) const;
00191 KJSWindowMovePolicy windowMovePolicy( const QString& hostname = QString() ) const;
00192 KJSWindowResizePolicy windowResizePolicy( const QString& hostname = QString() ) const;
00193 KJSWindowStatusPolicy windowStatusPolicy( const QString& hostname = QString() ) const;
00194 KJSWindowFocusPolicy windowFocusPolicy( const QString& hostname = QString() ) const;
00195
00196
00197 static KJavaScriptAdvice strToAdvice(const QString& _str);
00198 static void splitDomainAdvice(const QString& configStr, QString &domain,
00199 KJavaScriptAdvice &javaAdvice, KJavaScriptAdvice& javaScriptAdvice);
00200 static const char* adviceToStr(KJavaScriptAdvice _advice);
00201
00210 void readDomainSettings(const KConfigGroup &config, bool reset,
00211 bool global, KPerDomainSettings &pd_settings);
00212
00213 QString settingsToCSS() const;
00214 static const QString &availableFamilies();
00215
00216 QString userStyleSheet() const;
00217
00218
00219 bool isFormCompletionEnabled() const;
00220 int maxFormCompletionItems() const;
00221
00222
00223 bool isAutoDelayedActionsEnabled () const;
00224
00225 QList< QPair< QString, QChar > > fallbackAccessKeysAssignments() const;
00226
00227
00228 void setJSPopupBlockerPassivePopup(bool enabled);
00229 bool jsPopupBlockerPassivePopup() const;
00230
00231 private:
00232 friend class KHTMLGlobal;
00233 QString lookupFont(int i) const;
00234
00235 KHTMLSettingsPrivate* const d;
00236 static QString *avFamilies;
00237 };
00238
00239 #endif