[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/libs/webkitkde
From: Urs Wolfer <uwolfer () kde ! org>
Date: 2009-05-11 21:12:19
Message-ID: 1242076339.120654.19480.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 966785 by uwolfer:
Improve zoom actions behavior.
Patch by Paweł Prażak, thanks.
CCMAIL:kojot350@gmail.com
M +13 -1 kdewebkit/settings/webkitsettings.cpp
M +1 -0 kdewebkit/settings/webkitsettings.h
M +45 -11 part/webkitpart.cpp
M +2 -0 part/webkitpart.h
M +9 -5 part/webkitpart.rc
--- trunk/playground/libs/webkitkde/kdewebkit/settings/webkitsettings.cpp #966784:966785
@@ -90,6 +90,7 @@
bool m_hideAdsEnabled : 1;
bool m_jsPopupBlockerPassivePopup : 1;
bool m_accessKeysEnabled : 1;
+ bool m_zoomTextOnly : 1;
// the virtual global "domain"
KPerDomainSettings global;
@@ -428,6 +429,10 @@
d->m_smoothScrolling = KSmoothScrollingEnabled;
}
+ if ( reset || cgHtml.hasKey( "ZoomTextOnly" ) ) {
+ d->m_zoomTextOnly = cgHtml.readEntry( "ZoomTextOnly", false );
+ }
+
if ( cgHtml.readEntry( "UserStyleSheetEnabled", false ) == true ) {
if ( reset || cgHtml.hasKey( "UserStyleSheet" ) )
d->m_userSheet = cgHtml.readEntry( "UserStyleSheet", "" );
@@ -646,7 +651,9 @@
QWebSettings::globalSettings()->setAttribute(QWebSettings::PluginsEnabled, isPluginsEnabled());
QWebSettings::globalSettings()->setAttribute(QWebSettings::JavascriptCanOpenWindows,
windowOpenPolicy() != WebKitSettings::KJSWindowOpenDeny);
-
+#if QT_VERSION >= 0x040500
+ QWebSettings::globalSettings()->setAttribute(QWebSettings::ZoomTextOnly, zoomTextOnly());
+#endif
QWebSettings::globalSettings()->setFontFamily(QWebSettings::StandardFont, stdFontName());
QWebSettings::globalSettings()->setFontFamily(QWebSettings::FixedFont, fixedFontName());
QWebSettings::globalSettings()->setFontFamily(QWebSettings::SerifFont, serifFontName());
@@ -1035,6 +1042,11 @@
return d->m_smoothScrolling;
}
+bool WebKitSettings::zoomTextOnly() const
+{
+ return d->m_zoomTextOnly;
+}
+
bool WebKitSettings::isAutoDelayedActionsEnabled() const
{
return d->m_autoDelayedActionsEnabled;
--- trunk/playground/libs/webkitkde/kdewebkit/settings/webkitsettings.h #966784:966785
@@ -126,6 +126,7 @@
bool autoSpellCheck() const;
KAnimationAdvice showAnimations() const;
KSmoothScrollingMode smoothScrolling() const;
+ bool zoomTextOnly() const;
// Font settings
QString stdFontName() const;
--- trunk/playground/libs/webkitkde/part/webkitpart.cpp #966784:966785
@@ -113,16 +113,29 @@
actionCollection()->addAction("printFrame", action);
connect(action, SIGNAL(triggered(bool)), m_browserExtension, SLOT(printFrame()));
- action = new KAction(KIcon("format-font-size-more"), i18n("Enlarge Font"), this);
- actionCollection()->addAction("incFontSizes", action);
+ action = new KAction(KIcon("zoom-in"), i18n("Zoom In"), this);
+ actionCollection()->addAction("zoomIn", action);
action->setShortcut(KShortcut("CTRL++; CTRL+="));
connect(action, SIGNAL(triggered(bool)), m_browserExtension, SLOT(zoomIn()));
- action = new KAction(KIcon("format-font-size-less"), i18n("Shrink Font"), this);
- actionCollection()->addAction("decFontSizes", action);
- action->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Minus));
+ action = new KAction(KIcon("zoom-out"), i18n("Zoom Out"), this);
+ actionCollection()->addAction("zoomOut", action);
+ action->setShortcut(KShortcut("CTRL+-; CTRL+_"));
connect(action, SIGNAL(triggered(bool)), m_browserExtension, SLOT(zoomOut()));
+ action = new KAction(KIcon("zoom-original"), i18n("Actual Size"), this);
+ actionCollection()->addAction("zoomNormal", action);
+ action->setShortcut(KShortcut("CTRL+0"));
+ connect(action, SIGNAL(triggered(bool)), m_browserExtension, SLOT(zoomNormal()));
+#if QT_VERSION >= 0x040500
+ action = new KAction(i18n("Zoom Text Only"), this);
+ action->setCheckable(true);
+ KConfigGroup cgHtml(KGlobal::config(), "HTML Settings");
+ bool zoomTextOnly = cgHtml.readEntry("ZoomTextOnly", false);
+ action->setChecked(zoomTextOnly);
+ actionCollection()->addAction("zoomTextOnly", action);
+ connect(action, SIGNAL(triggered(bool)), m_browserExtension, SLOT(toogleZoomTextOnly()));
+#endif
action = actionCollection()->addAction(KStandardAction::SelectAll, "selectAll",
m_browserExtension, SLOT(slotSelectAll()));
action->setShortcutContext(Qt::WidgetShortcut);
@@ -297,22 +310,43 @@
void WebKitBrowserExtension::zoomIn()
{
-#if QT_VERSION < 0x040500
- part->view()->setTextSizeMultiplier(part->view()->textSizeMultiplier() * 2);
+#if QT_VERSION >= 0x040500
+ part->view()->setZoomFactor(part->view()->zoomFactor() + 0.1);
#else
- part->view()->setZoomFactor(part->view()->zoomFactor() * 1.25);
+ part->view()->setTextSizeMultiplier(part->view()->textSizeMultiplier() + 0.1);
#endif
}
void WebKitBrowserExtension::zoomOut()
{
-#if QT_VERSION < 0x040500
- part->view()->setTextSizeMultiplier(part->view()->textSizeMultiplier() * 2);
+#if QT_VERSION >= 0x040500
+ part->view()->setZoomFactor(part->view()->zoomFactor() - 0.1);
#else
- part->view()->setZoomFactor(part->view()->zoomFactor() * 0.8);
+ part->view()->setTextSizeMultiplier(part->view()->textSizeMultiplier() - 0.1);
#endif
}
+void WebKitBrowserExtension::zoomNormal()
+{
+#if QT_VERSION >= 0x040500
+ part->view()->setZoomFactor(1);
+#else
+ part->view()->setTextSizeMultiplier(1);
+#endif
+}
+
+void WebKitBrowserExtension::toogleZoomTextOnly()
+{
+#if QT_VERSION >= 0x040500
+ KConfigGroup cgHtml(KGlobal::config(), "HTML Settings");
+ bool zoomTextOnly = cgHtml.readEntry( "ZoomTextOnly", false );
+ cgHtml.writeEntry("ZoomTextOnly", !zoomTextOnly);
+ KGlobal::config()->reparseConfiguration();
+
+ part->view()->settings()->setAttribute(QWebSettings::ZoomTextOnly, !zoomTextOnly);
+#endif
+}
+
void WebKitBrowserExtension::slotSelectAll()
{
#if QT_VERSION >= 0x040500
--- trunk/playground/libs/webkitkde/part/webkitpart.h #966784:966785
@@ -82,6 +82,8 @@
void zoomIn();
void zoomOut();
+ void zoomNormal();
+ void toogleZoomTextOnly();
void slotSelectAll();
void slotFrameInWindow();
--- trunk/playground/libs/webkitkde/part/webkitpart.rc #966784:966785
@@ -1,5 +1,5 @@
<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui name="webkitpart" version="5">
+<kpartgui name="webkitpart" version="6">
<MenuBar>
<Menu name="file">
<Action name="saveDocument" />
@@ -13,14 +13,18 @@
<Action name="find" />
</Menu>
<Menu name="view">
- <Action name="incFontSizes" />
- <Action name="decFontSizes" />
+ <Action name="zoomIn" />
+ <Action name="zoomOut" />
+ <Action name="zoomNormal" />
+ <Action name="zoomTextOnly" />
+ <Separator />
<Action name="viewDocumentSource" />
<ActionList name="debugScriptList" />
</Menu>
</MenuBar>
<ToolBar name="htmlToolBar" iconText="icononly" iconSize="22" hidden="true"><text>HTML Toolbar</text>
- <Action name="incFontSizes" />
- <Action name="decFontSizes" />
+ <Action name="zoomIn" />
+ <Action name="zoomOut" />
+ <Action name="zoomNormal" />
</ToolBar>
</kpartgui>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic