[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [messagelib] webengineviewer/src/print: implement zooming
From:       Montel Laurent <montel () kde ! org>
Date:       2016-05-31 19:15:26
Message-ID: E1b7p8Q-0002mz-Sy () scm ! kde ! org
[Download RAW message or body]

Git commit 2f18a8dd9ae77ff1f3b02659007763711822c5a2 by Montel Laurent.
Committed on 31/05/2016 at 19:15.
Pushed by mlaurent into branch 'master'.

implement zooming

M  +17   -0    webengineviewer/src/print/printpreviewpageviewer.cpp
M  +4    -0    webengineviewer/src/print/printpreviewpageviewer.h
M  +2    -1    webengineviewer/src/print/printpreviewpagewidget.cpp

http://commits.kde.org/messagelib/2f18a8dd9ae77ff1f3b02659007763711822c5a2

diff --git a/webengineviewer/src/print/printpreviewpageviewer.cpp \
b/webengineviewer/src/print/printpreviewpageviewer.cpp index de2ba19..d79b2ae 100644
--- a/webengineviewer/src/print/printpreviewpageviewer.cpp
+++ b/webengineviewer/src/print/printpreviewpageviewer.cpp
@@ -23,6 +23,7 @@
 #include <QLabel>
 #include <QApplication>
 #include <QDesktopWidget>
+#include <QWheelEvent>
 
 using namespace WebEngineViewer;
 
@@ -71,3 +72,19 @@ qreal PrintPreviewPageViewer::zoom() const
 {
     return mZoom;
 }
+
+void PrintPreviewPageViewer::wheelEvent(QWheelEvent *e)
+{
+    if (QApplication::keyboardModifiers() & Qt::ControlModifier) {
+        const int numDegrees = e->delta() / 8;
+        const int numSteps = numDegrees / 15;
+
+        const qreal factor = (mZoom * 100) + numSteps * 10;
+        if (factor >= 10 && factor <= 300) {
+            setZoom(factor / 100);
+        }
+        e->accept();
+        return;
+    }
+    QScrollArea::wheelEvent(e);
+}
diff --git a/webengineviewer/src/print/printpreviewpageviewer.h \
b/webengineviewer/src/print/printpreviewpageviewer.h index c9745ea..37d22f8 100644
--- a/webengineviewer/src/print/printpreviewpageviewer.h
+++ b/webengineviewer/src/print/printpreviewpageviewer.h
@@ -43,6 +43,10 @@ public:
 
 Q_SIGNALS:
     void reloadPage();
+
+protected:
+    void wheelEvent(QWheelEvent *e) Q_DECL_OVERRIDE;
+
 private:
     int mDpiX;
     int mDpiY;
diff --git a/webengineviewer/src/print/printpreviewpagewidget.cpp \
b/webengineviewer/src/print/printpreviewpagewidget.cpp index 855fd12..13c8a7e 100644
--- a/webengineviewer/src/print/printpreviewpagewidget.cpp
+++ b/webengineviewer/src/print/printpreviewpagewidget.cpp
@@ -134,5 +134,6 @@ void PrintPreviewPageWidget::print(const QList<int> &page)
 
 void PrintPreviewPageWidget::slotReloadPage()
 {
-    showPage(mPageComboBox->currentIndex());
+    const int currentIndex = mPageComboBox->currentIndex();
+    showPage(currentIndex == -1 ? 0 : currentIndex);
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic