📄 khtml_settings.cc
字号:
bool KHTMLSettings::isAdFilterEnabled() const{ return d->m_adFilterEnabled;}bool KHTMLSettings::isHideAdsEnabled() const{ return d->m_hideAdsEnabled;}bool KHTMLSettings::isAdFiltered( const QString &url ) const{ if (d->m_adFilterEnabled) { if (!url.startsWith("data:")) { QValueVector<QRegExp>::iterator it; for (it=d->adFilters.begin(); it != d->adFilters.end(); ++it) { if ((*it).search(url) != -1) { kdDebug( 6080 ) << "Filtered: " << url << endl; return true; } } } } return false;}void KHTMLSettings::addAdFilter( const QString &url ){ KConfig config( "khtmlrc", false, false ); config.setGroup( "Filter Settings" ); QRegExp rx; if (url.length()>2 && url[0]=='/' && url[url.length()-1] == '/') { QString inside = url.mid(1, url.length()-2); rx.setWildcard(false); rx.setPattern(inside); } else { int left,right; rx.setWildcard(true); for (right=url.length(); right>0 && url[right-1]=='*' ; --right); for (left=0; left<right && url[left]=='*' ; ++left); rx.setPattern(url.mid(left,right-left)); } if (rx.isValid()) { int last=config.readNumEntry("Count",0); QString key = "Filter-" + QString::number(last); config.writeEntry(key, url); config.writeEntry("Count",last+1); config.sync(); d->adFilters.append(rx); } else { KMessageBox::error(0, rx.errorString(), i18n("Filter error")); }}bool KHTMLSettings::isJavaEnabled( const QString& hostname ){ return lookup_hostname_policy(d,hostname.lower()).m_bEnableJava;}bool KHTMLSettings::isJavaScriptEnabled( const QString& hostname ){ return lookup_hostname_policy(d,hostname.lower()).m_bEnableJavaScript;}bool KHTMLSettings::isJavaScriptDebugEnabled( const QString& /*hostname*/ ){ // debug setting is global for now, but could change in the future return d->m_bEnableJavaScriptDebug;}bool KHTMLSettings::isJavaScriptErrorReportingEnabled( const QString& /*hostname*/ ) const{ // error reporting setting is global for now, but could change in the future return d->m_bEnableJavaScriptErrorReporting;}bool KHTMLSettings::isPluginsEnabled( const QString& hostname ){ return lookup_hostname_policy(d,hostname.lower()).m_bEnablePlugins;}KHTMLSettings::KJSWindowOpenPolicy KHTMLSettings::windowOpenPolicy( const QString& hostname) const { return lookup_hostname_policy(d,hostname.lower()).m_windowOpenPolicy;}KHTMLSettings::KJSWindowMovePolicy KHTMLSettings::windowMovePolicy( const QString& hostname) const { return lookup_hostname_policy(d,hostname.lower()).m_windowMovePolicy;}KHTMLSettings::KJSWindowResizePolicy KHTMLSettings::windowResizePolicy( const QString& hostname) const { return lookup_hostname_policy(d,hostname.lower()).m_windowResizePolicy;}KHTMLSettings::KJSWindowStatusPolicy KHTMLSettings::windowStatusPolicy( const QString& hostname) const { return lookup_hostname_policy(d,hostname.lower()).m_windowStatusPolicy;}KHTMLSettings::KJSWindowFocusPolicy KHTMLSettings::windowFocusPolicy( const QString& hostname) const { return lookup_hostname_policy(d,hostname.lower()).m_windowFocusPolicy;}int KHTMLSettings::mediumFontSize() const{ return d->m_fontSize;}int KHTMLSettings::minFontSize() const{ return d->m_minFontSize;}QString KHTMLSettings::settingsToCSS() const{ // lets start with the link properties QString str = "a:link {\ncolor: "; str += d->m_linkColor.name(); str += ";"; if(d->m_underlineLink) str += "\ntext-decoration: underline;"; if( d->m_bChangeCursor ) { str += "\ncursor: pointer;"; str += "\n}\ninput[type=image] { cursor: pointer;"; } str += "\n}\n"; str += "a:visited {\ncolor: "; str += d->m_vLinkColor.name(); str += ";"; if(d->m_underlineLink) str += "\ntext-decoration: underline;"; if( d->m_bChangeCursor ) str += "\ncursor: pointer;"; str += "\n}\n"; if(d->m_hoverLink) str += "a:link:hover, a:visited:hover { text-decoration: underline; }\n"; return str;}const QString &KHTMLSettings::availableFamilies(){ if ( !avFamilies ) { avFamilies = new QString; QFontDatabase db; QStringList families = db.families(); QStringList s; QRegExp foundryExp(" \\[.+\\]"); //remove foundry info QStringList::Iterator f = families.begin(); const QStringList::Iterator fEnd = families.end(); for ( ; f != fEnd; ++f ) { (*f).replace( foundryExp, ""); if (!s.contains(*f)) s << *f; } s.sort(); *avFamilies = ',' + s.join(",") + ','; } return *avFamilies;}QString KHTMLSettings::lookupFont(int i) const{ QString font; if (d->fonts.count() > (uint) i) font = d->fonts[i]; if (font.isEmpty()) font = d->defaultFonts[i]; return font;}QString KHTMLSettings::stdFontName() const{ return lookupFont(0);}QString KHTMLSettings::fixedFontName() const{ return lookupFont(1);}QString KHTMLSettings::serifFontName() const{ return lookupFont(2);}QString KHTMLSettings::sansSerifFontName() const{ return lookupFont(3);}QString KHTMLSettings::cursiveFontName() const{ return lookupFont(4);}QString KHTMLSettings::fantasyFontName() const{ return lookupFont(5);}void KHTMLSettings::setStdFontName(const QString &n){ while(d->fonts.count() <= 0) d->fonts.append(QString::null); d->fonts[0] = n;}void KHTMLSettings::setFixedFontName(const QString &n){ while(d->fonts.count() <= 1) d->fonts.append(QString::null); d->fonts[1] = n;}QString KHTMLSettings::userStyleSheet() const{ return d->m_userSheet;}bool KHTMLSettings::isFormCompletionEnabled() const{ return d->m_formCompletionEnabled;}int KHTMLSettings::maxFormCompletionItems() const{ return d->m_maxFormCompletionItems;}const QString &KHTMLSettings::encoding() const{ return d->m_encoding;}bool KHTMLSettings::followSystemColors() const{ return d->m_follow_system_colors;}const QColor& KHTMLSettings::textColor() const{ return d->m_textColor;}const QColor& KHTMLSettings::baseColor() const{ return d->m_baseColor;}const QColor& KHTMLSettings::linkColor() const{ return d->m_linkColor;}const QColor& KHTMLSettings::vLinkColor() const{ return d->m_vLinkColor;}bool KHTMLSettings::autoLoadImages() const{ return d->m_bAutoLoadImages;}bool KHTMLSettings::unfinishedImageFrame() const{ return d->m_bUnfinishedImageFrame;}KHTMLSettings::KAnimationAdvice KHTMLSettings::showAnimations() const{ return d->m_showAnimations;}bool KHTMLSettings::isAutoDelayedActionsEnabled() const{ return d->m_autoDelayedActionsEnabled;}bool KHTMLSettings::jsErrorsEnabled() const{ return d->m_jsErrorsEnabled;}void KHTMLSettings::setJSErrorsEnabled(bool enabled){ d->m_jsErrorsEnabled = enabled; // save it KConfig *config = KGlobal::config(); config->setGroup("HTML Settings"); config->writeEntry("ReportJSErrors", enabled); config->sync();}bool KHTMLSettings::allowTabulation() const{ return d->m_allowTabulation;}bool KHTMLSettings::autoSpellCheck() const{ return d->m_autoSpellCheck;}QValueList< QPair< QString, QChar > > KHTMLSettings::fallbackAccessKeysAssignments() const{ return d->m_fallbackAccessKeysAssignments;}void KHTMLSettings::setJSPopupBlockerPassivePopup(bool enabled){ d->m_jsPopupBlockerPassivePopup = enabled; // save it KConfig *config = KGlobal::config(); config->setGroup("Java/JavaScript Settings"); config->writeEntry("PopupBlockerPassivePopup", enabled); config->sync();}bool KHTMLSettings::jsPopupBlockerPassivePopup() const{ return d->m_jsPopupBlockerPassivePopup;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -