| 1185 mark_set_cb(PidginWebView *webview, PidginWebViewToolbar *toolbar) |
1185 mark_set_cb(PidginWebView *webview, PidginWebViewToolbar *toolbar) |
| 1186 { |
1186 { |
| 1187 update_buttons(toolbar); |
1187 update_buttons(toolbar); |
| 1188 } |
1188 } |
| 1189 |
1189 |
| |
1190 #if GTK_CHECK_VERSION(3,22,0) |
| |
1191 |
| |
1192 static void |
| |
1193 pidgin_menu_clicked(GtkWidget *button, GtkMenu *menu) |
| |
1194 { |
| |
1195 if (gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(button))) { |
| |
1196 gtk_widget_show_all(GTK_WIDGET(menu)); |
| |
1197 gtk_menu_popup_at_widget(menu, button, GDK_GRAVITY_SOUTH_WEST, GDK_GRAVITY_NORTH_WEST, NULL); |
| |
1198 } |
| |
1199 } |
| |
1200 |
| |
1201 #else /* GTK+ 3.22.0 */ |
| |
1202 |
| 1190 /* This comes from gtkmenutoolbutton.c from gtk+ |
1203 /* This comes from gtkmenutoolbutton.c from gtk+ |
| 1191 * Copyright (C) 2003 Ricardo Fernandez Pascual |
1204 * Copyright (C) 2003 Ricardo Fernandez Pascual |
| 1192 * Copyright (C) 2004 Paolo Borelli |
1205 * Copyright (C) 2004 Paolo Borelli |
| 1193 */ |
1206 */ |
| 1194 static void |
1207 static void |
| 1220 if (gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(button))) { |
1233 if (gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(button))) { |
| 1221 gtk_widget_show_all(GTK_WIDGET(menu)); |
1234 gtk_widget_show_all(GTK_WIDGET(menu)); |
| 1222 gtk_menu_popup(menu, NULL, NULL, menu_position_func, button, 0, gtk_get_current_event_time()); |
1235 gtk_menu_popup(menu, NULL, NULL, menu_position_func, button, 0, gtk_get_current_event_time()); |
| 1223 } |
1236 } |
| 1224 } |
1237 } |
| |
1238 |
| |
1239 #endif /* GTK+ 3.22.0 */ |
| 1225 |
1240 |
| 1226 static void |
1241 static void |
| 1227 pidgin_menu_deactivate(GtkWidget *menu, GtkToggleButton *button) |
1242 pidgin_menu_deactivate(GtkWidget *menu, GtkToggleButton *button) |
| 1228 { |
1243 { |
| 1229 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(button), FALSE); |
1244 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(button), FALSE); |