Fixed problem when double clicking on column header
authorJohn Darrington <john@darrington.wattle.id.au>
Sun, 30 Nov 2008 03:06:40 +0000 (12:06 +0900)
committerJohn Darrington <john@darrington.wattle.id.au>
Sun, 30 Nov 2008 03:06:40 +0000 (12:06 +0900)
lib/gtksheet/gtksheet.c
src/ui/gui/psppire-data-editor.c

index 194bf25e9dcbf8307d0bca047927d747305b73e3..010778c7eb2cf5d65d947f0c896d54355cdd2a91 100644 (file)
@@ -2582,8 +2582,6 @@ change_active_cell (GtkSheet *sheet, gint row, gint col)
       gtk_sheet_range_draw (sheet, &r);
   }
 
-
-
   sheet->range.row0 = row;
   sheet->range.col0 = col;
   sheet->range.rowi = row;
index e08f414d9866602a0a707ccd529071dac97df6f3..d0a6b8088b67c6d17f0cce4fd479e0379889c6bd 100644 (file)
@@ -123,22 +123,27 @@ static void popup_cases_menu (GtkSheet *sheet, gint row,
 static gboolean
 on_data_column_clicked (PsppireDataEditor *de, gint col, gpointer data)
 {
-
+  GtkSheetRange visible_range;
   gint current_row, current_column;
 
-  gtk_notebook_set_current_page (GTK_NOTEBOOK (de), PSPPIRE_DATA_EDITOR_VARIABLE_VIEW);
+  gtk_notebook_set_current_page (GTK_NOTEBOOK (de),
+                                PSPPIRE_DATA_EDITOR_VARIABLE_VIEW);
 
   gtk_sheet_get_active_cell (GTK_SHEET (de->var_sheet),
                             &current_row, &current_column);
 
   gtk_sheet_set_active_cell (GTK_SHEET (de->var_sheet), col, current_column);
 
-  return FALSE;
-}
 
+  gtk_sheet_get_visible_range (GTK_SHEET (de->var_sheet), &visible_range);
 
+  if ( col < visible_range.row0 || col > visible_range.rowi)
+    gtk_sheet_moveto (GTK_SHEET (de->var_sheet), col, current_column, 0.5, 0.5);
 
 
+  return FALSE;
+}
+
 
 /* Callback which occurs when the var sheet's row title
    button is double clicked */
@@ -159,10 +164,7 @@ on_var_row_clicked (PsppireDataEditor *de, gint row, gpointer data)
   gtk_sheet_get_visible_range (GTK_SHEET (de->data_sheet[0]), &visible_range);
 
   if ( row < visible_range.col0 || row > visible_range.coli)
-    {
-      gtk_sheet_moveto (GTK_SHEET (de->data_sheet[0]),
-                       -1, row, 0, 0);
-    }
+    gtk_sheet_moveto (GTK_SHEET (de->data_sheet[0]), -1, row, 0.5, 0.5);
 
   return FALSE;
 }