summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2024-01-11 21:28:55 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2024-01-11 21:28:55 -0500
commit09bf732a122760a1f1d6ba005d066d107c57edad (patch)
tree6066a7eef65f12b53961e24d1dd47040e440512f /src
parent615f2c80f1b0cfa7b72a08112ff4ef8ae23e5bf6 (diff)
downloadabaddon-portaudio-09bf732a122760a1f1d6ba005d066d107c57edad.tar.gz
abaddon-portaudio-09bf732a122760a1f1d6ba005d066d107c57edad.zip
switch to correct guild on channel open in classic channels
Diffstat (limited to 'src')
-rw-r--r--src/components/channellist/channellist.cpp8
-rw-r--r--src/settings.cpp1
-rw-r--r--src/settings.hpp1
3 files changed, 10 insertions, 0 deletions
diff --git a/src/components/channellist/channellist.cpp b/src/components/channellist/channellist.cpp
index e4060a8..873de41 100644
--- a/src/components/channellist/channellist.cpp
+++ b/src/components/channellist/channellist.cpp
@@ -28,6 +28,14 @@ void ChannelList::UpdateListing() {
}
void ChannelList::SetActiveChannel(Snowflake id, bool expand_to) {
+ if (Abaddon::Get().GetSettings().ClassicChangeGuildOnOpen) {
+ if (const auto channel = Abaddon::Get().GetDiscordClient().GetChannel(id); channel.has_value() && channel->GuildID.has_value()) {
+ m_tree.SetSelectedGuild(*channel->GuildID);
+ } else {
+ m_tree.SetSelectedDMs();
+ }
+ }
+
m_tree.SetActiveChannel(id, expand_to);
}
diff --git a/src/settings.cpp b/src/settings.cpp
index 6b051e7..36fffb0 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -97,6 +97,7 @@ void SettingsManager::DefineSettings() {
AddSetting("gui", "show_deleted_indicator", true, &Settings::ShowDeletedIndicator);
AddSetting("gui", "font_scale", -1.0, &Settings::FontScale);
AddSetting("gui", "folder_icon_only", false, &Settings::FolderIconOnly);
+ AddSetting("gui", "classic_change_guild_on_open", true, &Settings::ClassicChangeGuildOnOpen);
AddSetting("http", "concurrent", 20, &Settings::CacheHTTPConcurrency);
AddSetting("http", "user_agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36"s, &Settings::UserAgent);
diff --git a/src/settings.hpp b/src/settings.hpp
index e508270..b8e27a4 100644
--- a/src/settings.hpp
+++ b/src/settings.hpp
@@ -29,6 +29,7 @@ public:
bool ShowDeletedIndicator;
double FontScale;
bool FolderIconOnly;
+ bool ClassicChangeGuildOnOpen;
// [http]
int CacheHTTPConcurrency;