aboutsummaryrefslogtreecommitdiff
path: root/src/mainwindow/addressbar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainwindow/addressbar.cpp')
-rw-r--r--src/mainwindow/addressbar.cpp31
1 files changed, 20 insertions, 11 deletions
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 <QShortcut>
#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<const QUrl &>(&WebView::load));
+ focus_connection = connect(this, &AddressBar::giveFocus, view, qOverload<>(&WebView::setFocus));
+ }
}
+