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;
#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;
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;
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);
}
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;
}
}
else
{
+ tree_view->priv->drag_device = gdk_drag_context_get_device (context);
add_scroll_timeout (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);
{
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);