mirror of
https://github.com/celisej567/abaddon.git
synced 2026-09-06 20:15:19 +03:00
hide guild info panes if you dont have perms for it
add note to bans panel since you can sorta see bans without perms
This commit is contained in:
@@ -5,7 +5,8 @@
|
||||
// dont care to figure out why this happens cuz it doesnt seem to break anything
|
||||
|
||||
GuildSettingsBansPane::GuildSettingsBansPane(Snowflake id)
|
||||
: GuildID(id)
|
||||
: Gtk::Box(Gtk::ORIENTATION_VERTICAL)
|
||||
, GuildID(id)
|
||||
, m_menu_unban("Unban")
|
||||
, m_menu_copy_id("Copy ID")
|
||||
, m_model(Gtk::ListStore::create(m_columns)) {
|
||||
@@ -26,6 +27,12 @@ GuildSettingsBansPane::GuildSettingsBansPane(Snowflake id)
|
||||
} else {
|
||||
for (const auto &ban : discord.GetBansInGuild(id))
|
||||
OnGuildBanFetch(ban);
|
||||
|
||||
m_no_perms_note = Gtk::manage(new Gtk::Label("You do not have permission to see bans. However, bans made while you are connected will appear here"));
|
||||
m_no_perms_note->set_single_line_mode(true);
|
||||
m_no_perms_note->set_ellipsize(Pango::ELLIPSIZE_END);
|
||||
m_no_perms_note->set_halign(Gtk::ALIGN_START);
|
||||
add(*m_no_perms_note);
|
||||
}
|
||||
|
||||
m_menu_unban.signal_activate().connect(sigc::mem_fun(*this, &GuildSettingsBansPane::OnMenuUnban));
|
||||
@@ -37,7 +44,11 @@ GuildSettingsBansPane::GuildSettingsBansPane(Snowflake id)
|
||||
|
||||
m_view.signal_button_press_event().connect(sigc::mem_fun(*this, &GuildSettingsBansPane::OnTreeButtonPress), false);
|
||||
m_view.show();
|
||||
add(m_view);
|
||||
|
||||
m_scroll.set_propagate_natural_height(true);
|
||||
m_scroll.add(m_view);
|
||||
add(m_scroll);
|
||||
show_all_children();
|
||||
|
||||
m_view.set_model(m_model);
|
||||
m_view.append_column("User", m_columns.m_col_user);
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "../../discord/snowflake.hpp"
|
||||
#include "../../discord/ban.hpp"
|
||||
|
||||
class GuildSettingsBansPane : public Gtk::ScrolledWindow {
|
||||
class GuildSettingsBansPane : public Gtk::Box {
|
||||
public:
|
||||
GuildSettingsBansPane(Snowflake id);
|
||||
|
||||
@@ -16,6 +16,9 @@ private:
|
||||
void OnBanRemove(Snowflake guild_id, Snowflake user_id);
|
||||
void OnBanAdd(Snowflake guild_id, Snowflake user_id);
|
||||
|
||||
Gtk::Label *m_no_perms_note = nullptr;
|
||||
|
||||
Gtk::ScrolledWindow m_scroll;
|
||||
Gtk::TreeView m_view;
|
||||
|
||||
Snowflake GuildID;
|
||||
|
||||
@@ -50,10 +50,14 @@ GuildSettingsWindow::GuildSettingsWindow(Snowflake id)
|
||||
m_stack.set_margin_left(10);
|
||||
m_stack.set_margin_right(10);
|
||||
|
||||
const auto self_id = discord.GetUserData().ID;
|
||||
|
||||
m_stack.add(m_pane_info, "info", "Info");
|
||||
m_stack.add(m_pane_bans, "bans", "Bans");
|
||||
m_stack.add(m_pane_invites, "invites", "Invites");
|
||||
m_stack.add(m_pane_audit_log, "audit-log", "Audit Log");
|
||||
if (discord.HasGuildPermission(self_id, GuildID, Permission::MANAGE_GUILD))
|
||||
m_stack.add(m_pane_invites, "invites", "Invites");
|
||||
if (discord.HasGuildPermission(self_id, GuildID, Permission::VIEW_AUDIT_LOG))
|
||||
m_stack.add(m_pane_audit_log, "audit-log", "Audit Log");
|
||||
m_stack.show();
|
||||
|
||||
m_main.add(m_switcher);
|
||||
|
||||
Reference in New Issue
Block a user