[gnome-panel] menu: remove menu_panel data
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-panel] menu: remove menu_panel data
- Date: Mon, 19 Dec 2016 00:37:10 +0000 (UTC)
commit ccb0f38686f9f00428c256fa9a2e4529a6be57ad
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Mon Dec 19 01:25:36 2016 +0200
menu: remove menu_panel data
gnome-panel/applet.c | 28 ----------------
gnome-panel/applet.h | 4 --
gnome-panel/menu.c | 67 --------------------------------------
gnome-panel/menu.h | 2 -
gnome-panel/panel-context-menu.c | 19 +++-------
gnome-panel/panel-menu-bar.c | 4 --
gnome-panel/panel-menu-button.c | 17 ---------
gnome-panel/panel-menu-items.c | 17 +++-------
gnome-panel/panel.c | 2 -
9 files changed, 11 insertions(+), 149 deletions(-)
---
diff --git a/gnome-panel/applet.c b/gnome-panel/applet.c
index 8bbbf66..06c02d9 100644
--- a/gnome-panel/applet.c
+++ b/gnome-panel/applet.c
@@ -502,30 +502,6 @@ panel_applet_get_edit_menu (AppletInfo *info)
return info->edit_menu;
}
-
-void
-panel_applet_menu_set_recurse (GtkMenu *menu,
- const gchar *key,
- gpointer data)
-{
- GList *children;
- GList *l;
-
- g_object_set_data (G_OBJECT (menu), key, data);
-
- children = gtk_container_get_children (GTK_CONTAINER (menu));
-
- for (l = children; l; l = l->next) {
- GtkWidget *submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (l->data));
-
- if (submenu)
- panel_applet_menu_set_recurse (
- GTK_MENU (submenu), key, data);
- }
-
- g_list_free (children);
-}
-
void
panel_applet_position_menu (GtkMenu *menu,
int *x,
@@ -622,10 +598,6 @@ applet_show_menu (AppletInfo *info,
panel_widget = panel_applet_get_panel_widget (info);
- panel_applet_menu_set_recurse (GTK_MENU (menu),
- "menu_panel",
- panel_widget);
-
gtk_menu_set_screen (GTK_MENU (menu),
gtk_window_get_screen (GTK_WINDOW (panel_widget->toplevel)));
diff --git a/gnome-panel/applet.h b/gnome-panel/applet.h
index d9ccbe6..beab5c7 100644
--- a/gnome-panel/applet.h
+++ b/gnome-panel/applet.h
@@ -80,10 +80,6 @@ GSettings *panel_applet_get_settings (AppletInfo *applet);
(position, toplevel_id, panel_right_stick) */
gboolean panel_applet_can_freely_move (AppletInfo *applet);
-void panel_applet_menu_set_recurse (GtkMenu *menu,
- const gchar *key,
- gpointer data);
-
void panel_applet_position_menu (GtkMenu *menu,
int *x,
int *y,
diff --git a/gnome-panel/menu.c b/gnome-panel/menu.c
index db7a68d..e3a6194 100644
--- a/gnome-panel/menu.c
+++ b/gnome-panel/menu.c
@@ -99,68 +99,6 @@ activate_app_def (GtkWidget *menuitem,
panel_menu_item_activate_desktop_file (menuitem, path);
}
-PanelWidget *
-menu_get_panel (GtkWidget *menu)
-{
- PanelWidget *retval = NULL;
-
- g_return_val_if_fail (menu != NULL, NULL);
-
- if (GTK_IS_MENU_ITEM (menu))
- menu = gtk_widget_get_parent (menu);
-
- g_return_val_if_fail (GTK_IS_MENU (menu), NULL);
-
- while (menu) {
- retval = g_object_get_data (G_OBJECT (menu), "menu_panel");
- if (retval)
- break;
-
- menu = gtk_widget_get_parent (gtk_menu_get_attach_widget (GTK_MENU (menu)));
- if (!GTK_IS_MENU (menu))
- break;
- }
-
- if (retval && !PANEL_IS_WIDGET (retval)) {
- g_warning ("Invalid PanelWidget associated with menu");
- retval = NULL;
- }
-
- if (!retval) {
- g_warning ("Cannot find the PanelWidget associated with menu");
- retval = panels->data;
- }
-
- return retval;
-}
-
-static void
-setup_menu_panel (GtkWidget *menu)
-{
- PanelWidget *panel;
-
- panel = g_object_get_data (G_OBJECT (menu), "menu_panel");
- if (panel)
- return;
-
- panel = menu_get_panel (menu);
- g_object_set_data (G_OBJECT (menu), "menu_panel", panel);
-
- if (panel)
- gtk_menu_set_screen (GTK_MENU (menu),
- gtk_widget_get_screen (GTK_WIDGET (panel)));
-}
-
-GdkScreen *
-menuitem_to_screen (GtkWidget *menuitem)
-{
- PanelWidget *panel_widget;
-
- panel_widget = menu_get_panel (menuitem);
-
- return gtk_window_get_screen (GTK_WINDOW (panel_widget->toplevel));
-}
-
static void
reload_image_menu_items (void)
{
@@ -220,8 +158,6 @@ create_empty_menu (void)
retval = panel_create_menu ();
- g_signal_connect (retval, "show", G_CALLBACK (setup_menu_panel), NULL);
-
/* intercept all right button clicks makes sure they don't
go to the object itself */
g_signal_connect (retval, "button_press_event",
@@ -1273,9 +1209,6 @@ create_main_menu (PanelWidget *panel)
main_menu = create_applications_menu (applications_menu, NULL, TRUE);
g_free (applications_menu);
- g_object_set_data (G_OBJECT (main_menu), "menu_panel", panel);
- /* FIXME need to update the panel on parent_set */
-
g_object_set_data (G_OBJECT (main_menu),
"panel-menu-append-callback",
main_menu_append);
diff --git a/gnome-panel/menu.h b/gnome-panel/menu.h
index aaf22c6..7cfe275 100644
--- a/gnome-panel/menu.h
+++ b/gnome-panel/menu.h
@@ -60,8 +60,6 @@ GdkPixbuf * panel_make_menu_icon (GtkIconTheme *icon_theme,
int size,
gboolean *long_operation);
-GdkScreen *menuitem_to_screen (GtkWidget *menuitem);
-PanelWidget *menu_get_panel (GtkWidget *menu);
GtkWidget *add_menu_separator (GtkWidget *menu);
gboolean menu_dummy_button_press_event (GtkWidget *menuitem,
diff --git a/gnome-panel/panel-context-menu.c b/gnome-panel/panel-context-menu.c
index da01d8b..da7102f 100644
--- a/gnome-panel/panel-context-menu.c
+++ b/gnome-panel/panel-context-menu.c
@@ -90,20 +90,16 @@ panel_context_menu_check_for_screen (GtkWidget *w,
}
static void
-panel_context_menu_setup_delete_panel_item (GtkWidget *menu,
- GtkWidget *menuitem)
+panel_context_menu_setup_delete_panel_item (GtkWidget *menuitem,
+ PanelToplevel *toplevel)
{
- PanelWidget *panel_widget;
gboolean sensitive;
panel_context_menu_check_for_screen (NULL, NULL, NULL);
-
- panel_widget = menu_get_panel (menu);
-
- g_assert (PANEL_IS_TOPLEVEL (panel_widget->toplevel));
+ g_assert (PANEL_IS_TOPLEVEL (toplevel));
sensitive =
- !panel_toplevel_is_last (panel_widget->toplevel) &&
+ !panel_toplevel_is_last (toplevel) &&
!panel_lockdown_get_panels_locked_down_s () &&
panel_layout_is_writable ();
@@ -174,9 +170,9 @@ panel_context_menu_build_edition (PanelWidget *panel_widget,
g_signal_connect_swapped (G_OBJECT (menuitem), "activate",
G_CALLBACK (panel_context_menu_delete_panel),
panel_widget->toplevel);
- g_signal_connect (G_OBJECT (menu), "show",
+ g_signal_connect (G_OBJECT (menuitem), "show",
G_CALLBACK (panel_context_menu_setup_delete_panel_item),
- menuitem);
+ panel_widget->toplevel);
add_menu_separator (menu);
@@ -204,9 +200,6 @@ panel_context_menu_create (PanelWidget *panel)
panel_context_menu_build_edition (panel, retval);
- //FIXME: can we get rid of this? (needed by menu_get_panel())
- g_object_set_data (G_OBJECT (retval), "menu_panel", panel);
-
g_signal_connect (retval, "event",
G_CALLBACK (panel_context_menu_check_for_screen),
NULL);
diff --git a/gnome-panel/panel-menu-bar.c b/gnome-panel/panel-menu-bar.c
index 9f59040..eb8652e 100644
--- a/gnome-panel/panel-menu-bar.c
+++ b/gnome-panel/panel-menu-bar.c
@@ -162,10 +162,6 @@ panel_menu_bar_parent_set (GtkWidget *widget,
menubar->priv->panel = (PanelWidget *) parent;
- if (menubar->priv->applications_menu)
- panel_applet_menu_set_recurse (GTK_MENU (menubar->priv->applications_menu),
- "menu_panel",
- menubar->priv->panel);
if (menubar->priv->places_item)
panel_place_menu_item_set_panel (menubar->priv->places_item,
menubar->priv->panel);
diff --git a/gnome-panel/panel-menu-button.c b/gnome-panel/panel-menu-button.c
index 7ee072d..0874efb 100644
--- a/gnome-panel/panel-menu-button.c
+++ b/gnome-panel/panel-menu-button.c
@@ -277,20 +277,6 @@ panel_menu_button_set_property (GObject *object,
}
static void
-panel_menu_button_associate_panel (PanelMenuButton *button)
-{
- PanelWidget *panel_widget = NULL;
-
- if (!button->priv->menu)
- return;
-
- if (button->priv->toplevel)
- panel_widget = panel_toplevel_get_panel_widget (button->priv->toplevel);
-
- panel_applet_menu_set_recurse (GTK_MENU (button->priv->menu), "menu_panel", panel_widget);
-}
-
-static void
panel_menu_button_parent_set (GtkWidget *widget,
GtkWidget *previous_parent)
{
@@ -305,7 +291,6 @@ panel_menu_button_parent_set (GtkWidget *widget,
else
button->priv->toplevel = NULL;
- panel_menu_button_associate_panel (button);
panel_menu_button_set_icon (button);
if (GTK_WIDGET_CLASS (panel_menu_button_parent_class)->parent_set)
@@ -386,8 +371,6 @@ panel_menu_button_create_menu (PanelMenuButton *button)
GTK_WIDGET (button),
(GtkMenuDetachFunc) panel_menu_button_menu_detacher);
- panel_menu_button_associate_panel (button);
-
g_signal_connect_swapped (button->priv->menu, "deactivate",
G_CALLBACK (panel_menu_button_menu_deactivated),
button);
diff --git a/gnome-panel/panel-menu-items.c b/gnome-panel/panel-menu-items.c
index 7d7e789..815e61f 100644
--- a/gnome-panel/panel-menu-items.c
+++ b/gnome-panel/panel-menu-items.c
@@ -105,7 +105,7 @@ static void
activate_uri (GtkWidget *menuitem,
const char *uri)
{
- activate_uri_on_screen (uri, menuitem_to_screen (menuitem));
+ activate_uri_on_screen (uri, gtk_widget_get_screen (menuitem));
}
static void
@@ -115,7 +115,7 @@ activate_path (GtkWidget *menuitem,
char *uri;
uri = g_filename_to_uri (path, NULL, NULL);
- activate_uri_on_screen (uri, menuitem_to_screen (menuitem));
+ activate_uri_on_screen (uri, gtk_widget_get_screen (menuitem));
g_free (uri);
}
@@ -652,7 +652,7 @@ panel_menu_item_rescan_drive (GtkWidget *menuitem,
{
g_drive_poll_for_media (drive, NULL,
drive_poll_for_media_cb,
- menuitem_to_screen (menuitem));
+ gtk_widget_get_screen (menuitem));
}
static GtkWidget *
@@ -745,7 +745,7 @@ panel_menu_item_mount_volume (GtkWidget *menuitem,
PanelVolumeMountData *mount_data;
mount_data = g_slice_new (PanelVolumeMountData);
- mount_data->screen = menuitem_to_screen (menuitem);
+ mount_data->screen = gtk_widget_get_screen (menuitem);
mount_data->mount_op = gtk_mount_operation_new (NULL);
gtk_mount_operation_set_screen (GTK_MOUNT_OPERATION (mount_data->mount_op),
mount_data->screen);
@@ -1193,9 +1193,6 @@ panel_place_menu_item_recreate_menu (GtkWidget *widget)
place_item->priv->menu = panel_place_menu_item_create_menu (place_item);
gtk_menu_item_set_submenu (GTK_MENU_ITEM (place_item),
place_item->priv->menu);
- panel_applet_menu_set_recurse (GTK_MENU (place_item->priv->menu),
- "menu_panel",
- place_item->priv->panel);
}
}
@@ -1551,8 +1548,6 @@ panel_place_menu_item_set_panel (GtkWidget *item,
place_item = PANEL_PLACE_MENU_ITEM (item);
place_item->priv->panel = panel;
- panel_applet_menu_set_recurse (GTK_MENU (place_item->priv->menu),
- "menu_panel", panel);
}
void
@@ -1564,8 +1559,6 @@ panel_desktop_menu_item_set_panel (GtkWidget *item,
desktop_item = PANEL_DESKTOP_MENU_ITEM (item);
desktop_item->priv->panel = panel;
- panel_applet_menu_set_recurse (GTK_MENU (desktop_item->priv->menu),
- "menu_panel", panel);
}
static void
@@ -1730,5 +1723,5 @@ void
panel_menu_item_activate_desktop_file (GtkWidget *menuitem,
const char *path)
{
- panel_launch_desktop_file (path, menuitem_to_screen (menuitem), NULL);
+ panel_launch_desktop_file (path, gtk_widget_get_screen (menuitem), NULL);
}
diff --git a/gnome-panel/panel.c b/gnome-panel/panel.c
index e263fb9..342f11b 100644
--- a/gnome-panel/panel.c
+++ b/gnome-panel/panel.c
@@ -233,8 +233,6 @@ make_popup_panel_menu (PanelWidget *panel_widget)
pd = g_object_get_data (G_OBJECT (panel_widget->toplevel), "PanelData");
menu = panel_menu_get (panel_widget, pd);
- if (menu)
- g_object_set_data (G_OBJECT (menu), "menu_panel", panel_widget);
return menu;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]