diff options
| author | Mike Skec <skec@protonmail.ch> | 2020-12-29 18:42:59 +1100 |
|---|---|---|
| committer | Felix Queißner <felix@ib-queissner.de> | 2020-12-29 10:22:59 +0100 |
| commit | 03ccdf38e083b42a9c7d7887e43c48ed46155396 (patch) | |
| tree | c3440d3f9212c40c070be6fa2fb45dff8c97223c /src | |
| parent | 2ccc644f98019885562c9c5f46d27be39595ff06 (diff) | |
| download | kristall-03ccdf38e083b42a9c7d7887e43c48ed46155396.tar.gz | |
Add optional 'home' button to browser toolbar.
Can be disable in settings
Diffstat (limited to 'src')
| -rw-r--r-- | src/browsertab.cpp | 2 | ||||
| -rw-r--r-- | src/browsertab.ui | 16 | ||||
| -rw-r--r-- | src/dialogs/settingsdialog.cpp | 7 | ||||
| -rw-r--r-- | src/dialogs/settingsdialog.hpp | 2 | ||||
| -rw-r--r-- | src/dialogs/settingsdialog.ui | 15 | ||||
| -rw-r--r-- | src/kristall.hpp | 3 | ||||
| -rw-r--r-- | src/main.cpp | 3 |
7 files changed, 48 insertions, 0 deletions
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 @@ -96,6 +96,22 @@ </widget> </item> <item> + <widget class="QToolButton" name="home_button"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="toolTip"> + <string>Kristall Home Page</string> + </property> + <property name="text"> + <string>Home</string> + </property> + <property name="icon"> + <iconset theme="go-home"/> + </property> + </widget> + </item> + <item> <widget class="SearchBar" name="url_bar"> <property name="placeholderText"> <string>gemini://</string> 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 @@ </property> </widget> </item> + <item row="10" column="0"> + <widget class="QLabel" name="label_29"> + <property name="text"> + <string>Additional toolbar buttons</string> + </property> + </widget> + </item> + <item row="10" column="1"> + <widget class="QCheckBox" name="enable_home_btn"> + <property name="text"> + <string>Home</string> + </property> + </widget> + </item> </layout> </widget> <widget class="QWidget" name="style_tab"> @@ -910,6 +924,7 @@ <tabstop>max_redirects</tabstop> <tabstop>redirection_mode</tabstop> <tabstop>network_timeout</tabstop> + <tabstop>enable_home_btn</tabstop> <tabstop>bg_change_color</tabstop> <tabstop>style_preview</tabstop> <tabstop>std_change_font</tabstop> 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); } |
