diff options
author | Eric Koegel <eric.koegel@gmail.com> | 2017-04-14 07:47:16 +0300 |
---|---|---|
committer | Eric Koegel <eric.koegel@gmail.com> | 2017-04-14 18:18:06 +0300 |
commit | 8be8afda57d58d0d096c3123a6f692dad80aa774 (patch) | |
tree | bb26e0026f958fdfbe405db3e9a086d5fce07a01 /src/xfdesktop-icon-view.c | |
parent | db9feb42ead981546b004c07624e95a5d9d813d1 (diff) | |
download | xfdesktop-8be8afda57d58d0d096c3123a6f692dad80aa774.tar.gz |
Fix another rubber band DnD issue
Additionally, turn the TRACE debug messages into DBG so that we
don't need all the deprecation warnings fixed before we can see
those messages.
Diffstat (limited to 'src/xfdesktop-icon-view.c')
-rw-r--r-- | src/xfdesktop-icon-view.c | 76 |
1 files changed, 42 insertions, 34 deletions
diff --git a/src/xfdesktop-icon-view.c b/src/xfdesktop-icon-view.c index 0705cb73..01bbffe1 100644 --- a/src/xfdesktop-icon-view.c +++ b/src/xfdesktop-icon-view.c @@ -867,7 +867,7 @@ xfdesktop_icon_view_button_press(GtkWidget *widget, XfdesktopIconView *icon_view = XFDESKTOP_ICON_VIEW(user_data); XfdesktopIcon *icon; - TRACE("entering"); + DBG("entering"); if(evt->type == GDK_BUTTON_PRESS) { GList *icon_l; @@ -1019,6 +1019,24 @@ xfdesktop_icon_view_get_tooltip_size(XfdesktopIconView *icon_view) return DEFAULT_TOOLTIP_SIZE; } +static void +xfdesktop_icon_view_clear_drag_event(XfdesktopIconView *icon_view, GtkWidget *widget) +{ + DBG("unsetting stuff"); + icon_view->priv->control_click = FALSE; + icon_view->priv->double_click = FALSE; + icon_view->priv->maybe_begin_drag = FALSE; + icon_view->priv->definitely_dragging = FALSE; + if(icon_view->priv->definitely_rubber_banding) { + /* Remove the rubber band selection box */ + icon_view->priv->definitely_rubber_banding = FALSE; + gtk_widget_queue_draw_area(widget, icon_view->priv->band_rect.x, + icon_view->priv->band_rect.y, + icon_view->priv->band_rect.width, + icon_view->priv->band_rect.height); + } +} + static gboolean xfdesktop_icon_view_button_release(GtkWidget *widget, GdkEventButton *evt, @@ -1028,7 +1046,7 @@ xfdesktop_icon_view_button_release(GtkWidget *widget, XfdesktopIcon *icon; GList *icon_l = NULL; - TRACE("entering btn=%d", evt->button); + DBG("entering btn=%d", evt->button); /* single-click */ if(xfdesktop_icon_view_get_single_click(icon_view) @@ -1089,19 +1107,7 @@ xfdesktop_icon_view_button_release(GtkWidget *widget, } if(evt->button == 1 || evt->button == 3 || evt->button == 0) { - DBG("unsetting stuff"); - icon_view->priv->control_click = FALSE; - icon_view->priv->double_click = FALSE; - icon_view->priv->maybe_begin_drag = FALSE; - icon_view->priv->definitely_dragging = FALSE; - if(icon_view->priv->definitely_rubber_banding) { - /* Remove the rubber band selection box */ - icon_view->priv->definitely_rubber_banding = FALSE; - gtk_widget_queue_draw_area(widget, icon_view->priv->band_rect.x, - icon_view->priv->band_rect.y, - icon_view->priv->band_rect.width, - icon_view->priv->band_rect.height); - } + xfdesktop_icon_view_clear_drag_event(icon_view, widget); } gtk_grab_remove(widget); @@ -1116,7 +1122,7 @@ xfdesktop_icon_view_key_press(GtkWidget *widget, { XfdesktopIconView *icon_view = XFDESKTOP_ICON_VIEW(user_data); - TRACE("entering"); + DBG("entering"); /* since we're NO_WINDOW, events don't get delivered to us normally, * so we have to activate the bindings manually */ @@ -1599,7 +1605,7 @@ xfdesktop_icon_view_drag_drop(GtkWidget *widget, GList *l; XfdesktopIcon *icon_on_dest = NULL; - TRACE("entering: (%d,%d)", x, y); + DBG("entering: (%d,%d)", x, y); DBG("unsetting stuff"); icon_view->priv->control_click = FALSE; @@ -1735,7 +1741,7 @@ xfdesktop_icon_view_drag_data_get(GtkWidget *widget, { XfdesktopIconView *icon_view = XFDESKTOP_ICON_VIEW(widget); - TRACE("entering"); + DBG("entering"); if(XFDESKTOP_IS_WINDOW_ICON_MANAGER(icon_view->priv->manager)) return; @@ -1748,6 +1754,8 @@ xfdesktop_icon_view_drag_data_get(GtkWidget *widget, xfdesktop_icon_view_manager_drag_data_get(icon_view->priv->manager, icon_view->priv->selected_icons, context, data, info, time_); + + xfdesktop_icon_view_clear_drag_event(icon_view, widget); } static void @@ -1763,7 +1771,7 @@ xfdesktop_icon_view_drag_data_received(GtkWidget *widget, gint16 row, col; XfdesktopIcon *icon_on_dest; - TRACE("entering"); + DBG("entering"); icon_on_dest = g_object_get_data(G_OBJECT(context), "--xfdesktop-icon-view-drop-icon"); @@ -2178,7 +2186,7 @@ xfdesktop_icon_view_draw(GtkWidget *widget, GdkRectangle clipbox; gint i; - /*TRACE("entering");*/ + /*DBG("entering");*/ rects = cairo_copy_clip_rectangle_list(cr); @@ -2247,7 +2255,7 @@ xfdesktop_icon_view_draw(GtkWidget *widget, static void xfdesktop_icon_view_real_select_all(XfdesktopIconView *icon_view) { - TRACE("entering"); + DBG("entering"); xfdesktop_icon_view_select_all(icon_view); } @@ -2255,7 +2263,7 @@ xfdesktop_icon_view_real_select_all(XfdesktopIconView *icon_view) static void xfdesktop_icon_view_real_unselect_all(XfdesktopIconView *icon_view) { - TRACE("entering"); + DBG("entering"); xfdesktop_icon_view_unselect_all(icon_view); } @@ -2263,7 +2271,7 @@ xfdesktop_icon_view_real_unselect_all(XfdesktopIconView *icon_view) static void xfdesktop_icon_view_real_select_cursor_item(XfdesktopIconView *icon_view) { - TRACE("entering"); + DBG("entering"); if(icon_view->priv->cursor) xfdesktop_icon_view_select_item(icon_view, icon_view->priv->cursor); @@ -2272,7 +2280,7 @@ xfdesktop_icon_view_real_select_cursor_item(XfdesktopIconView *icon_view) static void xfdesktop_icon_view_real_toggle_cursor_item(XfdesktopIconView *icon_view) { - TRACE("entering"); + DBG("entering"); if(!icon_view->priv->cursor) return; @@ -2286,7 +2294,7 @@ xfdesktop_icon_view_real_toggle_cursor_item(XfdesktopIconView *icon_view) static gboolean xfdesktop_icon_view_real_activate_cursor_item(XfdesktopIconView *icon_view) { - TRACE("entering"); + DBG("entering"); if(!icon_view->priv->cursor) return FALSE; @@ -2651,7 +2659,7 @@ xfdesktop_icon_view_setup_grids_xinerama(XfdesktopIconView *icon_view) GdkRectangle *monitor_geoms, cell_rect; gint nmonitors, i, row, col; - TRACE("entering"); + DBG("entering"); gscreen = gtk_widget_get_screen(GTK_WIDGET(icon_view)); @@ -2690,7 +2698,7 @@ xfdesktop_icon_view_setup_grids_xinerama(XfdesktopIconView *icon_view) g_free(monitor_geoms); - TRACE("exiting"); + DBG("exiting"); } @@ -2800,7 +2808,7 @@ xfdesktop_icon_view_invalidate_icon(XfdesktopIconView *icon_view, g_return_if_fail(icon); - /*TRACE("entering (recalc=%s)", recalc_extents?"true":"false");*/ + /*DBG("entering (recalc=%s)", recalc_extents?"true":"false");*/ /* we always have to invalidate the old extents */ if(xfdesktop_icon_get_extents(icon, NULL, NULL, &extents)) { @@ -3131,7 +3139,7 @@ xfdesktop_icon_view_paint_icon(XfdesktopIconView *icon_view, gint16 row, col; #endif - TRACE("entering, (%s)(area=%dx%d+%d+%d)", xfdesktop_icon_peek_label(icon), + DBG("entering, (%s)(area=%dx%d+%d+%d)", xfdesktop_icon_peek_label(icon), area->width, area->height, area->x, area->y); playout = icon_view->priv->playout; @@ -3182,7 +3190,7 @@ xfdesktop_icon_view_paint_icon(XfdesktopIconView *icon_view, #ifdef G_ENABLE_DEBUG xfdesktop_icon_get_position(icon, &row, &col); - TRACE("painting pixbuf at %dx%d+%d+%d (row %d ,col %d)", + DBG("painting pixbuf at %dx%d+%d+%d (row %d ,col %d)", pixbuf_extents.width, pixbuf_extents.height, pixbuf_extents.x, pixbuf_extents.y, row, col); @@ -3222,7 +3230,7 @@ xfdesktop_icon_view_paint_icon(XfdesktopIconView *icon_view, sh_text_col); } - TRACE("painting text at %dx%d+%d+%d", + DBG("painting text at %dx%d+%d+%d", text_extents.width, text_extents.height, text_extents.x, text_extents.y); @@ -3313,7 +3321,7 @@ xfdesktop_move_all_cached_icons_to_desktop(XfdesktopIconView *icon_view) GList *l, *leftovers = NULL; XfdesktopFileIconManager *fmanager = NULL; - TRACE("entering"); + DBG("entering"); if(XFDESKTOP_IS_FILE_ICON_MANAGER(icon_view->priv->manager)) fmanager = XFDESKTOP_FILE_ICON_MANAGER(icon_view->priv->manager); @@ -3370,7 +3378,7 @@ xfdesktop_move_all_previous_icons_to_desktop(XfdesktopIconView *icon_view) { GList *l, *leftovers = NULL; - TRACE("entering"); + DBG("entering"); /* add all pending icons back if their space is still available */ for(l = icon_view->priv->pending_icons; l; l = l->next) { @@ -3400,7 +3408,7 @@ xfdesktop_append_all_pending_icons(XfdesktopIconView *icon_view) { GList *l, *leftovers = NULL; - TRACE("entering"); + DBG("entering"); /* add all pending icons back if space is available */ for(l = icon_view->priv->pending_icons; l; l = l->next) { |