diff --git a/src/kiwixapp.cpp b/src/kiwixapp.cpp index 4a12d25..e1f9fee 100644 --- a/src/kiwixapp.cpp +++ b/src/kiwixapp.cpp @@ -298,9 +298,17 @@ void KiwixApp::createAction() connect(mpa_actions[RandomArticleAction], &QAction::triggered, this, [=]() { this->openRandomUrl(false); }); - CREATE_ACTION(OpenHomePageAction, gt("random-article")); + CREATE_ACTION(OpenHomePageAction, gt("home-page")); SET_SHORTCUT(OpenHomePageAction, QKeySequence(Qt::ALT + Qt::Key_Home)); + CREATE_ACTION_ICON(HistoryBackAction, "back", gt("back")); + SET_SHORTCUT(HistoryBackAction, QKeySequence(Qt::ALT + Qt::Key_Left)); + DISABLE_ACTION(HistoryBackAction); + + CREATE_ACTION_ICON(HistoryForwardAction, "forward", gt("forward")); + SET_SHORTCUT(HistoryForwardAction, QKeySequence(Qt::ALT + Qt::Key_Right)); + DISABLE_ACTION(HistoryForwardAction); + CREATE_ACTION_ICON(PrintAction, "print", gt("print")); SET_SHORTCUT(PrintAction, QKeySequence::Print); connect(mpa_actions[PrintAction], &QAction::triggered, diff --git a/src/kiwixapp.h b/src/kiwixapp.h index 3834627..a1b2fda 100644 --- a/src/kiwixapp.h +++ b/src/kiwixapp.h @@ -45,6 +45,8 @@ public: ZoomInAction, ZoomOutAction, ZoomResetAction, + HistoryBackAction, + HistoryForwardAction, HelpAction, FeedbackAction, ReportBugAction, diff --git a/src/topwidget.cpp b/src/topwidget.cpp index c3945c1..c82e962 100644 --- a/src/topwidget.cpp +++ b/src/topwidget.cpp @@ -10,25 +10,21 @@ TopWidget::TopWidget(QWidget *parent) : QToolBar(parent) { - mp_historyBackAction = new QAction(this); - mp_historyBackAction->setIcon(QIcon(":/icons/back.svg")); - mp_historyBackAction->setText(gt("back")); - mp_historyBackAction->setToolTip(gt("back")); - mp_historyBackAction->setEnabled(false); - connect(mp_historyBackAction, &QAction::triggered, [](){ + auto app = KiwixApp::instance(); + + QAction *back = app->getAction(KiwixApp::HistoryBackAction); + connect(back, &QAction::triggered, [](){ KiwixApp::instance()->getTabWidget()->triggerWebPageAction(QWebEnginePage::Back); }); - addAction(mp_historyBackAction); - widgetForAction(mp_historyBackAction)->setObjectName("backButton"); - mp_historyForwardAction = new QAction(this); - mp_historyForwardAction->setIcon(QIcon(":/icons/forward.svg")); - mp_historyForwardAction->setText(gt("forward")); - mp_historyForwardAction->setToolTip(gt("forward")); - mp_historyForwardAction->setEnabled(false); - connect(mp_historyForwardAction, &QAction::triggered, [](){ + addAction(back); + widgetForAction(back)->setObjectName("backButton"); // For CSS + + QAction *forward = app->getAction(KiwixApp::HistoryForwardAction); + connect(forward, &QAction::triggered, [](){ KiwixApp::instance()->getTabWidget()->triggerWebPageAction(QWebEnginePage::Forward); }); - addAction(mp_historyForwardAction); + addAction(forward); + addSeparator(); addWidget(&m_searchEntry); @@ -61,18 +57,18 @@ TopWidget::TopWidget(QWidget *parent) : TopWidget::~TopWidget() { - delete mp_historyBackAction; - delete mp_historyForwardAction; } void TopWidget::handleWebActionEnabledChanged(QWebEnginePage::WebAction action, bool enabled) { + auto app = KiwixApp::instance(); + switch (action) { case QWebEnginePage::Back: - mp_historyBackAction->setEnabled(enabled); + app->getAction(KiwixApp::HistoryBackAction)->setEnabled(enabled); break; case QWebEnginePage::Forward: - mp_historyForwardAction->setEnabled(enabled); + app->getAction(KiwixApp::HistoryForwardAction)->setEnabled(enabled); break; default: break;