@@ -137,29 +137,6 @@ gdict_sidebar_dispose (GObject *object)
137
137
G_OBJECT_CLASS (gdict_sidebar_parent_class )-> dispose (object );
138
138
}
139
139
140
- static void
141
- gdict_sidebar_menu_position_function (GtkMenu * menu ,
142
- gint * x ,
143
- gint * y ,
144
- gboolean * push_in ,
145
- gpointer user_data )
146
- {
147
- GtkWidget * widget ;
148
- GtkAllocation allocation ;
149
-
150
- g_assert (GTK_IS_BUTTON (user_data ));
151
-
152
- widget = GTK_WIDGET (user_data );
153
-
154
- gdk_window_get_origin (gtk_widget_get_window (widget ), x , y );
155
-
156
- gtk_widget_get_allocation (widget , & allocation );
157
- * x += allocation .x ;
158
- * y += allocation .y + allocation .height ;
159
-
160
- * push_in = FALSE;
161
- }
162
-
163
140
static gboolean
164
141
gdict_sidebar_select_button_press_cb (GtkWidget * widget ,
165
142
GdkEventButton * event ,
@@ -182,10 +159,11 @@ gdict_sidebar_select_button_press_cb (GtkWidget *widget,
182
159
gtk_widget_grab_focus (widget );
183
160
184
161
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget ), TRUE);
185
- gtk_menu_popup (GTK_MENU (sidebar -> priv -> menu ),
186
- NULL , NULL ,
187
- gdict_sidebar_menu_position_function , widget ,
188
- event -> button , event -> time );
162
+ gtk_menu_popup_at_widget (GTK_MENU (sidebar -> priv -> menu ),
163
+ widget ,
164
+ GDK_GRAVITY_SOUTH_WEST ,
165
+ GDK_GRAVITY_NORTH_WEST ,
166
+ (const GdkEvent * ) event );
189
167
190
168
return TRUE;
191
169
}
@@ -206,10 +184,11 @@ gdict_sidebar_select_key_press_cb (GtkWidget *widget,
206
184
event -> keyval == GDK_KEY_KP_Enter )
207
185
{
208
186
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget ), TRUE);
209
- gtk_menu_popup (GTK_MENU (sidebar -> priv -> menu ),
210
- NULL , NULL ,
211
- gdict_sidebar_menu_position_function , widget ,
212
- 1 , event -> time );
187
+ gtk_menu_popup_at_widget (GTK_MENU (sidebar -> priv -> menu ),
188
+ widget ,
189
+ GDK_GRAVITY_SOUTH_WEST ,
190
+ GDK_GRAVITY_NORTH_WEST ,
191
+ (const GdkEvent * ) event );
213
192
214
193
return TRUE;
215
194
}
0 commit comments