summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--components/chatmessage.cpp2
-rw-r--r--components/memberlist.cpp2
-rw-r--r--settings.cpp9
-rw-r--r--settings.hpp7
4 files changed, 13 insertions, 7 deletions
diff --git a/components/chatmessage.cpp b/components/chatmessage.cpp
index 05ba54b..b278ce3 100644
--- a/components/chatmessage.cpp
+++ b/components/chatmessage.cpp
@@ -533,7 +533,7 @@ void ChatMessageItemContainer::HandleCustomEmojis(Gtk::TextView *tv) {
}
void ChatMessageItemContainer::HandleEmojis(Gtk::TextView *tv) {
- static bool emojis = Abaddon::Get().GetSettings().GetSettingString("gui", "emojis", "true") != "false";
+ static bool emojis = Abaddon::Get().GetSettings().GetSettingBool("gui", "emojis", true);
if (emojis) {
HandleStockEmojis(tv);
HandleCustomEmojis(tv);
diff --git a/components/memberlist.cpp b/components/memberlist.cpp
index 82af1bd..fc317e7 100644
--- a/components/memberlist.cpp
+++ b/components/memberlist.cpp
@@ -17,7 +17,7 @@ MemberListUserRow::MemberListUserRow(Snowflake guild_id, const User *data) {
m_label->set_single_line_mode(true);
m_label->set_ellipsize(Pango::ELLIPSIZE_END);
if (data != nullptr) {
- static bool show_discriminator = Abaddon::Get().GetSettings().GetSettingString("gui", "member_list_discriminator", "true") != "false";
+ static bool show_discriminator = Abaddon::Get().GetSettings().GetSettingBool("gui", "member_list_discriminator", true);
std::string display = data->Username;
if (show_discriminator)
display += "#" + data->Discriminator;
diff --git a/settings.cpp b/settings.cpp
index daff887..dba2fd3 100644
--- a/settings.cpp
+++ b/settings.cpp
@@ -14,14 +14,18 @@ SettingsManager::SettingsManager(std::string filename)
m_ok = rc == SI_OK;
}
-std::string SettingsManager::GetSettingString(std::string section, std::string key, std::string fallback) const {
+std::string SettingsManager::GetSettingString(const std::string &section, const std::string &key, std::string fallback) const {
return m_ini.GetValue(section.c_str(), key.c_str(), fallback.c_str());
}
-int SettingsManager::GetSettingInt(std::string section, std::string key, int fallback) const {
+int SettingsManager::GetSettingInt(const std::string &section, const std::string &key, int fallback) const {
return std::stoul(GetSettingString(section, key, std::to_string(fallback)));
}
+bool SettingsManager::GetSettingBool(const std::string &section, const std::string &key, bool fallback) const {
+ return GetSettingString(section, key, "false") != "false";
+}
+
bool SettingsManager::IsValid() const {
return m_ok;
}
@@ -29,3 +33,4 @@ bool SettingsManager::IsValid() const {
void SettingsManager::Close() {
m_ini.SaveFile(m_filename.c_str());
}
+
diff --git a/settings.hpp b/settings.hpp
index bc020a1..cb2e824 100644
--- a/settings.hpp
+++ b/settings.hpp
@@ -8,12 +8,12 @@ public:
SettingsManager(std::string filename);
void Close();
- std::string GetSettingString(std::string section, std::string key, std::string fallback = "") const;
- int GetSettingInt(std::string section, std::string key, int fallback) const;
+ std::string GetSettingString(const std::string &section, const std::string &key, std::string fallback = "") const;
+ int GetSettingInt(const std::string &section, const std::string &key, int fallback) const;
+ bool GetSettingBool(const std::string &section, const std::string &key, bool fallback) const;
template<typename T>
void SetSetting(std::string section, std::string key, T value) {
- static_assert(std::is_convertible<T, std::string>::value);
if constexpr (std::is_same<T, std::string>::value)
m_ini.SetValue(section.c_str(), key.c_str(), value.c_str());
else
@@ -21,6 +21,7 @@ public:
m_ini.SaveFile(m_filename.c_str());
}
+
bool IsValid() const;
private: