From c114e8df178f19064c0b90ae162f062b25668fff Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sun, 10 Sep 2017 22:59:47 +0200 Subject: Back/Forward NavigationButton class --- src/mainwindow.cpp | 39 +++++---------------------------------- 1 file changed, 5 insertions(+), 34 deletions(-) (limited to 'src/mainwindow.cpp') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index cb29e64..68afa40 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -76,40 +76,9 @@ MainWindow::MainWindow(QUrl defaultUrl, QWidget *parent) : navigationToolBar->setMovable(sSettings->value("window.ui.navtoolbarMovable").toBool()); // page actions - QToolButton *backButton = new QToolButton(this); - backButton->setIcon(style()->standardIcon(QStyle::SP_ArrowBack)); - connect(backButton, SIGNAL(clicked()), tabBar->signalMapper(), SLOT(map())); - tabBar->signalMapper()->setMapping(backButton, WebViewTabBar::Back); - - QMenu *backMenu = new QMenu(this); - connect(backMenu, &QMenu::aboutToShow, [backMenu, this]() { - backMenu->clear(); - for(QWebEngineHistoryItem i : m_currentView->history()->backItems(10)) { - QAction *a = backMenu->addAction(i.title()); - connect(a, &QAction::triggered, [i, this]() { - m_currentView->history()->goToItem(i); - }); - } - }); - backButton->setMenu(backMenu); - - QToolButton *forwardButton = new QToolButton(this); - forwardButton->setIcon(style()->standardIcon(QStyle::SP_ArrowForward)); - connect(forwardButton, SIGNAL(clicked()), tabBar->signalMapper(), SLOT(map())); - tabBar->signalMapper()->setMapping(forwardButton, WebViewTabBar::Forward); - - - QMenu *forwardMenu = new QMenu(this); - connect(forwardMenu, &QMenu::aboutToShow, [forwardMenu, this]() { - forwardMenu->clear(); - for(QWebEngineHistoryItem i : m_currentView->history()->forwardItems(10)) { - QAction *a = forwardMenu->addAction(i.title()); - connect(a, &QAction::triggered, [i, this]() { - m_currentView->history()->goToItem(i); - }); - } - }); - forwardButton->setMenu(forwardMenu); + backButton = new NavigationButton(NavigationButton::BackButton, this); + + forwardButton = new NavigationButton(NavigationButton::ForwardButton, this); QToolButton *reloadButton = new QToolButton(this); reloadButton->setIcon(style()->standardIcon(QStyle::SP_BrowserReload)); @@ -270,6 +239,8 @@ void MainWindow::handleTabChanged(WebView *view) setCentralWidget(view); // connect signals + backButton->setView(view); + forwardButton->setView(view); m_addressBar->setWebView(view); connect(view, SIGNAL(titleChanged(QString)), this, SLOT(handleTitleUpdated(QString))); connect(view, SIGNAL(linkHovered(QString)), ui->statusBar, SLOT(showMessage(QString))); -- cgit v1.2.1