Merge pull request #621 from kiwix/history-shortcuts

History shortcuts
This commit is contained in:
Kelson 2021-07-28 11:56:41 +02:00 committed by GitHub
commit 6d639c9797
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 26 additions and 20 deletions

View File

@ -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,

View File

@ -45,6 +45,8 @@ public:
ZoomInAction,
ZoomOutAction,
ZoomResetAction,
HistoryBackAction,
HistoryForwardAction,
HelpAction,
FeedbackAction,
ReportBugAction,

View File

@ -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;