static gboolean drag_motion_cb (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time) { PanelToplevel *toplevel; PanelWidget *panel_widget; guint info; g_return_val_if_fail (PANEL_IS_TOPLEVEL (widget), FALSE); if (!panel_check_dnd_target_data (widget, context, &info, NULL)) return FALSE; toplevel = PANEL_TOPLEVEL (widget); panel_widget = panel_toplevel_get_panel_widget (toplevel); if (!panel_check_drop_forbidden (panel_widget, context, info, time)) return FALSE; do_highlight (widget, TRUE); panel_toplevel_unhide (toplevel); return TRUE; }
static void drag_data_recieved_cb (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time) { PanelWidget *panel_widget; PanelObjectPackType pack_type = PANEL_OBJECT_PACK_START; int pack_index = 0; g_return_if_fail (PANEL_IS_TOPLEVEL (widget)); /* we use this only to really find out the info, we already know this is an ok drop site and the info that got passed to us is bogus (it's always 0 in fact) */ if (!panel_check_dnd_target_data (widget, context, &info, NULL)) { gtk_drag_finish (context, FALSE, FALSE, time); return; } panel_widget = panel_toplevel_get_panel_widget (PANEL_TOPLEVEL (widget)); panel_widget_get_insert_at_cursor (panel_widget, &pack_type, &pack_index); panel_receive_dnd_data ( panel_widget, info, pack_type, pack_index, selection_data, context, time); }
static void panel_properties_dialog_destroy (PanelPropertiesDialog *dialog) { panel_toplevel_pop_autohide_disabler (PANEL_TOPLEVEL (dialog->toplevel)); g_object_set_qdata (G_OBJECT (dialog->toplevel), panel_properties_dialog_quark, NULL); }
static void panel_addto_dialog_destroy (GtkWidget *widget_dialog, PanelAddtoDialog *dialog) { panel_toplevel_pop_autohide_disabler (PANEL_TOPLEVEL (dialog->panel_widget->toplevel)); g_object_set_qdata (G_OBJECT (dialog->panel_widget->toplevel), panel_addto_dialog_quark, NULL); }
static void context_menu_deactivate (GtkWidget *w, PanelData *pd) { if (pd->deactivate_idle == 0) pd->deactivate_idle = g_idle_add (deactivate_idle, pd); panel_toplevel_pop_autohide_disabler (PANEL_TOPLEVEL (pd->panel)); }
static void drag_leave_cb (GtkWidget *widget, GdkDragContext *context, guint time, Launcher *launcher) { PanelToplevel *toplevel; do_highlight (widget, FALSE); toplevel = PANEL_TOPLEVEL (widget); panel_toplevel_queue_auto_hide (toplevel); }
static GtkWidget * make_popup_panel_menu (PanelWidget *panel_widget) { PanelData *pd; GtkWidget *menu; if (!panel_widget) { PanelToplevel *toplevel; toplevel = PANEL_TOPLEVEL (((PanelData *) panel_list->data)->panel); panel_widget = panel_toplevel_get_panel_widget (toplevel); } pd = g_object_get_data (G_OBJECT (panel_widget->toplevel), "PanelData"); menu = panel_menu_get (panel_widget, pd); g_object_set_data (G_OBJECT (menu), "menu_panel", panel_widget); return menu; }
static void drag_data_recieved_cb (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time) { PanelWidget *panel_widget; int pos; g_return_if_fail (PANEL_IS_TOPLEVEL (widget)); /* we use this only to really find out the info, we already know this is an ok drop site and the info that got passed to us is bogus (it's always 0 in fact) */ if (!panel_check_dnd_target_data (widget, context, &info, NULL)) { gtk_drag_finish (context, FALSE, FALSE, time); return; } panel_widget = panel_toplevel_get_panel_widget (PANEL_TOPLEVEL (widget)); pos = panel_widget_get_cursorloc (panel_widget); /* * -1 passed to mate_panel_applet_register will turn on * the insert_at_pos flag for panel_widget_add_full, * which will not place it after the first applet. */ if(pos < 0) pos = -1; else if(pos > panel_widget->size) pos = panel_widget->size; panel_receive_dnd_data ( panel_widget, info, pos, selection_data, context, time); }
static void context_menu_show (GtkWidget *w, PanelData *pd) { panel_toplevel_push_autohide_disabler (PANEL_TOPLEVEL (pd->panel)); }