aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Skec <skec@protonmail.ch>2020-12-29 18:42:59 +1100
committerFelix Queißner <felix@ib-queissner.de>2020-12-29 10:22:59 +0100
commit03ccdf38e083b42a9c7d7887e43c48ed46155396 (patch)
treec3440d3f9212c40c070be6fa2fb45dff8c97223c /src
parent2ccc644f98019885562c9c5f46d27be39595ff06 (diff)
downloadkristall-03ccdf38e083b42a9c7d7887e43c48ed46155396.tar.gz
Add optional 'home' button to browser toolbar.
Can be disable in settings
Diffstat (limited to 'src')
-rw-r--r--src/browsertab.cpp2
-rw-r--r--src/browsertab.ui16
-rw-r--r--src/dialogs/settingsdialog.cpp7
-rw-r--r--src/dialogs/settingsdialog.hpp2
-rw-r--r--src/dialogs/settingsdialog.ui15
-rw-r--r--src/kristall.hpp3
-rw-r--r--src/main.cpp3
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);
}