messenger-gtk

Gtk+3 graphical user interfaces for GNUnet Messenger
Log | Files | Refs | Submodules | README | LICENSE

commit 86a293280616a6cf27334218d431114e514b5073
parent 1129e1547d72e26207048696da218e4b40bcacc8
Author: Jacki <jacki@thejackimonster.de>
Date:   Sat, 15 Jun 2024 02:53:01 +0200

Adjust user details flap to disable buttons in nav bar

Signed-off-by: Jacki <jacki@thejackimonster.de>

Diffstat:
Mresources/ui/messenger.ui | 1+
Msrc/ui/messenger.c | 50++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 51 insertions(+), 0 deletions(-)

diff --git a/resources/ui/messenger.ui b/resources/ui/messenger.ui @@ -804,6 +804,7 @@ Author: Tobias Frisch <object class="GtkLabel"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-start">2</property> <property name="label" translatable="yes">GNUnet Messenger</property> <property name="xalign">0</property> <attributes> diff --git a/src/ui/messenger.c b/src/ui/messenger.c @@ -42,6 +42,49 @@ #include "../ui.h" static void +handle_user_details_folded(GObject* object, + GParamSpec* pspec, + gpointer user_data) +{ + g_assert((object) && (pspec) && (user_data)); + + HdyFlap* flap = HDY_FLAP(object); + UI_MESSENGER_Handle *handle = (UI_MESSENGER_Handle*) user_data; + + const gboolean revealed = hdy_flap_get_reveal_flap(flap); + + gtk_widget_set_sensitive( + GTK_WIDGET(handle->chats_search_entry), + !revealed + ); + + gtk_widget_set_sensitive( + GTK_WIDGET(handle->chats_search_button), + !revealed + ); + + GValue value = G_VALUE_INIT; + g_value_init(&value, G_TYPE_BOOLEAN); + g_value_set_boolean(&value, !revealed); + + gtk_container_child_set_property( + GTK_CONTAINER(handle->leaflet_title), + GTK_WIDGET(handle->main_bar), + "navigatable", + &value + ); + + gtk_container_child_set_property( + GTK_CONTAINER(handle->leaflet_chat), + handle->main_box, + "navigatable", + &value + ); + + g_value_unset(&value); +} + +static void handle_profile_button_click(UNUSED GtkButton* button, gpointer user_data) { @@ -468,6 +511,13 @@ ui_messenger_init(MESSENGER_Application *app, gtk_builder_get_object(handle->builder, "flap_user_details") ); + g_signal_connect( + handle->flap_user_details, + "notify::reveal-flap", + G_CALLBACK(handle_user_details_folded), + handle + ); + handle->nav_box = GTK_WIDGET( gtk_builder_get_object(handle->builder, "nav_box") );