pspp-sheet-view: Draw vertical grid lines at far right of grid.
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 28 Jul 2013 23:47:40 +0000 (16:47 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 28 Jul 2013 23:49:05 +0000 (16:49 -0700)
src/ui/gui/pspp-sheet-view.c

index 070d010880dcb54a65afdc0e207f96b83160ae97..cd4999301f6539a13d95dc21d5c32e050108b503 100644 (file)
@@ -3766,22 +3766,25 @@ pspp_sheet_view_draw_grid_lines (PsppSheetView    *tree_view,
   for (list = tree_view->priv->columns; list; list = list->next, i++)
     {
       PsppSheetViewColumn *column = list->data;
-
-      /* We don't want a line for the last column */
-      if (i == n_visible_columns - 1)
-       break;
+      gint x;
 
       if (! column->visible)
        continue;
 
       current_x += column->width;
 
-      if (current_x - 1 >= event->area.x
-          && current_x - 1 < event->area.x + event->area.width)
+      /* Generally the grid lines should fit within the column, but for the
+         last visible column we put it just past the end of the column.
+         (Otherwise horizontal grid lines sometimes stick out by one pixel.) */
+      x = current_x;
+      if (i != n_visible_columns - 1)
+        x--;
+
+      if (x >= event->area.x && x < event->area.x + event->area.width)
         gdk_draw_line (event->window,
                        tree_view->priv->grid_line_gc[GTK_WIDGET(tree_view)->state],
-                       current_x - 1, min_y,
-                       current_x - 1, max_y - min_y);
+                       x, min_y,
+                       x, max_y - min_y);
     }
 }