From 9b943eafc83653db3bedbd7d7f3fbfa77e0ec448 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Thu, 23 Feb 2017 14:24:39 +0100 Subject: Minor features First run check focusAddress and *toolbarMovable options --- src/browser.cpp | 18 ++++++++++++++++++ src/browser.h | 1 + src/main.cpp | 3 +++ src/mainwindow.cpp | 15 +++++++++++++++ src/mainwindow.h | 1 + 5 files changed, 38 insertions(+) (limited to 'src') diff --git a/src/browser.cpp b/src/browser.cpp index 46af166..a1c097a 100644 --- a/src/browser.cpp +++ b/src/browser.cpp @@ -22,11 +22,15 @@ #include "mainwindow.h" #include "settings.h" #include +#include Browser::Browser(int &argc, char *argv[]) : QApplication(argc, argv) { setApplicationName("smolbote"); + + // This lets the web view automatically scale on high-dpi displays. + setAttribute(Qt::AA_EnableHighDpiScaling); } Browser::~Browser() @@ -38,6 +42,20 @@ Browser::~Browser() delete m_downloadManager; } +/*! + * Check if the settings are empty + */ +void Browser::firstRun() +{ + Settings settings; + if(settings.allKeys().isEmpty()) { + // There are no keys in the settings + QMessageBox::information(0, + tr("Configuration is empty"), + tr("The configuration file %1 is empty. Using default values").arg(settings.staticFilePath())); + } +} + /*! * Anything that needs to run after the QCommandLineParser but before showing a main window */ diff --git a/src/browser.h b/src/browser.h index 2d3c2b0..3d3b297 100644 --- a/src/browser.h +++ b/src/browser.h @@ -36,6 +36,7 @@ public: Browser(int &argc, char *argv[]); ~Browser(); + void firstRun(); bool preLaunch(QStringList urls); static Browser *instance(); diff --git a/src/main.cpp b/src/main.cpp index 656472c..b787caf 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -43,7 +43,10 @@ int main(int argc, char *argv[]) parser.process(app); + // set config path app.setConfigPath(parser.value(configOption)); + app.firstRun(); + if(!app.preLaunch(parser.positionalArguments())) { return 0; } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index fa7f01d..5d7c3b7 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -79,8 +79,10 @@ MainWindow::MainWindow(QUrl defaultUrl, QWidget *parent) : //profileMenu->addAction(tr("Settings")); //profileMenu->addAction(tr("Cookies")); + navigationToolBar->setMovable(settings.value("ui/navtoolbarMovable", true).toBool()); this->addToolBar(Qt::TopToolBarArea, navigationToolBar); this->addToolBarBreak(Qt::TopToolBarArea); + tabToolBar->setMovable(settings.value("ui/tabtoolbarMovable", true).toBool()); this->addToolBar(Qt::TopToolBarArea, tabToolBar); navigationToolBar->addWidget(urlLineEdit); @@ -89,8 +91,15 @@ MainWindow::MainWindow(QUrl defaultUrl, QWidget *parent) : tabToolBar->addWidget(tabBar); connect(tabBar, SIGNAL(currentTabChanged(WebView*)), this, SLOT(handleTabChanged(WebView*))); + // loading bar ui->statusBar->addPermanentWidget(progressBar); + // shortcuts + QAction *focusAddressAction = new QAction(this); + focusAddressAction->setShortcut(QKeySequence::fromString(settings.value("shortcuts/focusAddress").toString())); + connect(focusAddressAction, SIGNAL(triggered(bool)), this, SLOT(focusAddress())); + addAction(focusAddressAction); + if(!defaultUrl.isEmpty()) { addNewTab(defaultUrl); } else { @@ -121,6 +130,12 @@ void MainWindow::addNewTab(const QUrl &url) } } +void MainWindow::focusAddress() +{ + urlLineEdit->setFocus(); + urlLineEdit->selectAll(); +} + void MainWindow::closeEvent(QCloseEvent *event) { if(tabBar->count() > 1) { diff --git a/src/mainwindow.h b/src/mainwindow.h index 0c1f659..e7fb6c6 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -49,6 +49,7 @@ public: public slots: void addNewTab(const QUrl &url = QUrl("")); + void focusAddress(); protected: void closeEvent(QCloseEvent *event) override; -- cgit v1.2.1