emoji: Hide recent section when empty
authorMatthias Clasen <mclasen@redhat.com>
Thu, 17 May 2018 15:48:34 +0000 (16:48 +0100)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 20 May 2018 02:53:24 +0000 (22:53 -0400)
This is part of https://gitlab.gnome.org/GNOME/gtk/merge_requests/143
by Julian Sperber.

gtk/gtkemojichooser.c

index 14025e3ab15fa2ef0a0726263eff5c6e015226b2..627f83dfd9043e303d5d1de5a5c420a4af694e02 100644 (file)
@@ -127,6 +127,7 @@ populate_recent_section (GtkEmojiChooser *chooser)
   GVariant *variant;
   GVariant *item;
   GVariantIter iter;
+  gboolean empty = FALSE;
 
   variant = g_settings_get_value (chooser->settings, "recent-emoji");
   g_variant_iter_init (&iter, variant);
@@ -140,6 +141,13 @@ populate_recent_section (GtkEmojiChooser *chooser)
       add_emoji (chooser->recent.box, FALSE, emoji_data, modifier, chooser);
       g_variant_unref (emoji_data);
       g_variant_unref (item);
+      empty = FALSE;
+    }
+
+  if (!empty)
+    {
+      gtk_widget_show (chooser->recent.box);
+      gtk_widget_set_sensitive (chooser->recent.button, TRUE);
     }
   g_variant_unref (variant);
 }
@@ -182,6 +190,10 @@ add_recent_item (GtkEmojiChooser *chooser,
 
   add_emoji (chooser->recent.box, TRUE, item, modifier, chooser);
 
+  /* Enable recent */
+  gtk_widget_show (chooser->recent.box);
+  gtk_widget_set_sensitive (chooser->recent.button, TRUE);
+
   g_settings_set_value (chooser->settings, "recent-emoji", g_variant_builder_end (&builder));
 
   g_variant_unref (item);