[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

zoltan at webkit.org zoltan at webkit.org
Mon Feb 21 00:08:46 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit 393233c8b66bca863f256d0fa273670e2efd68a8
Author: zoltan at webkit.org <zoltan at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Jan 28 13:06:31 2011 +0000

    [Qt] Add Zoom Text Only action to MiniBrowser
    https://bugs.webkit.org/show_bug.cgi?id=53297
    
    Reviewed by Andreas Kling.
    
    Add Zoom Text Only action to MiniBrowser's view menu, change zoom levels to avoid unnecessary divides.
    
    * MiniBrowser/qt/BrowserWindow.cpp:
    (BrowserWindow::BrowserWindow):
    (BrowserWindow::zoomIn):
    (BrowserWindow::zoomOut):
    (BrowserWindow::resetZoom):
    (BrowserWindow::toggleZoomTextOnly):
    (BrowserWindow::applyZoom):
    * MiniBrowser/qt/BrowserWindow.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76930 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index a293085..d139548 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,21 @@
+2011-01-28  Zoltan Horvath  <zoltan at webkit.org>
+
+        Reviewed by Andreas Kling.
+
+        [Qt] Add Zoom Text Only action to MiniBrowser
+        https://bugs.webkit.org/show_bug.cgi?id=53297
+
+        Add Zoom Text Only action to MiniBrowser's view menu, change zoom levels to avoid unnecessary divides.
+
+        * MiniBrowser/qt/BrowserWindow.cpp:
+        (BrowserWindow::BrowserWindow):
+        (BrowserWindow::zoomIn):
+        (BrowserWindow::zoomOut):
+        (BrowserWindow::resetZoom):
+        (BrowserWindow::toggleZoomTextOnly):
+        (BrowserWindow::applyZoom):
+        * MiniBrowser/qt/BrowserWindow.h:
+
 2011-01-28  Adam Barth  <abarth at webkit.org>
 
         Reviewed by Eric Seidel.
diff --git a/Tools/MiniBrowser/qt/BrowserWindow.cpp b/Tools/MiniBrowser/qt/BrowserWindow.cpp
index e63f1bd..0097a30 100644
--- a/Tools/MiniBrowser/qt/BrowserWindow.cpp
+++ b/Tools/MiniBrowser/qt/BrowserWindow.cpp
@@ -36,11 +36,12 @@ static QWKPage* newPageFunction(QWKPage* page)
 
 QGraphicsWKView::BackingStoreType BrowserWindow::backingStoreTypeForNewWindow = QGraphicsWKView::Simple;
 
-QVector<int> BrowserWindow::m_zoomLevels;
+QVector<qreal> BrowserWindow::m_zoomLevels;
 
 BrowserWindow::BrowserWindow(QWKContext* context)
-    : m_currentZoom(100) ,
-      m_browser(new BrowserView(backingStoreTypeForNewWindow, context))
+    : m_isZoomTextOnly(false)
+    , m_currentZoom(1)
+    , m_browser(new BrowserView(backingStoreTypeForNewWindow, context))
 {
     setAttribute(Qt::WA_DeleteOnClose);
 
@@ -64,6 +65,9 @@ BrowserWindow::BrowserWindow(QWKContext* context)
     QAction* zoomIn = viewMenu->addAction("Zoom &In", this, SLOT(zoomIn()));
     QAction* zoomOut = viewMenu->addAction("Zoom &Out", this, SLOT(zoomOut()));
     QAction* resetZoom = viewMenu->addAction("Reset Zoom", this, SLOT(resetZoom()));
+    QAction* zoomText = viewMenu->addAction("Zoom Text Only", this, SLOT(toggleZoomTextOnly(bool)));
+    zoomText->setCheckable(true);
+    zoomText->setChecked(false);
 
     zoomIn->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Plus));
     zoomOut->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Minus));
@@ -89,9 +93,9 @@ BrowserWindow::BrowserWindow(QWKContext* context)
 
     // the zoom values are chosen to be like in Mozilla Firefox 3
     if (!m_zoomLevels.count()) {
-        m_zoomLevels << 30 << 50 << 67 << 80 << 90;
-        m_zoomLevels << 100;
-        m_zoomLevels << 110 << 120 << 133 << 150 << 170 << 200 << 240 << 300;
+        m_zoomLevels << 0.3 << 0.5 << 0.67 << 0.8 << 0.9;
+        m_zoomLevels << 1;
+        m_zoomLevels << 1.1 << 1.2 << 1.33 << 1.5 << 1.7 << 2 << 2.4 << 3;
     }
 
     resize(960, 640);
@@ -177,6 +181,11 @@ void BrowserWindow::openFile()
 
 void BrowserWindow::zoomIn()
 {
+    if (m_isZoomTextOnly)
+        m_currentZoom = page()->textZoomFactor();
+    else
+        m_currentZoom = page()->pageZoomFactor();
+
     int i = m_zoomLevels.indexOf(m_currentZoom);
     Q_ASSERT(i >= 0);
     if (i < m_zoomLevels.count() - 1)
@@ -187,6 +196,11 @@ void BrowserWindow::zoomIn()
 
 void BrowserWindow::zoomOut()
 {
+    if (m_isZoomTextOnly)
+        m_currentZoom = page()->textZoomFactor();
+    else
+        m_currentZoom = page()->pageZoomFactor();
+
     int i = m_zoomLevels.indexOf(m_currentZoom);
     Q_ASSERT(i >= 0);
     if (i > 0)
@@ -197,10 +211,15 @@ void BrowserWindow::zoomOut()
 
 void BrowserWindow::resetZoom()
 {
-    m_currentZoom = 100;
+    m_currentZoom = 1;
     applyZoom();
 }
 
+void BrowserWindow::toggleZoomTextOnly(bool b)
+{
+    m_isZoomTextOnly = b;
+}
+
 void BrowserWindow::showUserAgentDialog()
 {
     updateUserAgentList();
@@ -251,7 +270,10 @@ void BrowserWindow::updateUserAgentList()
 
 void BrowserWindow::applyZoom()
 {
-    page()->setPageZoomFactor(qreal(m_currentZoom) / 100.0);
+    if (m_isZoomTextOnly)
+        page()->setTextZoomFactor(m_currentZoom);
+    else
+        page()->setPageZoomFactor(m_currentZoom);
 }
 
 BrowserWindow::~BrowserWindow()
diff --git a/Tools/MiniBrowser/qt/BrowserWindow.h b/Tools/MiniBrowser/qt/BrowserWindow.h
index 860eb17..24b6e24 100644
--- a/Tools/MiniBrowser/qt/BrowserWindow.h
+++ b/Tools/MiniBrowser/qt/BrowserWindow.h
@@ -60,6 +60,7 @@ protected slots:
     void zoomIn();
     void zoomOut();
     void resetZoom();
+    void toggleZoomTextOnly(bool on);
 
     void showUserAgentDialog();
 
@@ -68,8 +69,9 @@ private:
 
     void applyZoom();
 
-    static QVector<int> m_zoomLevels;
-    int m_currentZoom;
+    static QVector<qreal> m_zoomLevels;
+    bool m_isZoomTextOnly;
+    qreal m_currentZoom;
 
     BrowserView* m_browser;
     QLineEdit* m_addressBar;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list