diff --git a/app/menus/file-menu.c b/app/menus/file-menu.c index ac08be93cd..70597f2eee 100644 --- a/app/menus/file-menu.c +++ b/app/menus/file-menu.c @@ -54,8 +54,8 @@ file_menu_setup (GimpUIManager *manager, action_name = g_strdup_printf ("file-open-recent-%02d", i + 1); - gimp_ui_manager_add_ui (manager, "/File/Open Recent", - action_name, "Files", TRUE); + gimp_ui_manager_add_ui (manager, "/File/Open Recent/[Files]", + action_name, FALSE); g_free (action_name); } diff --git a/app/menus/filters-menu.c b/app/menus/filters-menu.c index 5464845ded..b84968929b 100644 --- a/app/menus/filters-menu.c +++ b/app/menus/filters-menu.c @@ -54,8 +54,8 @@ filters_menu_setup (GimpUIManager *manager, action_name = g_strdup_printf ("filters-recent-%02d", i + 1); - gimp_ui_manager_add_ui (manager, "/Filters/Recently Used", - action_name, "Filters", TRUE); + gimp_ui_manager_add_ui (manager, "/Filters/Recently Used/[Filters]", + action_name, FALSE); g_free (action_name); } @@ -112,7 +112,7 @@ filters_menu_setup (GimpUIManager *manager, *root = '/'; for (GList *m = managers; m; m = m->next) - gimp_ui_manager_add_ui (m->data, root, gegl_actions[i], NULL, FALSE); + gimp_ui_manager_add_ui (m->data, root, gegl_actions[i], FALSE); } } g_free (path); diff --git a/app/menus/plug-in-menus.c b/app/menus/plug-in-menus.c index 0abca54c9f..3b9d05248d 100644 --- a/app/menus/plug-in-menus.c +++ b/app/menus/plug-in-menus.c @@ -302,7 +302,7 @@ plug_in_menus_add_proc (GimpUIManager *manager, gimp_ui_manager_add_ui (manager, menu_path, gimp_object_get_name (proc), - NULL, FALSE); + FALSE); } static void diff --git a/app/menus/tool-options-menu.c b/app/menus/tool-options-menu.c index 0227ae7b60..2b957c1aaf 100644 --- a/app/menus/tool-options-menu.c +++ b/app/menus/tool-options-menu.c @@ -123,7 +123,7 @@ tool_options_menu_update_presets (GimpUIManager *manager, action_name = g_strdup_printf ("%s%03d", action_prefix, i); path = g_strdup_printf ("/Tool Options Menu/%s", menu_path); - gimp_ui_manager_add_ui (manager, path, action_name, NULL, FALSE); + gimp_ui_manager_add_ui (manager, path, action_name, FALSE); g_free (action_name); g_free (path); diff --git a/app/menus/window-menu.c b/app/menus/window-menu.c index 5ad6eaa092..127c34baa0 100644 --- a/app/menus/window-menu.c +++ b/app/menus/window-menu.c @@ -110,8 +110,7 @@ window_menu_display_opened (GdkDisplayManager *disp_manager, * "/dockable-popup/Move to Screen". */ if (g_str_has_prefix (ui_path, "/image-menubar/")) - gimp_ui_manager_add_ui (manager, "/View/Move to Screen", - action_name, NULL, FALSE); + gimp_ui_manager_add_ui (manager, "/View/Move to Screen", action_name, FALSE); g_free (action_name); diff --git a/app/menus/windows-menu.c b/app/menus/windows-menu.c index 4925cf2fa2..a22815db1f 100644 --- a/app/menus/windows-menu.c +++ b/app/menus/windows-menu.c @@ -209,7 +209,7 @@ windows_menu_image_notify (GimpDisplay *display, action_name = gimp_display_get_action_name (display); - gimp_ui_manager_add_ui (manager, "/Windows", action_name, "Images", TRUE); + gimp_ui_manager_add_ui (manager, "/Windows/[Images]", action_name, FALSE); g_free (action_name); } @@ -225,7 +225,7 @@ windows_menu_dock_window_added (GimpDialogFactory *factory, action_name = windows_actions_dock_window_to_action_name (dock_window); /* TODO GMenu: doesn't look like it's working, neither will old or new API. */ - gimp_ui_manager_add_ui (manager, "/Windows", action_name, "Docks", FALSE); + gimp_ui_manager_add_ui (manager, "/Windows/[Docks]", action_name, FALSE); g_free (action_name); } @@ -255,8 +255,7 @@ windows_menu_recent_add (GimpContainer *container, action_name = g_strdup_printf ("windows-recent-%04d", info_id); - gimp_ui_manager_add_ui (manager, "/Windows/Recently Closed Docks", - action_name, NULL, TRUE); + gimp_ui_manager_add_ui (manager, "/Windows/Recently Closed Docks", action_name, TRUE); g_free (action_name); } diff --git a/app/widgets/gimpdashboard.c b/app/widgets/gimpdashboard.c index 581e84f645..b0a9f94d95 100644 --- a/app/widgets/gimpdashboard.c +++ b/app/widgets/gimpdashboard.c @@ -5014,8 +5014,8 @@ gimp_dashboard_menu_setup (GimpUIManager *manager, action_name = g_strdup_printf ("dashboard-group-%s", group_info->name); - gimp_ui_manager_add_ui (manager, "/Dashboard Menu/Groups", - action_name, "Groups", FALSE); + gimp_ui_manager_add_ui (manager, "/Dashboard Menu/Groups/[Groups]", + action_name, FALSE); g_free (action_name); } diff --git a/app/widgets/gimpmenu.c b/app/widgets/gimpmenu.c index 18ce2b33be..bb628cee3e 100644 --- a/app/widgets/gimpmenu.c +++ b/app/widgets/gimpmenu.c @@ -62,7 +62,6 @@ struct _GimpMenuPrivate { GTree *submenus; - GTree *placeholders; GHashTable *sections; }; @@ -77,15 +76,12 @@ static void gimp_menu_append (GimpMenuShell *shel static void gimp_menu_add_ui (GimpMenuShell *shell, const gchar **paths, const gchar *action_name, - const gchar *placeholder_key, gboolean top); static void gimp_menu_remove_ui (GimpMenuShell *shell, const gchar **paths, const gchar *action_name); static void gimp_menu_model_deleted (GimpMenuShell *shell); -static void gimp_menu_add_placeholder (GimpMenu *menu, - const gchar *label); static void gimp_menu_add_action (GimpMenu *menu, const gchar *action_name, gboolean long_label, @@ -120,10 +116,6 @@ static void gimp_menu_action_notify_visible (GimpAction *acti const GParamSpec *pspec, GtkWidget *item); -static gboolean gimp_menu_copy_placeholders (gpointer key, - gpointer item, - GTree *placeholders); - static void gimp_menu_help_fun (const gchar *bogus_help_id, gpointer help_data); static void gimp_menu_hide_double_separators (GimpMenu *menu); @@ -157,8 +149,6 @@ gimp_menu_init (GimpMenu *menu) menu->priv->submenus = g_tree_new_full ((GCompareDataFunc) g_strcmp0, NULL, g_free, NULL); - menu->priv->placeholders = g_tree_new_full ((GCompareDataFunc) g_strcmp0, NULL, - g_free, NULL); menu->priv->sections = g_hash_table_new_full (g_direct_hash, g_direct_equal, g_object_unref, NULL); @@ -183,7 +173,6 @@ gimp_menu_finalize (GObject *object) GimpMenu *menu = GIMP_MENU (object); g_clear_pointer (&menu->priv->submenus, g_tree_unref); - g_clear_pointer (&menu->priv->placeholders, g_tree_unref); g_hash_table_unref (menu->priv->sections); G_OBJECT_CLASS (parent_class)->finalize (object); @@ -262,22 +251,12 @@ gimp_menu_append (GimpMenuShell *shell, G_CALLBACK (gimp_menu_submenu_notify_color), item); } - else if (action_name == NULL) - { - /* Special case: we use items with no action and a label as - * placeholder which allows us to specify a placement in menus, which - * might not be only top or bottom. - */ - g_return_if_fail (label != NULL); - - group = NULL; - - gimp_menu_add_placeholder (menu, label); - } else { gchar *label_variant = NULL; + g_return_if_fail (action_name != NULL); + g_menu_model_get_item_attribute (G_MENU_MODEL (model), i, "label-variant", "s", &label_variant); gimp_menu_add_action (menu, action_name, /* By default, we use the short label in menus, @@ -302,48 +281,31 @@ static void gimp_menu_add_ui (GimpMenuShell *shell, const gchar **paths, const gchar *action_name, - const gchar *placeholder_key, gboolean top) { GimpMenu *menu = GIMP_MENU (shell); GimpUIManager *manager = gimp_menu_shell_get_manager (GIMP_MENU_SHELL (shell)); + GtkWidget *submenu; - g_return_if_fail (paths != NULL); + g_return_if_fail (paths != NULL && paths[0] != NULL); - if (paths[0] == NULL) + submenu = g_tree_lookup (menu->priv->submenus, paths[0]); + + if (submenu == NULL) { - GtkWidget *placeholder; + GtkWidget *item; - placeholder = g_tree_lookup (menu->priv->placeholders, placeholder_key); + item = gtk_menu_item_new_with_mnemonic (paths[0]); + gtk_container_add (GTK_CONTAINER (shell), item); - if (! placeholder) - g_warning ("%s: no placeholder item '%s'.", G_STRFUNC, placeholder_key); + submenu = gimp_menu_new (manager); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu); + gtk_widget_show (submenu); - gimp_menu_add_action (menu, action_name, FALSE, placeholder, top, NULL); + g_tree_insert (menu->priv->submenus, g_strdup (paths[0]), submenu); } - else - { - GtkWidget *submenu; - submenu = g_tree_lookup (menu->priv->submenus, paths[0]); - - if (submenu == NULL) - { - GtkWidget *item; - - item = gtk_menu_item_new_with_mnemonic (paths[0]); - gtk_container_add (GTK_CONTAINER (shell), item); - - submenu = gimp_menu_new (manager); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu); - gtk_widget_show (submenu); - - g_tree_insert (menu->priv->submenus, g_strdup (paths[0]), submenu); - } - - gimp_menu_add_ui (GIMP_MENU_SHELL (submenu), paths + 1, - action_name, placeholder_key, top); - } + gimp_menu_add_ui (GIMP_MENU_SHELL (submenu), paths + 1, action_name, top); gimp_menu_hide_double_separators (menu); } @@ -420,10 +382,6 @@ gimp_menu_merge (GimpMenu *menu, g_object_unref (item); } - g_tree_foreach (menu2->priv->placeholders, - (GTraverseFunc) gimp_menu_copy_placeholders, - menu->priv->placeholders); - gtk_widget_destroy (GTK_WIDGET (menu2)); g_list_free (children); } @@ -431,19 +389,6 @@ gimp_menu_merge (GimpMenu *menu, /* Private functions */ -static void -gimp_menu_add_placeholder (GimpMenu *menu, - const gchar *label) -{ - GtkWidget *item; - - /* Placeholders are inserted yet never shown, on purpose. */ - item = gtk_menu_item_new_with_mnemonic (label); - gtk_container_add (GTK_CONTAINER (menu), item); - - g_tree_insert (menu->priv->placeholders, g_strdup (label), item); -} - static void gimp_menu_add_action (GimpMenu *menu, const gchar *action_name, @@ -831,15 +776,6 @@ gimp_menu_action_notify_visible (GimpAction *action, gimp_menu_hide_double_separators (GIMP_MENU (container)); } -static gboolean -gimp_menu_copy_placeholders (gpointer key, - gpointer item, - GTree *placeholders) -{ - g_tree_insert (placeholders, g_strdup ((gchar *) key), item); - return FALSE; -} - static void gimp_menu_help_fun (const gchar *bogus_help_id, gpointer help_data) @@ -892,9 +828,9 @@ gimp_menu_help_fun (const gchar *bogus_help_id, /* With successive sections, we will end up with double separators (end one then * start one of the next section). Moreover sometimes, empty sections (e.g. - * because items are expected to be added later through placeholders) would make - * even 3 to 4 separators next to each other. This renders very ugly. We need to - * call this function to hide and show separators after changes. + * because items are expected to be added later) would make even 3 to 4 + * separators next to each other. This renders very ugly. We need to call this + * function to hide and show separators after changes. * * This also hides start and end separators in the menu. */ diff --git a/app/widgets/gimpmenubar.c b/app/widgets/gimpmenubar.c index 2ce6cd1b49..f5f2f2970d 100644 --- a/app/widgets/gimpmenubar.c +++ b/app/widgets/gimpmenubar.c @@ -67,7 +67,6 @@ static void gimp_menu_bar_append (GimpMenuShell *sh static void gimp_menu_bar_add_ui (GimpMenuShell *shell, const gchar **paths, const gchar *action_name, - const gchar *placeholder_key, gboolean top); @@ -172,8 +171,8 @@ gimp_menu_bar_append (GimpMenuShell *shell, g_warning ("%s: unexpected subsection. Only menus are allowed in menu bar's root.", G_STRFUNC); if (action_name == NULL) - g_warning ("%s: unexpected placeholder '%s'. Only menus are allowed in menu bar's root.", - G_STRFUNC, label); + g_warning ("%s: missing action name. Only menus are allowed in menu bar's root.", + G_STRFUNC); else g_warning ("%s: unexpected action '%s'. Only menus are allowed in menu bar's root.", G_STRFUNC, action_name); @@ -189,7 +188,6 @@ static void gimp_menu_bar_add_ui (GimpMenuShell *shell, const gchar **paths, const gchar *action_name, - const gchar *placeholder_key, gboolean top) { GimpMenuBar *bar = GIMP_MENU_BAR (shell); @@ -223,9 +221,7 @@ gimp_menu_bar_add_ui (GimpMenuShell *shell, } GIMP_MENU_SHELL_GET_INTERFACE (menu)->add_ui (GIMP_MENU_SHELL (menu), - paths + 1, - action_name, - placeholder_key, top); + paths + 1, action_name, top); } } diff --git a/app/widgets/gimpmenumodel.c b/app/widgets/gimpmenumodel.c index 7136ef7ab9..20b75ea507 100644 --- a/app/widgets/gimpmenumodel.c +++ b/app/widgets/gimpmenumodel.c @@ -140,7 +140,6 @@ static void gimp_menu_model_action_notify_label (GimpAction static gboolean gimp_menu_model_ui_added (GimpUIManager *manager, const gchar *path, const gchar *action_name, - const gchar *placeholder_key, gboolean top, GimpMenuModel *model); static gboolean gimp_menu_model_ui_removed (GimpUIManager *manager, @@ -757,46 +756,43 @@ gimp_menu_model_initialize (GimpMenuModel *model, } else { + GimpAction *action; + gchar *label_variant = NULL; + item = g_menu_item_new_from_model (G_MENU_MODEL (gmodel), i); - if (action_name) - { - GimpAction *action; - gchar *label_variant = NULL; + g_return_if_fail (action_name != NULL); - action = gimp_ui_manager_find_action (model->priv->manager, NULL, action_name); + action = gimp_ui_manager_find_action (model->priv->manager, NULL, action_name); - if (model->priv->manager->store_action_paths) - /* Special-case the main menu manager when constructing it as - * this is the only one which should set the menu path. - */ - gimp_action_set_menu_path (action, gimp_menu_model_get_path (model)); + if (model->priv->manager->store_action_paths) + /* Special-case the main menu manager when constructing it as + * this is the only one which should set the menu path. + */ + gimp_action_set_menu_path (action, gimp_menu_model_get_path (model)); - g_signal_connect_object (action, - "notify::visible", - G_CALLBACK (gimp_menu_model_action_notify_visible), - model, 0); + g_signal_connect_object (action, + "notify::visible", + G_CALLBACK (gimp_menu_model_action_notify_visible), + model, 0); - g_menu_item_get_attribute (item, "label-variant", "s", - &label_variant); - if (g_strcmp0 (label_variant, "long") == 0) - g_menu_item_set_label (item, gimp_action_get_label (action)); - else - g_menu_item_set_label (item, gimp_action_get_short_label (action)); + g_menu_item_get_attribute (item, "label-variant", "s", + &label_variant); + if (g_strcmp0 (label_variant, "long") == 0) + g_menu_item_set_label (item, gimp_action_get_label (action)); + else + g_menu_item_set_label (item, gimp_action_get_short_label (action)); - g_signal_connect_object (action, - "notify::short-label", - G_CALLBACK (gimp_menu_model_action_notify_label), - item, 0); - g_signal_connect_object (action, - "notify::label", - G_CALLBACK (gimp_menu_model_action_notify_label), - item, 0); + g_signal_connect_object (action, + "notify::short-label", + G_CALLBACK (gimp_menu_model_action_notify_label), + item, 0); + g_signal_connect_object (action, + "notify::label", + G_CALLBACK (gimp_menu_model_action_notify_label), + item, 0); - g_free (label_variant); - } - - /* else we instal a placeholder (no-action and always invisible) item. */ + g_free (label_variant); } if (item) @@ -917,9 +913,7 @@ gimp_menu_model_get_item (GimpMenuModel *model, { cur++; } - /* Count neither placeholders (items with no action_name), nor invisible - * actions. - */ + /* Do not count invisible actions. */ else if (g_menu_item_get_attribute (iter->data, G_MENU_ATTRIBUTE_ACTION, "&s", &action_name)) @@ -1048,7 +1042,6 @@ static gboolean gimp_menu_model_ui_added (GimpUIManager *manager, const gchar *path, const gchar *action_name, - const gchar *placeholder_key, gboolean top, GimpMenuModel *model) { @@ -1082,17 +1075,6 @@ gimp_menu_model_ui_added (GimpUIManager *manager, added = TRUE; - g_signal_handlers_disconnect_by_func (action, - G_CALLBACK (gimp_menu_model_action_notify_visible), - model); - detailed_action_name = g_strdup_printf ("%s.%s", action_prefix, g_action_get_name (action)); - item = g_menu_item_new (gimp_action_get_short_label (GIMP_ACTION (action)), detailed_action_name); - /* TODO: add also G_MENU_ATTRIBUTE_ICON attribute? */ - g_free (detailed_action_name); - - if (model->priv->manager->store_action_paths) - gimp_action_set_menu_path (GIMP_ACTION (action), gimp_menu_model_get_path (model)); - if (section_name != NULL) { GMenuItem *section_item; @@ -1105,57 +1087,18 @@ gimp_menu_model_ui_added (GimpUIManager *manager, } } - if (placeholder_key) - { - GList *placeholder = NULL; - GMenuModel *subsection = NULL; + g_signal_handlers_disconnect_by_func (action, + G_CALLBACK (gimp_menu_model_action_notify_visible), + mod_model); + detailed_action_name = g_strdup_printf ("%s.%s", action_prefix, g_action_get_name (action)); + item = g_menu_item_new (gimp_action_get_short_label (GIMP_ACTION (action)), detailed_action_name); + /* TODO: add also G_MENU_ATTRIBUTE_ICON attribute? */ + g_free (detailed_action_name); - for (GList *iter = model->priv->items; iter; iter = iter->next) - { - const gchar *label; + if (model->priv->manager->store_action_paths) + gimp_action_set_menu_path (GIMP_ACTION (action), gimp_menu_model_get_path (model)); - subsection = g_menu_item_get_link (iter->data, G_MENU_LINK_SECTION); - - if (subsection != NULL) - { - if (gimp_menu_model_ui_added (manager, path, action_name, - placeholder_key, top, - GIMP_MENU_MODEL (subsection))) - break; - else - g_clear_object (&subsection); - } - else if (g_menu_item_get_attribute (iter->data, - G_MENU_ATTRIBUTE_LABEL, - "&s", &label) && - g_strcmp0 (label, placeholder_key) == 0) - { - placeholder = iter; - break; - } - } - - if (placeholder) - { - if (top) - model->priv->items = g_list_insert_before (model->priv->items, - placeholder, item); - else - model->priv->items = g_list_insert_before (model->priv->items, - placeholder->next, item); - } - else - { - added = FALSE; - - if (subsection == NULL && ! model->priv->is_section) - g_warning ("%s: no placeholder item '%s'.", G_STRFUNC, placeholder_key); - } - /* else: added in a subsection. */ - - g_clear_object (&subsection); - } - else if (top) + if (top) { mod_model->priv->items = g_list_prepend (mod_model->priv->items, item); } @@ -1171,7 +1114,7 @@ gimp_menu_model_ui_added (GimpUIManager *manager, g_signal_connect_object (action, "notify::visible", G_CALLBACK (gimp_menu_model_action_notify_visible), - model, 0); + mod_model, 0); g_signal_connect_object (action, "notify::short-label", G_CALLBACK (gimp_menu_model_action_notify_label), diff --git a/app/widgets/gimpmenushell.h b/app/widgets/gimpmenushell.h index df4d3fc67a..c6c5c6d143 100644 --- a/app/widgets/gimpmenushell.h +++ b/app/widgets/gimpmenushell.h @@ -54,7 +54,6 @@ struct _GimpMenuShellInterface void (* add_ui) (GimpMenuShell *shell, const gchar **paths, const gchar *action_name, - const gchar *placeholder_key, gboolean top); void (* remove_ui) (GimpMenuShell *shell, const gchar **paths, diff --git a/app/widgets/gimptoolbar.c b/app/widgets/gimptoolbar.c index 6ac45c7821..a8aaf879d3 100644 --- a/app/widgets/gimptoolbar.c +++ b/app/widgets/gimptoolbar.c @@ -64,12 +64,10 @@ static void gimp_toolbar_append (GimpMenuShell *she static void gimp_toolbar_add_ui (GimpMenuShell *shell, const gchar **paths, const gchar *action_name, - const gchar *placeholder_key, gboolean top); static void gimp_toolbar_add_action (GimpToolbar *toolbar, const gchar *action_name, - const gchar *placeholder_key G_GNUC_UNUSED, gboolean top); static void gimp_toolbar_toggle_item_toggled (GtkToggleToolButton *item, @@ -155,7 +153,7 @@ gimp_toolbar_append (GimpMenuShell *shell, } else if (submenu == NULL && action_name != NULL) { - gimp_toolbar_add_action (toolbar, action_name, NULL, FALSE); + gimp_toolbar_add_action (toolbar, action_name, FALSE); } else { @@ -163,7 +161,7 @@ gimp_toolbar_append (GimpMenuShell *shell, g_warning ("%s: unexpected submenu. Only actions and sections are allowed in toolbar's root.", G_STRFUNC); else if (label != NULL) - g_warning ("%s: unexpected placeholder '%s'. Only actions and sections are allowed in toolbar's root.", + g_warning ("%s: unexpected label '%s'. Only actions and sections are allowed in toolbar's root.", G_STRFUNC, label); else g_warning ("%s: unexpected toolbar item. Only actions and sections are allowed in toolbar's root.", @@ -181,7 +179,6 @@ static void gimp_toolbar_add_ui (GimpMenuShell *shell, const gchar **paths, const gchar *action_name, - const gchar *placeholder_key, gboolean top) { GimpToolbar *toolbar = GIMP_TOOLBAR (shell); @@ -192,7 +189,7 @@ gimp_toolbar_add_ui (GimpMenuShell *shell, g_warning ("%s: unexpected path '%s'. Menus are not allowed in toolbar's root.", G_STRFUNC, paths[0]); else - gimp_toolbar_add_action (toolbar, action_name, placeholder_key, top); + gimp_toolbar_add_action (toolbar, action_name, top); } @@ -217,10 +214,6 @@ gimp_toolbar_new (GimpMenuModel *model, static void gimp_toolbar_add_action (GimpToolbar *toolbar, const gchar *action_name, - /* XXX: right now unused, maybe be useful later for - * when we want to support user-managed toolbars. - */ - const gchar *placeholder_key G_GNUC_UNUSED, gboolean top) { GimpUIManager *manager; diff --git a/app/widgets/gimpuimanager.c b/app/widgets/gimpuimanager.c index e962a88a87..5386c05230 100644 --- a/app/widgets/gimpuimanager.c +++ b/app/widgets/gimpuimanager.c @@ -69,7 +69,6 @@ typedef struct { gchar *path; gchar *action_name; - gchar *placeholder; gboolean top; } GimpUIManagerMenuItem; @@ -186,8 +185,7 @@ gimp_ui_manager_class_init (GimpUIManagerClass *klass) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GimpUIManagerClass, ui_added), NULL, NULL, NULL, - G_TYPE_NONE, 4, - G_TYPE_STRING, + G_TYPE_NONE, 3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN); @@ -615,7 +613,6 @@ void gimp_ui_manager_add_ui (GimpUIManager *manager, const gchar *path, const gchar *action_name, - const gchar *placeholder, gboolean top) { GimpUIManagerMenuItem *item; @@ -627,13 +624,12 @@ gimp_ui_manager_add_ui (GimpUIManager *manager, item = g_slice_new0 (GimpUIManagerMenuItem); item->path = g_strdup (path); item->action_name = g_strdup (action_name); - item->placeholder = g_strdup (placeholder); item->top = top; manager->ui_items = g_list_prepend (manager->ui_items, item); g_signal_emit (manager, manager_signals[UI_ADDED], 0, - path, action_name, placeholder, top); + path, action_name, top); } void @@ -645,8 +641,7 @@ gimp_ui_manager_foreach_ui (GimpUIManager *manager, { GimpUIManagerMenuItem *item = iter->data; - callback (manager, item->path, item->action_name, item->placeholder, - item->top, user_data); + callback (manager, item->path, item->action_name, item->top, user_data); } } @@ -1151,7 +1146,6 @@ gimp_ui_manager_menu_item_free (GimpUIManagerMenuItem *item) { g_free (item->path); g_free (item->action_name); - g_free (item->placeholder); g_slice_free (GimpUIManagerMenuItem, item); } diff --git a/app/widgets/gimpuimanager.h b/app/widgets/gimpuimanager.h index 68c3314f63..89d8c99372 100644 --- a/app/widgets/gimpuimanager.h +++ b/app/widgets/gimpuimanager.h @@ -28,7 +28,6 @@ typedef void (* GimpUIMenuCallback) (GimpUIManager *manager, const gchar *path, const gchar *action_name, - const gchar *placeholder, gboolean top, gpointer user_data); @@ -90,7 +89,6 @@ struct _GimpUIManagerClass void (* ui_added) (GimpUIManager *manager, const gchar *path, const gchar *action_name, - const gchar *placeholder, gboolean top); void (* ui_removed) (GimpUIManager *manager, const gchar *path, @@ -124,7 +122,6 @@ void gimp_ui_manager_remove_uis (GimpUIManager *manager, void gimp_ui_manager_add_ui (GimpUIManager *manager, const gchar *path, const gchar *action_name, - const gchar *placeholder, gboolean top); void gimp_ui_manager_foreach_ui (GimpUIManager *manager, GimpUIMenuCallback callback, diff --git a/menus/dashboard-menu.ui b/menus/dashboard-menu.ui index 76be1e529f..461ba99333 100644 --- a/menus/dashboard-menu.ui +++ b/menus/dashboard-menu.ui @@ -7,8 +7,9 @@ gimp-dashboard Groups - - Groups +
+ Groups +
_Update Interval diff --git a/menus/image-menu.ui.in.in b/menus/image-menu.ui.in.in index 1922cc1be5..a0b9e125e1 100644 --- a/menus/image-menu.ui.in.in +++ b/menus/image-menu.ui.in.in @@ -17,9 +17,7 @@ Open _Recent
- - Files - + Files
app.dialogs-document-history
@@ -624,8 +622,9 @@ app.filters-reshow Recently Used - - Filters +
+ Filters +
app.plug-in-reset-all @@ -795,13 +794,12 @@
app.dialogs-toolbox -
- Images + Images
-
- Docks + + Docks
app.windows-hide-docks