[gtk/gtk-3-24: 2/13] emoji chooser: Fix handling of no recent Emoji
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/gtk-3-24: 2/13] emoji chooser: Fix handling of no recent Emoji
- Date: Fri, 14 May 2021 00:42:05 +0000 (UTC)
commit 71bcecbc8d320f0f4cd8c044b3db06331e176a20
Author: Matthias Clasen <mclasen redhat com>
Date: Sat May 4 16:19:43 2019 +0000
emoji chooser: Fix handling of no recent Emoji
If the recent section is empty, we want to hide
it, make its button insensitive, and select the
next section, initially. This was not working
properly, since nothing was ever setting the
section box to invisible.
gtk/gtkemojichooser.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
---
diff --git a/gtk/gtkemojichooser.c b/gtk/gtkemojichooser.c
index 95b225cf0d..1aa7c445df 100644
--- a/gtk/gtkemojichooser.c
+++ b/gtk/gtkemojichooser.c
@@ -167,11 +167,9 @@ populate_recent_section (GtkEmojiChooser *chooser)
empty = FALSE;
}
- if (!empty)
- {
- gtk_widget_show (chooser->recent.box);
- gtk_widget_set_sensitive (chooser->recent.button, TRUE);
- }
+ gtk_widget_set_visible (chooser->recent.box, !empty);
+ gtk_widget_set_sensitive (chooser->recent.button, !empty);
+
g_variant_unref (variant);
}
@@ -492,9 +490,6 @@ populate_emoji_chooser (gpointer data)
return G_SOURCE_CONTINUE;
}
- /* We scroll to the top on show, so check the right button for the 1st time */
- gtk_widget_set_state_flags (chooser->recent.button, GTK_STATE_FLAG_CHECKED, FALSE);
-
g_variant_iter_free (chooser->iter);
chooser->iter = NULL;
chooser->box = NULL;
@@ -530,6 +525,9 @@ adj_value_changed (GtkAdjustment *adj,
EmojiSection const *section = sections[i];
GtkAllocation alloc;
+ if (!gtk_widget_get_visible (section->box))
+ continue;
+
if (section->heading)
gtk_widget_get_allocation (section->heading, &alloc);
else
@@ -744,6 +742,7 @@ gtk_emoji_chooser_show (GtkWidget *widget)
adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (chooser->scrolled_window));
gtk_adjustment_set_value (adj, 0);
+ adj_value_changed (adj, chooser);
gtk_entry_set_text (GTK_ENTRY (chooser->search_entry), "");
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]