diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-04-17 01:38:07 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-04-17 01:38:07 +0200 |
commit | 74a7ea3732853f954fcab7088acaa2413fc3e7c1 (patch) | |
tree | 02ca9dd6f0dd4ea1b18346d4c6004c74c504d04f /src/mainwindow/mainwindow.cpp | |
parent | Multiple subwindows interface (diff) | |
download | smolbote-74a7ea3732853f954fcab7088acaa2413fc3e7c1.tar.xz |
Enabled address bar suggestions
Also fixed occasional bug when showing the completer.
Diffstat (limited to 'src/mainwindow/mainwindow.cpp')
-rw-r--r-- | src/mainwindow/mainwindow.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mainwindow/mainwindow.cpp b/src/mainwindow/mainwindow.cpp index c039c8e..6af530a 100644 --- a/src/mainwindow/mainwindow.cpp +++ b/src/mainwindow/mainwindow.cpp @@ -23,6 +23,7 @@ #include <QUrl> #include <about/aboutdialog.h> #include <configuration/configuration.h> +#include "addressbar/urllineedit.h" MainWindow::MainWindow(std::shared_ptr<Configuration> &config, QWidget *parent) : QMainWindow(parent) @@ -41,16 +42,28 @@ MainWindow::MainWindow(std::shared_ptr<Configuration> &config, QWidget *parent) show(); createMenuBar(); + auto *navigationToolBar = new NavigationBar(config->section("navigation"), this); navigationToolBar->setMovable(config->value<bool>("navigation.movable").value()); addToolBar(Qt::TopToolBarArea, navigationToolBar); navigationToolBar->connectWebView(nullptr); + QHash<QString, QString> a; + addressBar = new UrlLineEdit(a, this); + navigationToolBar->addWidget(addressBar); + + auto *focusShortcut = new QShortcut(QKeySequence("F4"), this); + connect(focusShortcut, &QShortcut::activated, this, [this]() { + addressBar->setFocus(); + addressBar->selectAll(); + }); + setCentralWidget(mdiArea); mdiArea->setFocus(); connect(mdiArea, &QMdiArea::subWindowActivated, this, [this, navigationToolBar](QMdiSubWindow *window) { disconnect(titleChangedConnection); + disconnect(addressBarConnection); disconnect(navigationBarConnection); auto *w = qobject_cast<Window *>(window); @@ -60,6 +73,8 @@ MainWindow::MainWindow(std::shared_ptr<Configuration> &config, QWidget *parent) this->setWindowTitle(title + titleSuffix); }); + addressBar->connectWebView(w->currentView()); + addressBarConnection = connect(w, &Window::currentViewChanged, addressBar, &UrlLineEdit::connectWebView); navigationToolBar->connectWebView(w->currentView()); navigationBarConnection = connect(w, &Window::currentViewChanged, navigationToolBar, &NavigationBar::connectWebView); } @@ -74,6 +89,7 @@ MainWindow::MainWindow(std::shared_ptr<Configuration> &config, QWidget *parent) MainWindow::~MainWindow() { disconnect(titleChangedConnection); + disconnect(addressBarConnection); disconnect(navigationBarConnection); } |