From 3e97b8f91c33f6b49a93c59b0bcb267fe47554f9 Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Tue, 16 Oct 2012 19:36:37 +0200 Subject: Zoom actionis restored, yeah! :D --- src/CMakeLists.txt | 3 + src/webtab/webtab.cpp | 44 ++++++++++++ src/webtab/webtab.h | 8 +++ src/webwindow/rekonqui.rc | 162 ++++++++++++++++++++++++++++++++++++++++++++ src/webwindow/webwindow.cpp | 8 ++- 5 files changed, 224 insertions(+), 1 deletion(-) create mode 100644 src/webwindow/rekonqui.rc diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3ba7c641..5ab64859 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -252,3 +252,6 @@ ENDIF(HAVE_QCA2 AND HAVE_QTOAUTH) INSTALL( TARGETS rekonq ${INSTALL_TARGETS_DEFAULT_ARGS} ) INSTALL( TARGETS kdeinit_rekonq ${INSTALL_TARGETS_DEFAULT_ARGS} ) + +INSTALL( FILES rekonq.kcfg DESTINATION ${KCFG_INSTALL_DIR} ) +INSTALL( FILES webwindow/rekonqui.rc DESTINATION ${DATA_INSTALL_DIR}/rekonq ) 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 m_previewSelectorBar; KParts::ReadOnlyPart *m_part; + + int m_zoomFactor; }; #endif diff --git a/src/webwindow/rekonqui.rc b/src/webwindow/rekonqui.rc new file mode 100644 index 00000000..ef6294a4 --- /dev/null +++ b/src/webwindow/rekonqui.rc @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + &Zoom + + + + + + + + + &Tools + + + + + + + + + + + + + + + + + + + + + + &Help + + + + + + + + + + + + + + + + + + + &File + + + + + + + + + + + + + + + + &Edit + + + + + + + + + + + + + + &View + + + + + + + + + + + + + + + + Hi&story + + + + &Bookmarks + + + + &Tools + + + + + + + + + + + + + &Settings + + + + + + + + + + + + + + +Main Toolbar + + + + + + + + + + Bookmark Toolbar + + + diff --git a/src/webwindow/webwindow.cpp b/src/webwindow/webwindow.cpp index 0c635800..adca789e 100644 --- a/src/webwindow/webwindow.cpp +++ b/src/webwindow/webwindow.cpp @@ -140,7 +140,8 @@ WebWindow::WebWindow(QWidget *parent, WebPage *pg) m_popup->hide(); connect(m_hidePopupTimer, SIGNAL(timeout()), m_popup, SLOT(hide())); connect(_tab->page(), SIGNAL(linkHovered(QString, QString, QString)), this, SLOT(notifyMessage(QString))); - + connect(_tab, SIGNAL(infoToShow(QString)), this, SLOT(notifyMessage(QString))); + updateHistoryActions(); } @@ -257,6 +258,11 @@ void WebWindow::setupActions() actionCollection()->addAction(QL1S("clear_private_data"), a); connect(a, SIGNAL(triggered(bool)), rApp, SLOT(clearPrivateData())); + // Zoom ============== + KStandardAction::zoomIn(_tab, SLOT(zoomIn()), actionCollection()); + KStandardAction::zoomOut(_tab, SLOT(zoomOut()), actionCollection()); + KStandardAction::zoom(_tab, SLOT(zoomDefault()), actionCollection()); + // Bookmark ========== a = KStandardAction::addBookmark(_bar, SLOT(manageBookmarks()), actionCollection()); KShortcut bkShortcut(Qt::CTRL + Qt::Key_D); -- cgit v1.2.1