diff options
Diffstat (limited to 'src/webtab')
| -rw-r--r-- | src/webtab/webtab.cpp | 44 | ||||
| -rw-r--r-- | src/webtab/webtab.h | 8 | 
2 files changed, 52 insertions, 0 deletions
diff --git a/src/webtab/webtab.cpp b/src/webtab/webtab.cpp index 549fa285..036f62c0 100644 --- a/src/webtab/webtab.cpp +++ b/src/webtab/webtab.cpp @@ -68,6 +68,7 @@ WebTab::WebTab(QWidget *parent)      , m_webView(0)      , m_progress(0)      , m_part(0) +    , m_zoomFactor(10)  {      setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); @@ -350,3 +351,46 @@ void WebTab::printFrame()          delete printDialog;      }  } + + +void WebTab::zoomIn() +{ +    if (m_zoomFactor == 50) +    { +        emit infoToShow(i18n("Max zoom reached: ") + QString::number(m_zoomFactor * 10) + QL1S("%")); +        return; +    } +     +    if (m_zoomFactor >= 20) +        m_zoomFactor+=5; +    else +        m_zoomFactor++; + +    m_webView->setZoomFactor(QVariant(m_zoomFactor).toReal() / 10); + +    emit infoToShow(i18n("Zooming: ") + QString::number(m_zoomFactor * 10) + QL1S("%")); +} + + +void WebTab::zoomOut() +{ +    if (m_zoomFactor == 1) +    { +        emit infoToShow(i18n("Min zoom reached: ") + QString::number(m_zoomFactor * 10) + QL1S("%")); +        return; +    } + +    m_zoomFactor--; +    m_webView->setZoomFactor(QVariant(m_zoomFactor).toReal() / 10); + +    emit infoToShow(i18n("Zooming: ") + QString::number(m_zoomFactor * 10) + QL1S("%")); +} + + +void WebTab::zoomDefault() +{ +    m_zoomFactor = 10; +    m_webView->setZoomFactor(QVariant(m_zoomFactor).toReal() / 10); + +    emit infoToShow(i18n("Default zoom: ") + QString::number(m_zoomFactor * 10) + QL1S("%")); +} diff --git a/src/webtab/webtab.h b/src/webtab/webtab.h index 2773dc12..6a9e844f 100644 --- a/src/webtab/webtab.h +++ b/src/webtab/webtab.h @@ -94,12 +94,18 @@ private Q_SLOTS:      void printFrame(); +    void zoomIn(); +    void zoomOut(); +    void zoomDefault(); +  Q_SIGNALS:      void loadProgressing();      void titleChanged(const QString &);      void triggerPartPrint(); +    void infoToShow(QString); +      private:      WebView *m_webView; @@ -109,6 +115,8 @@ private:      QWeakPointer<PreviewSelectorBar> m_previewSelectorBar;      KParts::ReadOnlyPart *m_part; + +    int m_zoomFactor;  };  #endif  | 
