From 03ccdf38e083b42a9c7d7887e43c48ed46155396 Mon Sep 17 00:00:00 2001 From: Mike Skec Date: Tue, 29 Dec 2020 18:42:59 +1100 Subject: Add optional 'home' button to browser toolbar. Can be disable in settings --- src/browsertab.cpp | 2 ++ src/browsertab.ui | 16 ++++++++++++++++ src/dialogs/settingsdialog.cpp | 7 +++++++ src/dialogs/settingsdialog.hpp | 2 ++ src/dialogs/settingsdialog.ui | 15 +++++++++++++++ src/kristall.hpp | 3 +++ src/main.cpp | 3 +++ 7 files changed, 48 insertions(+) (limited to 'src') diff --git a/src/browsertab.cpp b/src/browsertab.cpp index 525a8d3..7aa2217 100644 --- a/src/browsertab.cpp +++ b/src/browsertab.cpp @@ -1038,6 +1038,8 @@ void BrowserTab::updateUI() this->ui->back_button->setEnabled(history.oneBackward(current_history_index).isValid()); this->ui->forward_button->setEnabled(history.oneForward(current_history_index).isValid()); + this->ui->home_button->setVisible(kristall::options.enable_home_btn); + bool in_progress = (this->current_handler != nullptr) and this->current_handler->isInProgress(); this->ui->refresh_button->setVisible(not in_progress); diff --git a/src/browsertab.ui b/src/browsertab.ui index 61b866c..faa2666 100644 --- a/src/browsertab.ui +++ b/src/browsertab.ui @@ -95,6 +95,22 @@ + + + + true + + + Kristall Home Page + + + Home + + + + + + diff --git a/src/dialogs/settingsdialog.cpp b/src/dialogs/settingsdialog.cpp index d840968..563c728 100644 --- a/src/dialogs/settingsdialog.cpp +++ b/src/dialogs/settingsdialog.cpp @@ -230,6 +230,8 @@ void SettingsDialog::setOptions(const GenericSettings &options) } this->ui->network_timeout->setValue(this->current_options.network_timeout); + + this->ui->enable_home_btn->setChecked(this->current_options.enable_home_btn); } GenericSettings SettingsDialog::options() const @@ -622,3 +624,8 @@ void SettingsDialog::on_network_timeout_valueChanged(int timeout) { this->current_options.network_timeout = timeout; } + +void SettingsDialog::on_enable_home_btn_clicked(bool checked) +{ + this->current_options.enable_home_btn = checked; +} diff --git a/src/dialogs/settingsdialog.hpp b/src/dialogs/settingsdialog.hpp index 045b861..671c059 100644 --- a/src/dialogs/settingsdialog.hpp +++ b/src/dialogs/settingsdialog.hpp @@ -120,6 +120,8 @@ private slots: void on_network_timeout_valueChanged(int arg1); + void on_enable_home_btn_clicked(bool arg1); + private: void reloadStylePreview(); diff --git a/src/dialogs/settingsdialog.ui b/src/dialogs/settingsdialog.ui index fdfd33b..2de52d3 100644 --- a/src/dialogs/settingsdialog.ui +++ b/src/dialogs/settingsdialog.ui @@ -285,6 +285,20 @@ + + + + Additional toolbar buttons + + + + + + + Home + + + @@ -910,6 +924,7 @@ max_redirects redirection_mode network_timeout + enable_home_btn bg_change_color style_preview std_change_font diff --git a/src/kristall.hpp b/src/kristall.hpp index e214137..2fef256 100644 --- a/src/kristall.hpp +++ b/src/kristall.hpp @@ -45,6 +45,9 @@ struct GenericSettings // 5 seconds network timeout int network_timeout = 5000; + // Additional toolbar items + bool enable_home_btn = false; + void load(QSettings & settings); void save(QSettings & settings) const; }; diff --git a/src/main.cpp b/src/main.cpp index 054dda9..d658567 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -344,6 +344,8 @@ void GenericSettings::load(QSettings &settings) max_redirections = settings.value("max_redirections", 5).toInt(); redirection_policy = RedirectionWarning(settings.value("redirection_policy ", WarnOnHostChange).toInt()); + + enable_home_btn = settings.value("enable_home_btn", false).toBool(); } void GenericSettings::save(QSettings &settings) const @@ -364,6 +366,7 @@ void GenericSettings::save(QSettings &settings) const settings.setValue("max_redirections", max_redirections); settings.setValue("redirection_policy", int(redirection_policy)); settings.setValue("network_timeout", network_timeout); + settings.setValue("enable_home_btn", enable_home_btn); } -- cgit v1.2.3