diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-12-12 21:57:39 -0500 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-12-12 21:57:39 -0500 |
commit | 93c67bc8684c3daaf7c0e8bf6eb7219f26cbcbdb (patch) | |
tree | c800115f6e26262c93782a6adbdcbdf05bc19240 /components/channels.hpp | |
parent | 4b3a086881d612e24ee0b7a857f76e6cb9216897 (diff) | |
download | abaddon-portaudio-93c67bc8684c3daaf7c0e8bf6eb7219f26cbcbdb.tar.gz abaddon-portaudio-93c67bc8684c3daaf7c0e8bf6eb7219f26cbcbdb.zip |
menu stuff (fix #4)
Diffstat (limited to 'components/channels.hpp')
-rw-r--r-- | components/channels.hpp | 47 |
1 files changed, 39 insertions, 8 deletions
diff --git a/components/channels.hpp b/components/channels.hpp index 3847af7..d481b13 100644 --- a/components/channels.hpp +++ b/components/channels.hpp @@ -59,6 +59,21 @@ protected: Gtk::Box *m_box; Gtk::TextView *m_lbl; Gtk::Image *m_icon; + + Gtk::Menu m_menu; + Gtk::MenuItem *m_menu_copyid; + Gtk::MenuItem *m_menu_leave; + +private: + typedef sigc::signal<void> type_signal_copy_id; + typedef sigc::signal<void> type_signal_leave; + + type_signal_copy_id m_signal_copy_id; + type_signal_leave m_signal_leave; + +public: + type_signal_copy_id signal_copy_id(); + type_signal_leave signal_leave(); }; class ChannelListRowCategory : public ChannelListRow { @@ -73,6 +88,17 @@ protected: Gtk::Box *m_box; Gtk::TextView *m_lbl; Gtk::Arrow *m_arrow; + + Gtk::Menu m_menu; + Gtk::MenuItem *m_menu_copyid; + +private: + typedef sigc::signal<void> type_signal_copy_id; + + type_signal_copy_id m_signal_copy_id; + +public: + type_signal_copy_id signal_copy_id(); }; class ChannelListRowChannel : public ChannelListRow { @@ -83,6 +109,17 @@ protected: Gtk::EventBox *m_ev; Gtk::Box *m_box; Gtk::TextView *m_lbl; + + Gtk::Menu m_menu; + Gtk::MenuItem *m_menu_copyid; + +private: + typedef sigc::signal<void> type_signal_copy_id; + + type_signal_copy_id m_signal_copy_id; + +public: + type_signal_copy_id signal_copy_id(); }; class ChannelList { @@ -116,15 +153,11 @@ protected: void on_row_activated(Gtk::ListBoxRow *row); int m_guild_count; - Gtk::Menu m_guild_menu; - Gtk::MenuItem *m_guild_menu_copyid; - Gtk::MenuItem *m_guild_menu_leave; - void on_guild_menu_copyid(); - void on_guild_menu_leave(); + void OnMenuCopyID(Snowflake id); + void OnGuildMenuLeave(Snowflake id); Gtk::Menu m_channel_menu; Gtk::MenuItem *m_channel_menu_copyid; - void on_channel_menu_copyid(); Glib::Dispatcher m_update_dispatcher; //mutable std::mutex m_update_mutex; @@ -139,8 +172,6 @@ protected: void AddPrivateChannels(); // retard moment void UpdateListingInternal(); - void AttachGuildMenuHandler(Gtk::ListBoxRow *row); - void AttachChannelMenuHandler(Gtk::ListBoxRow *row); void CheckBumpDM(Snowflake channel_id); |