Skip to content

Commit ddf6f38

Browse files
raveit65lukefromdc
authored andcommitted
Replace deprecated gtk_menu_popup
Replace deprecated gtk_menu_popup in eel-editable-label,caja-dnd, emblem-sidebar,caja-side-pane, fm-tree-view, caja-navigation-window-pane, and caja-zoom-control
1 parent ded490e commit ddf6f38

File tree

7 files changed

+29
-140
lines changed

7 files changed

+29
-140
lines changed

eel/eel-editable-label.c

Lines changed: 2 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3047,37 +3047,6 @@ popup_menu_detach (GtkWidget *attach_widget,
30473047
label->popup_menu = NULL;
30483048
}
30493049

3050-
static void
3051-
popup_position_func (GtkMenu *menu,
3052-
gint *x,
3053-
gint *y,
3054-
gboolean *push_in,
3055-
gpointer user_data)
3056-
{
3057-
EelEditableLabel *label;
3058-
GtkWidget *widget;
3059-
GtkRequisition req;
3060-
GtkAllocation allocation;
3061-
gint scale;
3062-
3063-
label = EEL_EDITABLE_LABEL (user_data);
3064-
widget = GTK_WIDGET (label);
3065-
3066-
g_assert (gtk_widget_get_realized (widget));
3067-
3068-
gdk_window_get_origin (gtk_widget_get_window (widget), x, y);
3069-
3070-
gtk_widget_get_preferred_size (widget, &req, NULL);
3071-
gtk_widget_get_allocation (widget, &allocation);
3072-
scale = gtk_widget_get_scale_factor (widget);
3073-
3074-
*x += allocation.width / 2;
3075-
*y += allocation.height;
3076-
3077-
*x = CLAMP (*x, 0, MAX (0, WidthOfScreen (gdk_x11_screen_get_xscreen (gdk_screen_get_default ())) / scale - req.width));
3078-
*y = CLAMP (*y, 0, MAX (0, HeightOfScreen (gdk_x11_screen_get_xscreen (gdk_screen_get_default ())) / scale - req.height));
3079-
}
3080-
30813050
static void
30823051
eel_editable_label_toggle_overwrite (EelEditableLabel *label)
30833052
{
@@ -3157,14 +3126,10 @@ popup_targets_received (GtkClipboard *clipboard,
31573126
label->popup_menu);
31583127

31593128
if (info->button)
3160-
gtk_menu_popup (GTK_MENU (label->popup_menu), NULL, NULL,
3161-
NULL, NULL,
3162-
info->button, info->time);
3129+
gtk_menu_popup_at_pointer (GTK_MENU (label->popup_menu), NULL);
31633130
else
31643131
{
3165-
gtk_menu_popup (GTK_MENU (label->popup_menu), NULL, NULL,
3166-
popup_position_func, label,
3167-
info->button, info->time);
3132+
gtk_menu_popup_at_pointer (GTK_MENU (label->popup_menu), NULL);
31683133
gtk_menu_shell_select_first (GTK_MENU_SHELL (label->popup_menu), FALSE);
31693134
}
31703135
}

