GtkMenuSectionBox: Always show separators for labeled sections

...unless they are empty.
This commit is contained in:
Matthias Clasen 2014-04-29 11:48:52 -04:00
parent 4f293c427c
commit f3ba001a1d
2 changed files with 10 additions and 4 deletions

View File

@ -84,16 +84,21 @@ gtk_menu_section_box_sync_separators (GtkMenuSectionBox *box,
gint *n_items)
{
gboolean should_have_separator;
gboolean has_separator;
gboolean has_label;
gint n_items_before = *n_items;
gtk_container_foreach (GTK_CONTAINER (box->item_box), gtk_menu_section_box_sync_item, n_items);
should_have_separator = n_items_before > 0 && *n_items > n_items_before;
if (box->separator == NULL)
return;
if (should_have_separator == (gtk_widget_get_parent (box->separator) != NULL))
has_separator = gtk_widget_get_parent (box->separator) != NULL;
has_label = !GTK_IS_SEPARATOR (box->separator);
should_have_separator = (has_label || n_items_before > 0) && *n_items > n_items_before;
if (should_have_separator == has_separator)
return;
if (should_have_separator)

View File

@ -1,7 +1,8 @@
<interface>
<menu id="menu">
<section>
<attribute name="display-hint">horizontal-buttons</attribute>
<!--<attribute name="display-hint">horizontal-buttons</attribute>-->
<attribute name="label">Edit</attribute>
<item>
<attribute name="label">Cut</attribute>
<attribute name="action">top.cut</attribute>