Commit 6a375ca8 authored by Tristan Tarrant's avatar Tristan Tarrant

Implemented some keyboard shortcuts. More to come.

Tristan
parent 39ce10e6
1998-08-31 Tristan Tarrant <ttarrant@etnoteam.it>
* TODO: some ideas for key shortcuts (from Excel :-)
* src/gnumeric-sheet.c (gnumeric_sheet_key): Implemented page up,
page down and home keys. They don't work for selections at the moment.
Implemented clear. It currently does a clear_all, but ideally it
should pop-up a dialog asking the user what kind of clear he/she wants,
as in Excel. Also clearing cells doesn't update the display.
1998-08-31 Miguel de Icaza <miguel@nuclecu.unam.mx>
* src/cell.c (cell_do_calc_dimensions): New routine that computes
......
1998-08-31 Tristan Tarrant <ttarrant@etnoteam.it>
* TODO: some ideas for key shortcuts (from Excel :-)
* src/gnumeric-sheet.c (gnumeric_sheet_key): Implemented page up,
page down and home keys. They don't work for selections at the moment.
Implemented clear. It currently does a clear_all, but ideally it
should pop-up a dialog asking the user what kind of clear he/she wants,
as in Excel. Also clearing cells doesn't update the display.
1998-08-31 Miguel de Icaza <miguel@nuclecu.unam.mx>
* src/cell.c (cell_do_calc_dimensions): New routine that computes
......
1998-08-31 Tristan Tarrant <ttarrant@etnoteam.it>
* TODO: some ideas for key shortcuts (from Excel :-)
* src/gnumeric-sheet.c (gnumeric_sheet_key): Implemented page up,
page down and home keys. They don't work for selections at the moment.
Implemented clear. It currently does a clear_all, but ideally it
should pop-up a dialog asking the user what kind of clear he/she wants,
as in Excel. Also clearing cells doesn't update the display.
1998-08-31 Miguel de Icaza <miguel@nuclecu.unam.mx>
* src/cell.c (cell_do_calc_dimensions): New routine that computes
......
1998-08-31 Tristan Tarrant <ttarrant@etnoteam.it>
* TODO: some ideas for key shortcuts (from Excel :-)
* src/gnumeric-sheet.c (gnumeric_sheet_key): Implemented page up,
page down and home keys. They don't work for selections at the moment.
Implemented clear. It currently does a clear_all, but ideally it
should pop-up a dialog asking the user what kind of clear he/she wants,
as in Excel. Also clearing cells doesn't update the display.
1998-08-31 Miguel de Icaza <miguel@nuclecu.unam.mx>
* src/cell.c (cell_do_calc_dimensions): New routine that computes
......
......@@ -35,6 +35,17 @@ GNOME Spread Sheet task list
Protection:
Bloqued/Hidden
** Keyboard shortcuts
We need to implement all of the useful key shortcuts. These are:
CTRL+SPACEBAR Select column
CTRL+A Select all
SHIFT+SPACEBAR Select row
Selection keys+CTRL Extend selection to boundary of worksheet
SHIFT+BACKSPACE Collapse selection to active cell
More...
* File Load/Save
Support for popular formats.
......@@ -173,4 +184,3 @@ PM/pm/p/p "AM", "am", "M" or "a" for the hours between midnight
If no indicator is used, the hour should be displayed in
the 24-hour format.
......@@ -188,7 +188,7 @@ move_cursor_horizontal (GnumericSheet *gsheet, int count)
new_left = sheet->cursor_col + count;
if (new_left < 0)
return;
new_left = 0;
move_cursor (gsheet, new_left, sheet->cursor_row, TRUE);
}
......@@ -209,7 +209,7 @@ move_cursor_vertical (GnumericSheet *gsheet, int count)
new_top = CURSOR_ROW (gsheet) + count;
if (new_top < 0)
return;
new_top = 0;
move_cursor (gsheet, sheet->cursor_col, new_top, TRUE);
}
......@@ -567,6 +567,23 @@ gnumeric_sheet_key (GtkWidget *widget, GdkEventKey *event)
(*movefn_vertical)(gsheet, 1);
break;
case GDK_Page_Up:
(*movefn_vertical)(gsheet, -(gsheet->last_visible_row-gsheet->top_row));
break;
case GDK_Page_Down:
(*movefn_vertical)(gsheet, gsheet->last_visible_row-gsheet->top_row);
break;
case GDK_Home:
(*movefn_horizontal)(gsheet, -CURSOR_COL(gsheet));
break;
case GDK_KP_Delete:
case GDK_Delete:
sheet_selection_clear (gsheet->sheet_view->sheet);
break;
case GDK_Tab:
case GDK_Return:
{
......
......@@ -188,7 +188,7 @@ move_cursor_horizontal (GnumericSheet *gsheet, int count)
new_left = sheet->cursor_col + count;
if (new_left < 0)
return;
new_left = 0;
move_cursor (gsheet, new_left, sheet->cursor_row, TRUE);
}
......@@ -209,7 +209,7 @@ move_cursor_vertical (GnumericSheet *gsheet, int count)
new_top = CURSOR_ROW (gsheet) + count;
if (new_top < 0)
return;
new_top = 0;
move_cursor (gsheet, sheet->cursor_col, new_top, TRUE);
}
......@@ -567,6 +567,23 @@ gnumeric_sheet_key (GtkWidget *widget, GdkEventKey *event)
(*movefn_vertical)(gsheet, 1);
break;
case GDK_Page_Up:
(*movefn_vertical)(gsheet, -(gsheet->last_visible_row-gsheet->top_row));
break;
case GDK_Page_Down:
(*movefn_vertical)(gsheet, gsheet->last_visible_row-gsheet->top_row);
break;
case GDK_Home:
(*movefn_horizontal)(gsheet, -CURSOR_COL(gsheet));
break;
case GDK_KP_Delete:
case GDK_Delete:
sheet_selection_clear (gsheet->sheet_view->sheet);
break;
case GDK_Tab:
case GDK_Return:
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment