From 6e1d411f9218645851f0dde54688739390b62736 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Fri, 3 Apr 2020 21:23:35 +0300 Subject: Remove QMdiArea in MainWindow Kconfig: Change About Dialog shortcut default to F1 (was Ctrl+H) Change close current tab shortcut to Ctrl+W (was Ctrl+X) MainWindow: automatically close window when last subwindow is closed MenuBar: remove Tile/Cascade subwindows actions add show/hide/close subwindow actions SubWindow: remove Subwindow menu shortcut (was F1 by default) add close shortcut (default Ctrl+Shift+W) Minor fixes: Fix PKGBUILD sources --- src/mainwindow/addressbar.cpp | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'src/mainwindow/addressbar.cpp') diff --git a/src/mainwindow/addressbar.cpp b/src/mainwindow/addressbar.cpp index b1d005a..d37a6a7 100644 --- a/src/mainwindow/addressbar.cpp +++ b/src/mainwindow/addressbar.cpp @@ -10,6 +10,7 @@ #include "ui_addressbar.h" #include #include "configuration.h" +#include "webengine/webview.h" AddressBar::AddressBar(QWidget *parent) : QWidget(parent) @@ -42,22 +43,30 @@ AddressBar::AddressBar(QWidget *parent) } else { emit search(ui->urlBar->text()); } + ui->urlBar->clearFocus(); }); } -AddressBar::~AddressBar() +void AddressBar::connectView(WebView *view) { - disconnect(this); -} + disconnect(url_connection); + disconnect(progress_connection); + disconnect(search_connection); + disconnect(load_connection); + disconnect(focus_connection); -void AddressBar::setUrl(const QUrl &url) -{ - if(url.isEmpty()) + if(view == nullptr) { ui->urlBar->clear(); - else - ui->urlBar->setUrl(url); -} + ui->loadingBar->setValue(100); + } else { + ui->urlBar->setUrl(view->url()); + ui->loadingBar->setValue(100); + url_connection = connect(view, &WebView::urlChanged, ui->urlBar, &UrlLineEdit::setUrl); + progress_connection = connect(view, &WebView::loadProgress, ui->loadingBar, &QProgressBar::setValue); -void AddressBar::setProgress(int value) { - ui->loadingBar->setValue(std::min(value, 100)); + search_connection = connect(this, &AddressBar::search, view, &WebView::search); + load_connection = connect(this, &AddressBar::load, view, qOverload(&WebView::load)); + focus_connection = connect(this, &AddressBar::giveFocus, view, qOverload<>(&WebView::setFocus)); + } } + -- cgit v1.2.1