mirror of https://github.com/GNOME/gimp.git
app, menus: make GimpMenu item visibility sync on action visibility.
This commit is contained in:
parent
19b03fcc43
commit
66eeb4fe6c
|
@ -85,6 +85,9 @@ static void gimp_menu_toggle_action_changed (GimpAction *action,
|
|||
static void gimp_menu_action_notify_sensitive (GimpAction *action,
|
||||
const GParamSpec *pspec,
|
||||
GtkCheckMenuItem *item);
|
||||
static void gimp_menu_action_notify_visible (GimpAction *action,
|
||||
const GParamSpec *pspec,
|
||||
GtkCheckMenuItem *item);
|
||||
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (GimpMenu, gimp_menu, GTK_TYPE_MENU_BAR)
|
||||
|
@ -305,7 +308,12 @@ gimp_menu_update (GimpMenu *menu,
|
|||
gimp_action_get_tooltip (GIMP_ACTION (action)));
|
||||
|
||||
gtk_container_add (container, item);
|
||||
gtk_widget_show (item);
|
||||
|
||||
gtk_widget_set_visible (item,
|
||||
gimp_action_is_visible (GIMP_ACTION (action)));
|
||||
g_signal_connect_object (action, "notify::visible",
|
||||
G_CALLBACK (gimp_menu_action_notify_visible),
|
||||
item, 0);
|
||||
}
|
||||
g_free (label);
|
||||
g_free (action_name);
|
||||
|
@ -359,3 +367,11 @@ gimp_menu_action_notify_sensitive (GimpAction *action,
|
|||
gtk_widget_set_sensitive (GTK_WIDGET (item),
|
||||
gimp_action_is_sensitive (action, NULL));
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_menu_action_notify_visible (GimpAction *action,
|
||||
const GParamSpec *pspec,
|
||||
GtkWidget *item)
|
||||
{
|
||||
gtk_widget_set_visible (item, gimp_action_is_visible (action));
|
||||
}
|
||||
|
|
|
@ -47,7 +47,6 @@
|
|||
<item><attribute name="action">app.file-revert</attribute></item>
|
||||
</section>
|
||||
<section>
|
||||
<!-- TODO: overwrite and export same? -->
|
||||
<item><attribute name="action">app.file-overwrite</attribute></item>
|
||||
<item><attribute name="action">app.file-export</attribute></item>
|
||||
<item><attribute name="action">app.file-export-as</attribute></item>
|
||||
|
@ -291,13 +290,11 @@
|
|||
<item><attribute name="action">app.image-convert-u32</attribute></item>
|
||||
<item><attribute name="action">app.image-convert-half</attribute></item>
|
||||
<item><attribute name="action">app.image-convert-float</attribute></item>
|
||||
<!-- TODO: this should be invisible except for special cases? -->
|
||||
<item><attribute name="action">app.image-convert-double</attribute></item>
|
||||
</section>
|
||||
<section>
|
||||
<item><attribute name="action">app.image-convert-linear</attribute></item>
|
||||
<item><attribute name="action">app.image-convert-non-linear</attribute></item>
|
||||
<!-- TODO: this should be invisible except for special cases? -->
|
||||
<item><attribute name="action">app.image-convert-perceptual</attribute></item>
|
||||
</section>
|
||||
</submenu>
|
||||
|
@ -381,15 +378,12 @@
|
|||
<item><attribute name="action">app.layers-new-from-visible</attribute></item>
|
||||
<item><attribute name="action">app.layers-new-group</attribute></item>
|
||||
<item><attribute name="action">app.layers-duplicate</attribute></item>
|
||||
<!-- TODO: visible only when relevant? -->
|
||||
<item><attribute name="action">app.layers-anchor</attribute></item>
|
||||
<item><attribute name="action">app.layers-merge-down</attribute></item>
|
||||
<!-- TODO: visible only when relevant? -->
|
||||
<item><attribute name="action">app.layers-merge-group</attribute></item>
|
||||
<item><attribute name="action">app.layers-delete</attribute></item>
|
||||
</section>
|
||||
<section>
|
||||
<!-- TODO: all 3 visible only when relevant? -->
|
||||
<item><attribute name="action">app.layers-text-discard</attribute></item>
|
||||
<item><attribute name="action">app.layers-text-to-vectors</attribute></item>
|
||||
<item><attribute name="action">app.layers-text-along-vectors</attribute></item>
|
||||
|
|
Loading…
Reference in New Issue