From 1af072e928e9903dec78bc9e323ce47f5e0e151a Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sun, 19 Aug 2018 11:48:13 +0200 Subject: WebView: close context menu when buttons are pressed --- src/webengine/webview.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src/webengine/webview.cpp') diff --git a/src/webengine/webview.cpp b/src/webengine/webview.cpp index 0e48703..25f7b70 100644 --- a/src/webengine/webview.cpp +++ b/src/webengine/webview.cpp @@ -128,20 +128,31 @@ void WebView::contextMenuEvent(QContextMenuEvent *event) buttonsLayout->setSpacing(2); auto *backButton = new QToolButton(this); + backButton->setEnabled(history()->canGoBack()); backButton->setIcon(style()->standardIcon(QStyle::SP_ArrowBack)); - connect(backButton, &QToolButton::clicked, this, &WebView::back); + connect(backButton, &QToolButton::clicked, this, [this, menu]() { + this->back(); + menu->close(); + }); buttonsLayout->addWidget(backButton); auto *forwardButton = new QToolButton(this); + forwardButton->setEnabled(history()->canGoForward()); forwardButton->setIcon(style()->standardIcon(QStyle::SP_ArrowForward)); - connect(forwardButton, &QToolButton::clicked, this, &WebView::forward); + connect(forwardButton, &QToolButton::clicked, this, [this, menu]() { + this->forward(); + menu->close(); + }); buttonsLayout->addWidget(forwardButton); buttonsLayout->addStretch(); auto *refreshButton = new QToolButton(this); refreshButton->setIcon(style()->standardIcon(QStyle::SP_BrowserReload)); - connect(refreshButton, &QToolButton::clicked, this, &WebView::reload); + connect(refreshButton, &QToolButton::clicked, this, [this, menu]() { + this->reload(); + menu->close(); + }); buttonsLayout->addWidget(refreshButton); buttons->setLayout(buttonsLayout); -- cgit v1.2.1