Changeset 76930 in webkit


Ignore:
Timestamp:
Jan 28, 2011 5:06:31 AM (13 years ago)
Author:
zoltan@webkit.org
Message:

[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:
Location:
trunk/Tools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r76926 r76930  
     12011-01-28  Zoltan Horvath  <zoltan@webkit.org>
     2
     3        Reviewed by Andreas Kling.
     4
     5        [Qt] Add Zoom Text Only action to MiniBrowser
     6        https://bugs.webkit.org/show_bug.cgi?id=53297
     7
     8        Add Zoom Text Only action to MiniBrowser's view menu, change zoom levels to avoid unnecessary divides.
     9
     10        * MiniBrowser/qt/BrowserWindow.cpp:
     11        (BrowserWindow::BrowserWindow):
     12        (BrowserWindow::zoomIn):
     13        (BrowserWindow::zoomOut):
     14        (BrowserWindow::resetZoom):
     15        (BrowserWindow::toggleZoomTextOnly):
     16        (BrowserWindow::applyZoom):
     17        * MiniBrowser/qt/BrowserWindow.h:
     18
    1192011-01-28  Adam Barth  <abarth@webkit.org>
    220
  • trunk/Tools/MiniBrowser/qt/BrowserWindow.cpp

    r76778 r76930  
    3737QGraphicsWKView::BackingStoreType BrowserWindow::backingStoreTypeForNewWindow = QGraphicsWKView::Simple;
    3838
    39 QVector<int> BrowserWindow::m_zoomLevels;
     39QVector<qreal> BrowserWindow::m_zoomLevels;
    4040
    4141BrowserWindow::BrowserWindow(QWKContext* context)
    42     : m_currentZoom(100) ,
    43       m_browser(new BrowserView(backingStoreTypeForNewWindow, context))
     42    : m_isZoomTextOnly(false)
     43    , m_currentZoom(1)
     44    , m_browser(new BrowserView(backingStoreTypeForNewWindow, context))
    4445{
    4546    setAttribute(Qt::WA_DeleteOnClose);
     
    6566    QAction* zoomOut = viewMenu->addAction("Zoom &Out", this, SLOT(zoomOut()));
    6667    QAction* resetZoom = viewMenu->addAction("Reset Zoom", this, SLOT(resetZoom()));
     68    QAction* zoomText = viewMenu->addAction("Zoom Text Only", this, SLOT(toggleZoomTextOnly(bool)));
     69    zoomText->setCheckable(true);
     70    zoomText->setChecked(false);
    6771
    6872    zoomIn->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Plus));
     
    9094    // the zoom values are chosen to be like in Mozilla Firefox 3
    9195    if (!m_zoomLevels.count()) {
    92         m_zoomLevels << 30 << 50 << 67 << 80 << 90;
    93         m_zoomLevels << 100;
    94         m_zoomLevels << 110 << 120 << 133 << 150 << 170 << 200 << 240 << 300;
     96        m_zoomLevels << 0.3 << 0.5 << 0.67 << 0.8 << 0.9;
     97        m_zoomLevels << 1;
     98        m_zoomLevels << 1.1 << 1.2 << 1.33 << 1.5 << 1.7 << 2 << 2.4 << 3;
    9599    }
    96100
     
    178182void BrowserWindow::zoomIn()
    179183{
     184    if (m_isZoomTextOnly)
     185        m_currentZoom = page()->textZoomFactor();
     186    else
     187        m_currentZoom = page()->pageZoomFactor();
     188
    180189    int i = m_zoomLevels.indexOf(m_currentZoom);
    181190    Q_ASSERT(i >= 0);
     
    188197void BrowserWindow::zoomOut()
    189198{
     199    if (m_isZoomTextOnly)
     200        m_currentZoom = page()->textZoomFactor();
     201    else
     202        m_currentZoom = page()->pageZoomFactor();
     203
    190204    int i = m_zoomLevels.indexOf(m_currentZoom);
    191205    Q_ASSERT(i >= 0);
     
    198212void BrowserWindow::resetZoom()
    199213{
    200     m_currentZoom = 100;
     214    m_currentZoom = 1;
    201215    applyZoom();
     216}
     217
     218void BrowserWindow::toggleZoomTextOnly(bool b)
     219{
     220    m_isZoomTextOnly = b;
    202221}
    203222
     
    252271void BrowserWindow::applyZoom()
    253272{
    254     page()->setPageZoomFactor(qreal(m_currentZoom) / 100.0);
     273    if (m_isZoomTextOnly)
     274        page()->setTextZoomFactor(m_currentZoom);
     275    else
     276        page()->setPageZoomFactor(m_currentZoom);
    255277}
    256278
  • trunk/Tools/MiniBrowser/qt/BrowserWindow.h

    r76778 r76930  
    6161    void zoomOut();
    6262    void resetZoom();
     63    void toggleZoomTextOnly(bool on);
    6364
    6465    void showUserAgentDialog();
     
    6970    void applyZoom();
    7071
    71     static QVector<int> m_zoomLevels;
    72     int m_currentZoom;
     72    static QVector<qreal> m_zoomLevels;
     73    bool m_isZoomTextOnly;
     74    qreal m_currentZoom;
    7375
    7476    BrowserView* m_browser;
Note: See TracChangeset for help on using the changeset viewer.