libcaja-private/caja-dnd.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -785,6 +785,7 @@ caja_drag_drop_action_ask (GtkWidget *widget,
785785
GtkWidget *menu;
786786
GtkWidget *menu_item;
787787
DropActionMenuData damd;
788+
GdkEvent *event;
788789

789790
/* Create the menu and set the sensitivity of the items based on the
790791
* allowed actions.
@@ -827,8 +828,7 @@ caja_drag_drop_action_ask (GtkWidget *widget,
827828

828829
gtk_grab_add (menu);
829830

830-
gtk_menu_popup (GTK_MENU (menu), NULL, NULL,
831-
NULL, NULL, 0, GDK_CURRENT_TIME);
831+
gtk_menu_popup_at_pointer (GTK_MENU (menu), (const GdkEvent*) event);
832832

833833
g_main_loop_run (damd.loop);
834834

@@ -849,6 +849,7 @@ caja_drag_drop_background_ask (GtkWidget *widget,
849849
GtkWidget *menu;
850850
GtkWidget *menu_item;
851851
DropActionMenuData damd;
852+
GdkEvent *event;
852853

853854
/* Create the menu and set the sensitivity of the items based on the
854855
* allowed actions.
@@ -881,8 +882,7 @@ caja_drag_drop_background_ask (GtkWidget *widget,
881882

882883
gtk_grab_add (menu);
883884

884-
gtk_menu_popup (GTK_MENU (menu), NULL, NULL,
885-
NULL, NULL, 0, GDK_CURRENT_TIME);
885+
gtk_menu_popup_at_pointer (GTK_MENU (menu), (const GdkEvent*) event);
886886

887887
g_main_loop_run (damd.loop);
888888

src/caja-emblem-sidebar.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,8 @@ caja_emblem_sidebar_button_press_cb (GtkWidget *widget,
187187
gtk_widget_set_sensitive (emblem_sidebar->details->popup_rename,
188188
caja_emblem_can_rename_emblem (keyword));
189189

190-
191-
gtk_menu_popup (GTK_MENU (emblem_sidebar->details->popup),
192-
NULL, NULL, NULL, NULL, event->button,
193-
event->time);
190+
gtk_menu_popup_at_pointer (GTK_MENU (emblem_sidebar->details->popup),
191+
(const GdkEvent*) event);
194192
}
195193

196194
return TRUE;

src/caja-navigation-window-pane.c

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,6 @@ notebook_popup_menu_show (CajaNavigationWindowPane *pane,
358358
{
359359
GtkWidget *popup;
360360
GtkWidget *item;
361-
int button, event_time;
362361
gboolean can_move_left, can_move_right;
363362
CajaNotebook *notebook;
364363

@@ -409,24 +408,13 @@ notebook_popup_menu_show (CajaNavigationWindowPane *pane,
409408

410409
gtk_widget_show_all (popup);
411410

412-
if (event)
413-
{
414-
button = event->button;
415-
event_time = event->time;
416-
}
417-
else
418-
{
419-
button = 0;
420-
event_time = gtk_get_current_event_time ();
421-
}
422-
423411
/* TODO is this correct? */
424412
gtk_menu_attach_to_widget (GTK_MENU (popup),
425413
pane->notebook,
426414
NULL);
427415

428-
gtk_menu_popup (GTK_MENU (popup), NULL, NULL, NULL, NULL,
429-
button, event_time);
416+
gtk_menu_popup_at_pointer (GTK_MENU (popup),
417+
(const GdkEvent*) event);
430418
}
431419

432420
/* emitted when the user clicks the "close" button of tabs */

src/caja-side-pane.c

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -228,9 +228,11 @@ select_button_press_callback (GtkWidget *widget,
228228
gtk_widget_grab_focus (widget);
229229

230230
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
231-
gtk_menu_popup (GTK_MENU (side_pane->details->menu),
232-
NULL, NULL, menu_position_under, widget,
233-
event->button, event->time);
231+
gtk_menu_popup_at_widget (GTK_MENU (side_pane->details->menu),
232+
widget,
233+
GDK_GRAVITY_SOUTH_WEST,
234+
GDK_GRAVITY_NORTH_WEST,
235+
(const GdkEvent*) event);
234236

235237
return TRUE;
236238
}
@@ -252,9 +254,11 @@ select_button_key_press_callback (GtkWidget *widget,
252254
event->keyval == GDK_KEY_KP_Enter)
253255
{
254256
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
255-
gtk_menu_popup (GTK_MENU (side_pane->details->menu),
256-
NULL, NULL, menu_position_under, widget,
257-
1, event->time);
257+
gtk_menu_popup_at_widget (GTK_MENU (side_pane->details->menu),
258+
widget,
259+
GDK_GRAVITY_SOUTH_WEST,
260+
GDK_GRAVITY_NORTH_WEST,
261+
(const GdkEvent*) event);
258262
return TRUE;
259263
}
260264

src/caja-zoom-control.c

