diff --git a/plugins/pager/pager.c b/plugins/pager/pager.c index 8d8565af169c78743dd9df2b22588b637b460d3c..40cc7fab318e360712e98fb62b82fc4189941423 100644 --- a/plugins/pager/pager.c +++ b/plugins/pager/pager.c @@ -54,6 +54,12 @@ static void pager_plugin_set_property (GObject *ob GParamSpec *pspec); static gboolean pager_plugin_scroll_event (GtkWidget *widget, GdkEventScroll *event); +static void pager_plugin_drag_begin_event (GtkWidget *widget, + GdkDragContext *context, + gpointer user_data); +static void pager_plugin_drag_end_event (GtkWidget *widget, + GdkDragContext *context, + gpointer user_data); static void pager_plugin_screen_changed (GtkWidget *widget, GdkScreen *previous_screen); static void pager_plugin_construct (XfcePanelPlugin *panel_plugin); @@ -360,6 +366,32 @@ pager_plugin_scroll_event (GtkWidget *widget, +static void +pager_plugin_drag_begin_event (GtkWidget *widget, + GdkDragContext *context, + gpointer user_data) +{ + PagerPlugin *plugin = user_data; + + panel_return_if_fail (XFCE_IS_PAGER_PLUGIN (plugin)); + xfce_panel_plugin_block_autohide (XFCE_PANEL_PLUGIN (plugin), TRUE); +} + + + +static void +pager_plugin_drag_end_event (GtkWidget *widget, + GdkDragContext *context, + gpointer user_data) +{ + PagerPlugin *plugin = user_data; + + panel_return_if_fail (XFCE_IS_PAGER_PLUGIN (plugin)); + xfce_panel_plugin_block_autohide (XFCE_PANEL_PLUGIN (plugin), FALSE); +} + + + static void pager_plugin_screen_layout_changed (PagerPlugin *plugin) { @@ -391,6 +423,10 @@ pager_plugin_screen_layout_changed (PagerPlugin *plugin) G_GNUC_BEGIN_IGNORE_DEPRECATIONS plugin->ratio = (gfloat) gdk_screen_width () / (gfloat) gdk_screen_height (); G_GNUC_END_IGNORE_DEPRECATIONS + g_signal_connect_after (G_OBJECT (plugin->pager), "drag-begin", + G_CALLBACK (pager_plugin_drag_begin_event), plugin); + g_signal_connect_after (G_OBJECT (plugin->pager), "drag-end", + G_CALLBACK (pager_plugin_drag_end_event), plugin); } else {