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 #include <qcolor.h>
00025 #include <qstring.h>
00026 #include <qstringlist.h>
00027 #include <qfont.h>
00028 #include <qmap.h>
00029
00030 #include <kdelibs_export.h>
00031
00032 struct KPerDomainSettings;
00033 class KHTMLSettingsPrivate;
00034
00038 class KHTML_EXPORT KHTMLSettings
00039 {
00040 public:
00041
00045 enum KJavaScriptAdvice {
00046 KJavaScriptDunno=0,
00047 KJavaScriptAccept,
00048 KJavaScriptReject
00049 };
00050
00051 enum KAnimationAdvice {
00052 KAnimationDisabled=0,
00053 KAnimationLoopOnce,
00054 KAnimationEnabled
00055 };
00056
00060 enum KJSWindowOpenPolicy {
00061 KJSWindowOpenAllow=0,
00062 KJSWindowOpenAsk,
00063 KJSWindowOpenDeny,
00064 KJSWindowOpenSmart
00065 };
00066
00070 enum KJSWindowStatusPolicy {
00071 KJSWindowStatusAllow=0,
00072 KJSWindowStatusIgnore
00073 };
00074
00078 enum KJSWindowMovePolicy {
00079 KJSWindowMoveAllow=0,
00080 KJSWindowMoveIgnore
00081 };
00082
00086 enum KJSWindowResizePolicy {
00087 KJSWindowResizeAllow=0,
00088 KJSWindowResizeIgnore
00089 };
00090
00094 enum KJSWindowFocusPolicy {
00095 KJSWindowFocusAllow=0,
00096 KJSWindowFocusIgnore
00097 };
00098
00102 KHTMLSettings();
00103 KHTMLSettings(const KHTMLSettings &other);
00104
00108 void init();
00109
00115 void init( KConfig * config, bool reset = true );
00116
00120 virtual ~KHTMLSettings();
00121
00122
00123 bool changeCursor() const;
00124 bool underlineLink() const;
00125 bool hoverLink() const;
00126 bool allowTabulation() const;
00127 bool autoSpellCheck() const;
00128 KAnimationAdvice showAnimations() const;
00129
00130
00131 QString stdFontName() const;
00132 QString fixedFontName() const;
00133 QString serifFontName() const;
00134 QString sansSerifFontName() const;
00135 QString cursiveFontName() const;
00136 QString fantasyFontName() const;
00137
00138
00139 void setStdFontName(const QString &n);
00140 void setFixedFontName(const QString &n);
00141
00142 int minFontSize() const;
00143 int mediumFontSize() const;
00144
00145 bool jsErrorsEnabled() const;
00146 void setJSErrorsEnabled(bool enabled);
00147
00148 const QString &encoding() const;
00149
00150 bool followSystemColors() const;
00151
00152
00153 const QColor& textColor() const;
00154 const QColor& baseColor() const;
00155 const QColor& linkColor() const;
00156 const QColor& vLinkColor() const;
00157
00158
00159 bool autoLoadImages() const;
00160 bool unfinishedImageFrame() const;
00161
00162 bool isOpenMiddleClickEnabled();
00163 bool isBackRightClickEnabled();
00164
00165
00166
00167 bool isJavaEnabled( const QString& hostname = QString::null );
00168 bool isJavaScriptEnabled( const QString& hostname = QString::null );
00169 bool isJavaScriptDebugEnabled( const QString& hostname = QString::null );
00170 bool isJavaScriptErrorReportingEnabled( const QString& hostname = QString::null ) const;
00171 bool isPluginsEnabled( const QString& hostname = QString::null );
00172
00173
00174 bool isAdFiltered( const QString &url ) const;
00175 bool isAdFilterEnabled() const;
00176 bool isHideAdsEnabled() const;
00177 void addAdFilter( const QString &url );
00178
00179
00180 bool accessKeysEnabled() const;
00181
00182 KJSWindowOpenPolicy windowOpenPolicy( const QString& hostname = QString::null ) const;
00183 KJSWindowMovePolicy windowMovePolicy( const QString& hostname = QString::null ) const;
00184 KJSWindowResizePolicy windowResizePolicy( const QString& hostname = QString::null ) const;
00185 KJSWindowStatusPolicy windowStatusPolicy( const QString& hostname = QString::null ) const;
00186 KJSWindowFocusPolicy windowFocusPolicy( const QString& hostname = QString::null ) const;
00187
00188
00189 static KJavaScriptAdvice strToAdvice(const QString& _str);
00190 static void splitDomainAdvice(const QString& configStr, QString &domain,
00191 KJavaScriptAdvice &javaAdvice, KJavaScriptAdvice& javaScriptAdvice);
00192 static const char* adviceToStr(KJavaScriptAdvice _advice);
00193
00202 void readDomainSettings(KConfig *config, bool reset,
00203 bool global, KPerDomainSettings &pd_settings);
00204
00205 QString settingsToCSS() const;
00206 static const QString &availableFamilies();
00207
00208 QString userStyleSheet() const;
00209
00210
00211 bool isFormCompletionEnabled() const;
00212 int maxFormCompletionItems() const;
00213
00214
00215 bool isAutoDelayedActionsEnabled () const;
00216
00217 QValueList< QPair< QString, QChar > > fallbackAccessKeysAssignments() const;
00218
00219
00220
00221 void setJSPopupBlockerPassivePopup(bool enabled);
00222 bool jsPopupBlockerPassivePopup() const;
00223
00224 private:
00225 friend class KHTMLFactory;
00226 QString lookupFont(int i) const;
00227
00228 KHTMLSettingsPrivate *d;
00229 static QString *avFamilies;
00230 };
00231
00232 #endif