aboutsummaryrefslogtreecommitdiff
path: root/src/mainwindow/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainwindow/widgets')
-rw-r--r--src/mainwindow/widgets/navigationbar.cpp37
-rw-r--r--src/mainwindow/widgets/navigationbar.h4
2 files changed, 17 insertions, 24 deletions
diff --git a/src/mainwindow/widgets/navigationbar.cpp b/src/mainwindow/widgets/navigationbar.cpp
index 0e5966f..61d17fa 100644
--- a/src/mainwindow/widgets/navigationbar.cpp
+++ b/src/mainwindow/widgets/navigationbar.cpp
@@ -17,18 +17,14 @@
#include <QToolBar>
#include <QToolButton>
#include <QWebEngineHistory>
+#include "util.h"
-NavigationBar::NavigationBar(const QHash<QString, QString> &conf, QWidget *parent)
+NavigationBar::NavigationBar(const Configuration *config, QWidget *parent)
: QToolBar(parent)
{
- qStyle = parent->style();
-
// Back button
- backAction = addAction(qStyle->standardIcon(QStyle::SP_ArrowBack), tr("Back"));
- if(conf.count("navigation.shortcuts.back") > 0) {
- backAction->setShortcut(QKeySequence(conf.value("navigation.shortcuts.back")));
- backAction->setToolTip(tr("Back (%1)").arg(conf.value("navigation.shortcuts.back")));
- }
+ backAction = addAction(Util::icon(QStyle::SP_ArrowBack), tr("Back"));
+ config->setShortcut(backAction, "navigation.shortcuts.back");
connect(backAction, &QAction::triggered, this, [this]() {
m_view->history()->back();
});
@@ -46,7 +42,7 @@ NavigationBar::NavigationBar(const QHash<QString, QString> &conf, QWidget *paren
});
backAction->setMenu(backMenu);
- auto *backMenuShortcut = new QShortcut(QKeySequence(conf.value("navigation.shortcuts.backMenu")), this);
+ auto *backMenuShortcut = new QShortcut(QKeySequence(config->value<QString>("navigation.shortcuts.backMenu").value()), this);
connect(backMenuShortcut, &QShortcut::activated, backMenu, [this, backMenu]() {
if(backAction->isEnabled()) {
auto *widget = this->widgetForAction(backAction);
@@ -55,11 +51,8 @@ NavigationBar::NavigationBar(const QHash<QString, QString> &conf, QWidget *paren
});
// Forward button
- forwardAction = addAction(qStyle->standardIcon(QStyle::SP_ArrowForward), tr("Forward"));
- if(conf.count("navigation.shortcuts.forward") > 0) {
- forwardAction->setShortcut(QKeySequence(conf.value("navigation.shortcuts.forward")));
- forwardAction->setToolTip(tr("Forward (%1)").arg(conf.value("navigation.shortcuts.forward")));
- }
+ forwardAction = addAction(Util::icon(QStyle::SP_ArrowForward), tr("Forward"));
+ config->setShortcut(forwardAction, "navigation.shortcuts.forward");
connect(forwardAction, &QAction::triggered, this, [this]() {
m_view->history()->forward();
});
@@ -77,7 +70,7 @@ NavigationBar::NavigationBar(const QHash<QString, QString> &conf, QWidget *paren
});
forwardAction->setMenu(forwardMenu);
- auto *forwardMenuShortcut = new QShortcut(QKeySequence(conf.value("navigation.shortcuts.forwardMenu")), this);
+ auto *forwardMenuShortcut = new QShortcut(QKeySequence(config->value<QString>("navigation.shortcuts.forwardMenu").value()), this);
connect(forwardMenuShortcut, &QShortcut::activated, forwardMenu, [this, forwardMenu]() {
if(forwardAction->isEnabled()) {
auto *widget = this->widgetForAction(forwardAction);
@@ -86,8 +79,8 @@ NavigationBar::NavigationBar(const QHash<QString, QString> &conf, QWidget *paren
});
// Stop/Refresh button
- stopReloadAction = addAction(qStyle->standardIcon(QStyle::SP_BrowserReload), tr("Refresh"));
- stopReloadAction->setShortcut(QKeySequence(conf.value("navigation.shortcuts.refresh")));
+ stopReloadAction = addAction(Util::icon(QStyle::SP_BrowserReload), tr("Refresh"));
+ config->setShortcut(stopReloadAction, "navigation.shortcuts.refresh");
connect(stopReloadAction, &QAction::triggered, this, [this]() {
if(m_view->isLoaded())
m_view->reload();
@@ -95,14 +88,14 @@ NavigationBar::NavigationBar(const QHash<QString, QString> &conf, QWidget *paren
m_view->stop();
});
- auto *reloadShortcut = new QShortcut(QKeySequence(conf.value("navigation.shortcuts.reload")), this);
+ auto *reloadShortcut = new QShortcut(QKeySequence(config->value<QString>("navigation.shortcuts.reload").value()), this);
connect(reloadShortcut, &QShortcut::activated, this, [this]() {
m_view->triggerPageAction(QWebEnginePage::ReloadAndBypassCache);
});
// Home button
- homeAction = addAction(qStyle->standardIcon(QStyle::SP_DirHomeIcon), tr("Home"));
- homeAction->setShortcut(QKeySequence(conf.value("navigation.shortcuts.home")));
+ homeAction = addAction(Util::icon(QStyle::SP_DirHomeIcon), tr("Home"));
+ config->setShortcut(homeAction, "navigation.shortcuts.home");
connect(homeAction, &QAction::triggered, this, [this]() {
m_view->triggerViewAction(WebView::GoHome);
});
@@ -140,12 +133,12 @@ void NavigationBar::update_loadStarted()
{
backAction->setEnabled(m_view->history()->canGoForward());
forwardAction->setEnabled(m_view->history()->canGoForward());
- stopReloadAction->setIcon(qStyle->standardIcon(QStyle::SP_BrowserStop));
+ stopReloadAction->setIcon(Util::icon(QStyle::SP_BrowserStop));
}
void NavigationBar::update_loadFinished()
{
backAction->setEnabled(m_view->history()->canGoBack());
forwardAction->setEnabled(m_view->history()->canGoForward());
- stopReloadAction->setIcon(qStyle->standardIcon(QStyle::SP_BrowserReload));
+ stopReloadAction->setIcon(Util::icon(QStyle::SP_BrowserReload));
}
diff --git a/src/mainwindow/widgets/navigationbar.h b/src/mainwindow/widgets/navigationbar.h
index 98d62dc..0b5a319 100644
--- a/src/mainwindow/widgets/navigationbar.h
+++ b/src/mainwindow/widgets/navigationbar.h
@@ -11,13 +11,14 @@
#include <QToolBar>
+class Configuration;
class WebView;
class NavigationBar : public QToolBar
{
Q_OBJECT
public:
- explicit NavigationBar(const QHash<QString, QString> &conf, QWidget *parent = nullptr);
+ explicit NavigationBar(const Configuration *config, QWidget *parent = nullptr);
public slots:
void connectWebView(WebView *view);
@@ -27,7 +28,6 @@ private slots:
void update_loadFinished();
private:
- QStyle *qStyle;
WebView *m_view;
QAction *backAction, *forwardAction;