X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=src%2Fui%2Fgui%2Fpspp-sheet-view.c;h=e2ca708cf6176c29c130c4cf12a3cf5701c22758;hb=70702237d6765a3cc276e952919211387eeee87c;hp=283e8ca619d4748b2765e6b6e3773bed9d99083c;hpb=2dcb83889deb00c0e53d9e6f7d9693b56f8107a3;p=pspp diff --git a/src/ui/gui/pspp-sheet-view.c b/src/ui/gui/pspp-sheet-view.c index 283e8ca619..e2ca708cf6 100644 --- a/src/ui/gui/pspp-sheet-view.c +++ b/src/ui/gui/pspp-sheet-view.c @@ -3199,7 +3199,7 @@ pspp_sheet_view_motion_resize_column (GtkWidget *widget, column = pspp_sheet_view_get_column (tree_view, tree_view->priv->drag_pos); if (event->is_hint || event->window != gtk_widget_get_window (widget)) - gtk_widget_get_pointer (widget, &x, NULL); + gdk_device_get_position (event->device, NULL, &x, NULL); else x = event->x; @@ -3565,7 +3565,7 @@ pspp_sheet_view_update_rubber_band_selection (PsppSheetView *tree_view) #define GDK_RECTANGLE_PTR(X) ((GdkRectangle *)(X)) static void -pspp_sheet_view_update_rubber_band (PsppSheetView *tree_view) +pspp_sheet_view_update_rubber_band (PsppSheetView *tree_view, GdkDevice *device) { gint x, y; cairo_rectangle_int_t old_area; @@ -3579,7 +3579,7 @@ pspp_sheet_view_update_rubber_band (PsppSheetView *tree_view) old_area.width = ABS (tree_view->priv->rubber_band_x - tree_view->priv->press_start_x) + 1; old_area.height = ABS (tree_view->priv->rubber_band_y - tree_view->priv->press_start_y) + 1; - gdk_window_get_pointer (tree_view->priv->bin_window, &x, &y, NULL); + gdk_device_get_position (device, NULL, &x, &y); x = MAX (x, 0); y = MAX (y, 0) + tree_view->priv->dy; @@ -3712,14 +3712,14 @@ pspp_sheet_view_motion_bin_window (GtkWidget *widget, return FALSE; gtk_grab_add (GTK_WIDGET (tree_view)); - pspp_sheet_view_update_rubber_band (tree_view); + pspp_sheet_view_update_rubber_band (tree_view, event->device); tree_view->priv->rubber_band_status = RUBBER_BAND_ACTIVE; } else if (tree_view->priv->rubber_band_status == RUBBER_BAND_ACTIVE) { - pspp_sheet_view_update_rubber_band (tree_view); - + pspp_sheet_view_update_rubber_band (tree_view, event->device); + tree_view->priv->drag_device = event->device; add_scroll_timeout (tree_view); } @@ -5826,7 +5826,9 @@ scroll_row_timeout (gpointer data) pspp_sheet_view_vertical_autoscroll (tree_view); if (tree_view->priv->rubber_band_status == RUBBER_BAND_ACTIVE) - pspp_sheet_view_update_rubber_band (tree_view); + { + pspp_sheet_view_update_rubber_band (tree_view, tree_view->priv->drag_device); + } return TRUE; } @@ -6276,6 +6278,7 @@ pspp_sheet_view_drag_motion (GtkWidget *widget, } else { + tree_view->priv->drag_device = gdk_drag_context_get_device (context); add_scroll_timeout (tree_view); } @@ -8554,7 +8557,7 @@ pspp_sheet_view_ensure_interactive_directory (PsppSheetView *tree_view) gtk_widget_show (frame); gtk_container_add (GTK_CONTAINER (tree_view->priv->search_window), frame); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_show (vbox); gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_container_set_border_width (GTK_CONTAINER (vbox), 3); @@ -12410,7 +12413,6 @@ pspp_sheet_view_real_start_editing (PsppSheetView *tree_view, { PsppSheetSelectionMode mode = pspp_sheet_selection_get_mode (tree_view->priv->selection); gint pre_val = gtk_adjustment_get_value (tree_view->priv->vadjustment); - GtkRequisition requisition; gint row; g_return_if_fail (gtk_tree_path_get_depth (path) == 1);