diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-11-08 00:44:26 -0500 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-11-08 00:44:26 -0500 |
commit | f124626a6dcecf928be90193b2faf8e265ba502b (patch) | |
tree | ca8a04dbfa7eca331440312f72f955ff3ed3069a /windows | |
parent | 0c442a423eaebe04a61decc91d7018c33e3fdbde (diff) | |
download | abaddon-portaudio-f124626a6dcecf928be90193b2faf8e265ba502b.tar.gz abaddon-portaudio-f124626a6dcecf928be90193b2faf8e265ba502b.zip |
allow multiple components to display shared user menu
Diffstat (limited to 'windows')
-rw-r--r-- | windows/mainwindow.cpp | 12 | ||||
-rw-r--r-- | windows/mainwindow.hpp | 3 |
2 files changed, 15 insertions, 0 deletions
diff --git a/windows/mainwindow.cpp b/windows/mainwindow.cpp index 95a18d8..7443001 100644 --- a/windows/mainwindow.cpp +++ b/windows/mainwindow.cpp @@ -68,6 +68,14 @@ MainWindow::MainWindow() auto *member_list = m_members.GetRoot(); auto *chat = m_chat.GetRoot(); + m_members.signal_action_show_user_menu().connect([this](const GdkEvent *event, Snowflake id, Snowflake guild_id) { + m_signal_action_show_user_menu.emit(event, id, guild_id); + }); + + m_chat.signal_action_open_user_menu().connect([this](const GdkEvent *event, Snowflake id, Snowflake guild_id) { + m_signal_action_show_user_menu.emit(event, id, guild_id); + }); + chat->set_vexpand(true); chat->set_hexpand(true); @@ -238,3 +246,7 @@ MainWindow::type_signal_action_join_guild MainWindow::signal_action_join_guild() MainWindow::type_signal_action_set_status MainWindow::signal_action_set_status() { return m_signal_action_set_status; } + +MainWindow::type_signal_action_show_user_menu MainWindow::signal_action_show_user_menu() { + return m_signal_action_show_user_menu; +} diff --git a/windows/mainwindow.hpp b/windows/mainwindow.hpp index 28667be..aef8ba4 100644 --- a/windows/mainwindow.hpp +++ b/windows/mainwindow.hpp @@ -38,6 +38,7 @@ public: typedef sigc::signal<void> type_signal_action_reload_css; typedef sigc::signal<void> type_signal_action_join_guild; typedef sigc::signal<void> type_signal_action_set_status; + typedef sigc::signal<void, const GdkEvent *, Snowflake, Snowflake> type_signal_action_show_user_menu; type_signal_action_connect signal_action_connect(); type_signal_action_disconnect signal_action_disconnect(); @@ -45,6 +46,7 @@ public: type_signal_action_reload_css signal_action_reload_css(); type_signal_action_join_guild signal_action_join_guild(); type_signal_action_set_status signal_action_set_status(); + type_signal_action_show_user_menu signal_action_show_user_menu(); protected: type_signal_action_connect m_signal_action_connect; @@ -53,6 +55,7 @@ protected: type_signal_action_reload_css m_signal_action_reload_css; type_signal_action_join_guild m_signal_action_join_guild; type_signal_action_set_status m_signal_action_set_status; + type_signal_action_show_user_menu m_signal_action_show_user_menu; protected: Gtk::Box m_main_box; |