Lines changed: 7 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -132,84 +132,19 @@ zoom_popup_menu_show (GdkEventButton *event, CajaZoomControl *zoom_control)
132132
event);
133133
}
134134

135-
static void
136-
menu_position_under_widget (GtkMenu *menu,
137-
gint *x,
138-
gint *y,
139-
gboolean *push_in,
140-
gpointer user_data)
141-
{
142-
GtkWidget *widget;
143-
GtkWidget *container;
144-
GtkRequisition req;
145-
GtkRequisition menu_req;
146-
GdkRectangle monitor;
147-
GdkMonitor *monitor_num;
148-
GdkDisplay *display;
149-
GtkAllocation allocation;
150-
151-
widget = GTK_WIDGET (user_data);
152-
g_assert (GTK_IS_WIDGET (widget));
153-
154-
container = gtk_widget_get_ancestor (widget, GTK_TYPE_CONTAINER);
155-
g_assert (container != NULL);
156-
157-
gtk_widget_get_preferred_size (GTK_WIDGET (menu), &menu_req, NULL);
158-
gtk_widget_get_preferred_size (widget, &req, NULL);
159-
gtk_widget_get_allocation (widget, &allocation);
160-
161-
display = gtk_widget_get_display (GTK_WIDGET (menu));
162-
monitor_num = gdk_display_get_monitor_at_window (display, gtk_widget_get_window (widget));
163-
if (monitor_num == NULL)
164-
monitor_num = gdk_display_get_monitor (display, 0);
165-
gdk_monitor_get_geometry (monitor_num, &monitor);
166-
167-
gdk_window_get_origin (gtk_widget_get_window (widget), x, y);
168-
if (!gtk_widget_get_has_window (widget))
169-
{
170-
*x += allocation.x;
171-
*y += allocation.y;
172-
}
173-
174-
if (gtk_widget_get_direction (container) == GTK_TEXT_DIR_LTR)
175-
{
176-
*x += allocation.width - req.width;
177-
}
178-
else
179-
{
180-
*x += req.width - menu_req.width;
181-
}
182-
183-
if ((*y + allocation.height + menu_req.height) <= monitor.y + monitor.height)
184-
{
185-
*y += allocation.height;
186-
}
187-
else if ((*y - menu_req.height) >= monitor.y)
188-
{
189-
*y -= menu_req.height;
190-
}
191-
else if (monitor.y + monitor.height - (*y + allocation.height) > *y)
192-
{
193-
*y += allocation.height;
194-
}
195-
else
196-
{
197-
*y -= menu_req.height;
198-
}
199-
200-
*push_in = FALSE;
201-
}
202-
203-
204135
static void
205136
zoom_popup_menu (GtkWidget *widget, CajaZoomControl *zoom_control)
206137
{
207138
GtkMenu *menu;
139+
GdkEvent *event;
208140

209141
menu = create_zoom_menu (zoom_control);
210-
gtk_menu_popup (menu, NULL, NULL,
211-
menu_position_under_widget, widget,
212-
0, gtk_get_current_event_time ());
142+
gtk_menu_popup_at_widget (menu,
143+
widget,
144+
GDK_GRAVITY_SOUTH_WEST,
145+
GDK_GRAVITY_NORTH_WEST,
146+
(const GdkEvent*) event);
147+
213148
gtk_menu_shell_select_first (GTK_MENU_SHELL (menu), FALSE);
214149
}
215150

src/file-manager/fm-tree-view.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -861,9 +861,8 @@ button_pressed_callback (GtkTreeView *treeview, GdkEventButton *event,
861861
gtk_widget_hide (view->details->popup_unmount_separator);
862862
}
863863

864-
gtk_menu_popup (GTK_MENU (view->details->popup),
865-
NULL, NULL, NULL, NULL,
866-
event->button, event->time);
864+
gtk_menu_popup_at_pointer (GTK_MENU (view->details->popup),
865+
(const GdkEvent*) event);
867866

868867
gtk_tree_view_set_cursor (view->details->tree_widget, cursor_path, NULL, FALSE);
869868
gtk_tree_path_free (cursor_path);

0 commit comments

Comments
 (0)