From c7bb4ef3b9817d800809f0d3a52e96914aa2c7d8 Mon Sep 17 00:00:00 2001 From: aqua Date: Tue, 23 Aug 2022 12:53:45 +0300 Subject: Add placeholder menus to main window --- src/application.cpp | 29 +++++-------- src/application_instance.cpp | 3 +- src/rekonqwindow.cpp | 14 ++++++- src/rekonqwindow.ui | 97 ++++++++++++++++++++++++++++++++++++++++---- src/urlbar/urlbar.h | 1 - 5 files changed, 112 insertions(+), 32 deletions(-) diff --git a/src/application.cpp b/src/application.cpp index 88466d73..63263278 100644 --- a/src/application.cpp +++ b/src/application.cpp @@ -387,29 +387,20 @@ RekonqWindow *Application::newWindow() RekonqView *Application::newView(const QUrl &url, RekonqWindow *window) { + RekonqView *view = nullptr; + #ifdef QT_DEBUG - if (url.isEmpty()) { - auto *view = new RekonqView_fake(window); - if (window == nullptr) { - m_views.append(view); - view->show(); - } - else - window->addView(view); - return view; - } + if (url.isEmpty()) view = new RekonqView_fake(window); + else #endif - - RekonqPluginInterface *interface = nullptr; - for (const auto &plugin : m_plugins) - if (plugin->hasScheme(url.scheme())) { - interface = plugin->interface(); - break; + for (const auto &plugin : m_plugins) { + if (plugin->hasScheme(url.scheme())) { + view = plugin->interface()->view(url); + break; + } } - if (interface == nullptr) return nullptr; - - auto *view = interface->view(url); + if (view == nullptr) return view; Q_CHECK_PTR(view); // tab->installEventFilter(this); diff --git a/src/application_instance.cpp b/src/application_instance.cpp index 8c744d10..a82e9a72 100644 --- a/src/application_instance.cpp +++ b/src/application_instance.cpp @@ -9,6 +9,7 @@ * ============================================================ */ #include "application.hpp" +#include "rsettings.hpp" #include static const char *description = "A lightweight Web Browser based on Qt WebEngine"; @@ -49,7 +50,7 @@ void Application::parseCommandLine(quint32 instanceId, const QByteArray &message else { // create main window auto *window = newWindow(); - if (positionalArguments.isEmpty()) newView(QUrl(), window); + if (positionalArguments.isEmpty()) newView(m_settings->value("homepage").toUrl(), window); else for (const auto &url : positionalArguments) newView(QUrl::fromUserInput(url), window); } diff --git a/src/rekonqwindow.cpp b/src/rekonqwindow.cpp index 34a8f5b5..4f3e57f1 100644 --- a/src/rekonqwindow.cpp +++ b/src/rekonqwindow.cpp @@ -29,12 +29,22 @@ RekonqWindow::RekonqWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::Re }); connect(ui->tabs, &TabBar::removeView, this, [this](RekonqView *view) { ui->views->removeWidget(view); }); - // connect actions + // connect menu actions + // file menu + connect(ui->actionQuit, &QAction::triggered, qApp, &QApplication::quit); + // edit menu + // view menu + // history menu + // bookmarks menu + // settings menu connect(ui->actionSettings, &QAction::triggered, this, [this]() { (new SettingsDialog(Application::instance()->settings(), this))->show(); }); connect(ui->actionTaskManager, &QAction::triggered, this, [this]() { (new TaskManager(this))->show(); }); + // help menu + connect(ui->actionAboutQt, &QAction::triggered, qApp, &QApplication::aboutQt); - connect(ui->newTab, &QToolButton::clicked, this, [this]() { Application::instance()->newView(QUrl(), this); }); + connect(ui->newTab, &QToolButton::clicked, this, + [this]() { Application::instance()->newView(QUrl("about:blank"), this); }); } RekonqWindow::~RekonqWindow() { delete ui; } diff --git a/src/rekonqwindow.ui b/src/rekonqwindow.ui index 1105f300..9e3986e1 100644 --- a/src/rekonqwindow.ui +++ b/src/rekonqwindow.ui @@ -16,7 +16,7 @@ - + @@ -30,10 +30,38 @@ - + + + + + Back + + + + + + + Forward + + + + + + + Load + + + + + + + Menu + + + @@ -47,19 +75,57 @@ 0 0 800 - 30 + 22 - + - rekonq + File + + + + + + Edit + + + + + View - - - - + + + History + + + + + Bookmarks + + + + + Settings + + + + + + + + Help + + + + + + + + + + @@ -80,6 +146,19 @@ Configure rekonq + + + &Quit + + + Ctrl+Q + + + + + About Qt + + diff --git a/src/urlbar/urlbar.h b/src/urlbar/urlbar.h index cdfcc14f..da34151e 100644 --- a/src/urlbar/urlbar.h +++ b/src/urlbar/urlbar.h @@ -33,7 +33,6 @@ protected: }; // Definitions -class QProgressBar; typedef QList IconButtonPointerList; class UrlBar : public QLineEdit { -- cgit v1.2.1