[gtk+] popover menu: Improved labeled separators
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] popover menu: Improved labeled separators
- Date: Wed, 1 Jun 2016 15:53:16 +0000 (UTC)
commit f3f64d17c2451d2a4f002cf3941e5dc53887cec8
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Jun 1 11:52:20 2016 -0400
popover menu: Improved labeled separators
Embed the label in the middle of the separators instead of
putting it above the separator.
https://bugzilla.gnome.org/show_bug.cgi?id=767108
gtk/gtkmenusectionbox.c | 20 +++++++++++++-------
1 files changed, 13 insertions(+), 7 deletions(-)
---
diff --git a/gtk/gtkmenusectionbox.c b/gtk/gtkmenusectionbox.c
index 782b204..61c761b 100644
--- a/gtk/gtkmenusectionbox.c
+++ b/gtk/gtkmenusectionbox.c
@@ -481,7 +481,6 @@ gtk_menu_section_box_new_section (GtkMenuTrackerItem *item,
GtkMenuSectionBox *parent)
{
GtkMenuSectionBox *box;
- GtkWidget *separator;
const gchar *label;
const gchar *hint;
@@ -489,7 +488,6 @@ gtk_menu_section_box_new_section (GtkMenuTrackerItem *item,
box->toplevel = parent->toplevel;
box->depth = parent->depth + 1;
- separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
label = gtk_menu_tracker_item_get_label (item);
hint = gtk_menu_tracker_item_get_display_hint (item);
@@ -502,23 +500,31 @@ gtk_menu_section_box_new_section (GtkMenuTrackerItem *item,
if (label != NULL)
{
+ GtkWidget *separator;
GtkWidget *title;
+ box->separator = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
+ g_object_ref_sink (box->separator);
+
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
+ gtk_widget_set_valign (separator, GTK_ALIGN_CENTER);
+ gtk_box_pack_start (GTK_BOX (box->separator), separator, TRUE, TRUE, 0);
+
title = gtk_label_new (label);
g_object_bind_property (item, "label", title, "label", G_BINDING_SYNC_CREATE);
gtk_style_context_add_class (gtk_widget_get_style_context (title), GTK_STYLE_CLASS_SEPARATOR);
gtk_widget_set_halign (title, GTK_ALIGN_START);
+ gtk_box_pack_start (GTK_BOX (box->separator), title, FALSE, FALSE, 0);
- box->separator = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- g_object_ref_sink (box->separator);
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
+ gtk_widget_set_valign (separator, GTK_ALIGN_CENTER);
+ gtk_box_pack_start (GTK_BOX (box->separator), separator, TRUE, TRUE, 0);
- gtk_container_add (GTK_CONTAINER (box->separator), title);
- gtk_container_add (GTK_CONTAINER (box->separator), separator);
gtk_widget_show_all (box->separator);
}
else
{
- box->separator = separator;
+ box->separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
g_object_ref_sink (box->separator);
gtk_widget_show (box->separator);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]