mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-05-03 04:26:52 +02:00
GMenu: add g_menu_remove_all() API
Removes all of the items from a GMenu. The keyboard indicator wants to do this as part of refreshing the layout list, as an example. https://bugzilla.gnome.org/show_bug.cgi?id=697601
This commit is contained in:
parent
57cd876321
commit
1de0625103
@ -3773,6 +3773,7 @@ g_menu_prepend_submenu
|
|||||||
|
|
||||||
<SUBSECTION>
|
<SUBSECTION>
|
||||||
g_menu_remove
|
g_menu_remove
|
||||||
|
g_menu_remove_all
|
||||||
|
|
||||||
<SUBSECTION>
|
<SUBSECTION>
|
||||||
GMenuItem
|
GMenuItem
|
||||||
|
23
gio/gmenu.c
23
gio/gmenu.c
@ -486,6 +486,29 @@ g_menu_remove (GMenu *menu,
|
|||||||
g_menu_model_items_changed (G_MENU_MODEL (menu), position, 1, 0);
|
g_menu_model_items_changed (G_MENU_MODEL (menu), position, 1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* g_menu_remove_all:
|
||||||
|
* @menu: a #GMenu
|
||||||
|
*
|
||||||
|
* Removes all items in the menu.
|
||||||
|
*
|
||||||
|
* Since: 2.38
|
||||||
|
**/
|
||||||
|
void
|
||||||
|
g_menu_remove_all (GMenu *menu)
|
||||||
|
{
|
||||||
|
gint i, n;
|
||||||
|
|
||||||
|
g_return_if_fail (G_IS_MENU (menu));
|
||||||
|
n = menu->items->len;
|
||||||
|
|
||||||
|
for (i = 0; i < n; i++)
|
||||||
|
g_menu_clear_item (&g_array_index (menu->items, struct item, i));
|
||||||
|
g_array_set_size (menu->items, 0);
|
||||||
|
|
||||||
|
g_menu_model_items_changed (G_MENU_MODEL (menu), 0, n, 0);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
g_menu_finalize (GObject *object)
|
g_menu_finalize (GObject *object)
|
||||||
{
|
{
|
||||||
|
@ -63,6 +63,9 @@ GLIB_AVAILABLE_IN_2_32
|
|||||||
void g_menu_remove (GMenu *menu,
|
void g_menu_remove (GMenu *menu,
|
||||||
gint position);
|
gint position);
|
||||||
|
|
||||||
|
GLIB_AVAILABLE_IN_2_38
|
||||||
|
void g_menu_remove_all (GMenu *menu);
|
||||||
|
|
||||||
GLIB_AVAILABLE_IN_2_32
|
GLIB_AVAILABLE_IN_2_32
|
||||||
void g_menu_insert (GMenu *menu,
|
void g_menu_insert (GMenu *menu,
|
||||||
gint position,
|
gint position,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user