From 06583dfe2267b676c85b5aa479b80bf6a502b9fb Mon Sep 17 00:00:00 2001 From: lionelc Date: Mon, 9 Aug 2010 19:44:19 +0200 Subject: add zoom bar at the bottom of rekonq, remove zoom widgets from the tool button menu --- src/mainwindow.cpp | 85 +++++++----------------------------------------------- 1 file changed, 11 insertions(+), 74 deletions(-) (limited to 'src/mainwindow.cpp') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 9207f6ec..01dd2ad2 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -41,6 +41,7 @@ #include "webtab.h" #include "mainview.h" #include "findbar.h" +#include "zoombar.h" #include "historypanel.h" #include "bookmarkspanel.h" #include "webinspectorpanel.h" @@ -97,6 +98,7 @@ MainWindow::MainWindow() : KXmlGuiWindow() , m_view(new MainView(this)) , m_findBar(new FindBar(this)) + , m_zoomBar(new ZoomBar(this)) , m_historyPanel(0) , m_bookmarksPanel(0) , m_webInspectorPanel(0) @@ -116,6 +118,7 @@ MainWindow::MainWindow() layout->setContentsMargins(0, 0, 0, 0); layout->addWidget(m_view); layout->addWidget(m_findBar); + layout->addWidget(m_zoomBar); centralWidget->setLayout(layout); // central widget @@ -163,6 +166,7 @@ MainWindow::~MainWindow() delete m_view; delete m_findBar; + delete m_zoomBar; delete m_historyPanel; delete m_bookmarksPanel; @@ -173,8 +177,6 @@ MainWindow::~MainWindow() delete m_encodingMenu; delete m_bookmarksBar; - - delete m_zoomSlider; delete m_popup; delete m_hidePopup; @@ -251,6 +253,9 @@ void MainWindow::postLaunch() // Find Bar signal connect(m_findBar, SIGNAL(searchString(const QString &)), this, SLOT(find(const QString &))); + // Zoom Bar signal + connect(m_view, SIGNAL(currentChanged(int)), m_zoomBar, SLOT(updateSlider(int))); + // setting up toolbars to NOT have context menu enabled setContextMenuPolicy(Qt::DefaultContextMenu); @@ -330,12 +335,8 @@ void MainWindow::setupActions() actionCollection()->addAction(QL1S("open_location"), a); connect(a, SIGNAL(triggered(bool)) , this, SLOT(openLocation())); - - // ============================= Zoom Actions =================================== - actionCollection()->addAction(KStandardAction::ZoomIn, this, SLOT(zoomIn())); - a = actionCollection()->addAction(KStandardAction::ActualSize, this, SLOT(zoomNormal())); - a->setShortcut(KShortcut(Qt::CTRL | Qt::Key_0)); - actionCollection()->addAction(KStandardAction::ZoomOut, this, SLOT(zoomOut())); + // set zoom bar actions + m_zoomBar->setupActions(this); // =============================== Tools Actions ================================= a = new KAction(i18n("Page S&ource"), this); @@ -455,39 +456,7 @@ void MainWindow::setupTools() toolsMenu->addAction(actionByName(KStandardAction::name(KStandardAction::Print))); toolsMenu->addAction(actionByName(KStandardAction::name(KStandardAction::Find))); - // setup zoom widget - QWidget *zoomWidget = new QWidget(this); - - QToolButton *zoomOut = new QToolButton(zoomWidget); - zoomOut->setDefaultAction(actionByName(KStandardAction::name(KStandardAction::ZoomOut))); - zoomOut->setAutoRaise(true); - - m_zoomSlider = new QSlider(Qt::Horizontal, zoomWidget); - m_zoomSlider->setTracking(true); - m_zoomSlider->setRange(1, 19); // divide by 10 to obtain a qreal for zoomFactor() - m_zoomSlider->setValue(10); - m_zoomSlider->setPageStep(3); - connect(m_zoomSlider, SIGNAL(valueChanged(int)), this, SLOT(setZoomFactor(int))); - - QToolButton *zoomIn = new QToolButton(zoomWidget); - zoomIn->setDefaultAction(actionByName(KStandardAction::name(KStandardAction::ZoomIn))); - zoomIn->setAutoRaise(true); - - QToolButton *zoomNormal = new QToolButton(zoomWidget); - zoomNormal->setDefaultAction(actionByName(KStandardAction::name(KStandardAction::ActualSize))); - zoomNormal->setAutoRaise(true); - - QHBoxLayout* zoomWidgetLayout = new QHBoxLayout(zoomWidget); - zoomWidgetLayout->setSpacing(0); - zoomWidgetLayout->setMargin(0); - zoomWidgetLayout->addWidget(zoomOut); - zoomWidgetLayout->addWidget(m_zoomSlider); - zoomWidgetLayout->addWidget(zoomIn); - zoomWidgetLayout->addWidget(zoomNormal); - - QWidgetAction *zoomAction = new QWidgetAction(this); - zoomAction->setDefaultWidget(zoomWidget); - toolsMenu->addAction(zoomAction); + toolsMenu->addAction(actionByName(KStandardAction::name(KStandardAction::Zoom))); toolsMenu->addAction(actionByName(QL1S("encodings"))); @@ -844,38 +813,6 @@ void MainWindow::highlightAll() } -void MainWindow::zoomIn() -{ - m_zoomSlider->setValue(m_zoomSlider->value() + 1); -} - - -void MainWindow::zoomNormal() -{ - m_zoomSlider->setValue(10); -} - - -void MainWindow::zoomOut() -{ - m_zoomSlider->setValue(m_zoomSlider->value() - 1); -} - - -void MainWindow::setZoomFactor(int factor) -{ - if (!currentTab()) - return; - currentTab()->view()->setZoomFactor(QVariant(factor).toReal() / 10); -} - - -void MainWindow::setZoomSliderFactor(qreal factor) -{ - m_zoomSlider->setValue(factor * 10); -} - - void MainWindow::viewFullScreen(bool makeFullScreen) { setWidgetsVisible(!makeFullScreen); @@ -1397,4 +1334,4 @@ bool MainWindow::queryClose() } } return true; -} +} \ No newline at end of file -- cgit v1.2.1 From e55e9c541f7a700de529b521552cc935619cc894 Mon Sep 17 00:00:00 2001 From: Yoann Laissus Date: Mon, 9 Aug 2010 23:51:33 +0200 Subject: - Fix Ctrl + wheel shortcut - Fix zoomUp at the end of the bar - add a stretch on the right --- src/mainwindow.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/mainwindow.cpp') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 01dd2ad2..4d6883ef 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -255,6 +255,7 @@ void MainWindow::postLaunch() // Zoom Bar signal connect(m_view, SIGNAL(currentChanged(int)), m_zoomBar, SLOT(updateSlider(int))); + connect(this->currentTab()->view(), SIGNAL(zoomChanged(int)), m_zoomBar, SLOT(setValue(int))); // Ctrl + wheel handling // setting up toolbars to NOT have context menu enabled setContextMenuPolicy(Qt::DefaultContextMenu); @@ -1334,4 +1335,4 @@ bool MainWindow::queryClose() } } return true; -} \ No newline at end of file +} -- cgit v1.2.1 From 1c38aae39d5ec6ee6b422b7f9c0ac54478de88d2 Mon Sep 17 00:00:00 2001 From: Yoann Laissus Date: Tue, 10 Aug 2010 11:43:09 +0200 Subject: - Checkable action for the zoom and find bars --- src/mainwindow.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/mainwindow.cpp') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4d6883ef..e547e8e3 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -294,10 +294,12 @@ void MainWindow::setupActions() KStandardAction::print(this, SLOT(printRequested()), actionCollection()); KStandardAction::quit(this , SLOT(close()), actionCollection()); - a = KStandardAction::find(m_findBar, SLOT(show()), actionCollection()); + a = KStandardAction::find(m_findBar, SLOT(toggleVisibility()), actionCollection()); KShortcut findShortcut = KStandardShortcut::find(); findShortcut.setAlternate(Qt::Key_Slash); a->setShortcut(findShortcut); + a->setCheckable(true); + connect(m_findBar, SIGNAL(visibilityChanged(bool)), a, SLOT(setChecked(bool))); KStandardAction::findNext(this, SLOT(findNext()) , actionCollection()); KStandardAction::findPrev(this, SLOT(findPrevious()) , actionCollection()); @@ -457,7 +459,10 @@ void MainWindow::setupTools() toolsMenu->addAction(actionByName(KStandardAction::name(KStandardAction::Print))); toolsMenu->addAction(actionByName(KStandardAction::name(KStandardAction::Find))); - toolsMenu->addAction(actionByName(KStandardAction::name(KStandardAction::Zoom))); + QAction *action = actionByName(KStandardAction::name(KStandardAction::Zoom)); + action->setCheckable(true); + connect (m_zoomBar, SIGNAL(visibilityChanged(bool)), action, SLOT(setChecked(bool))); + toolsMenu->addAction(action); toolsMenu->addAction(actionByName(QL1S("encodings"))); -- cgit v1.2.1 From 9373712886409ccdce0211f5267b2003a0a770a2 Mon Sep 17 00:00:00 2001 From: Yoann Laissus Date: Tue, 10 Aug 2010 11:47:47 +0200 Subject: Fix comments --- src/mainwindow.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/mainwindow.cpp') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index e547e8e3..5d0d1d0c 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -255,7 +255,8 @@ void MainWindow::postLaunch() // Zoom Bar signal connect(m_view, SIGNAL(currentChanged(int)), m_zoomBar, SLOT(updateSlider(int))); - connect(this->currentTab()->view(), SIGNAL(zoomChanged(int)), m_zoomBar, SLOT(setValue(int))); // Ctrl + wheel handling + // Ctrl + wheel handling + connect(this->currentTab()->view(), SIGNAL(zoomChanged(int)), m_zoomBar, SLOT(setValue(int))); // setting up toolbars to NOT have context menu enabled setContextMenuPolicy(Qt::DefaultContextMenu); -- cgit v1.2.1