fava icon indicating copy to clipboard operation
fava copied to clipboard

Faster transaction inserting: Add keyboard shortcuts for faster navigation between fields

Open pmarciniak opened this issue 4 years ago • 3 comments

For folks like me, who use the manual transaction inserting tool a lot, it would be a great time saver if one didn't have to rely on repetitively hitting tab and shift-tab to navigate between fields of the transaction insert dialog.

I think the biggest bang for the buck would come from the following shortcuts:

  • jump directly to the date field
  • jump directly to the Amount field of the first posting
  • move the focus left/right/up/down between the fields Account and Amount fields of all the postings
  • switch transaction flag between '*' and '!'

pmarciniak avatar Aug 29 '20 16:08 pmarciniak

Which keyboard shortcuts would you suggest? How would they be discoverable for the user?

yagebu avatar Oct 25 '20 17:10 yagebu

Fava already shows shortcuts when the user types '?'. The transaction inserting dialog could use the same mechanism for discoverability and quick reminder. As to the shortcuts themselves, I think combinations of alt/cmd+letters would suffice. Note that simple letter combinations like in the main Fava UI wouldn't work, as most of the time the user would have a text box in focus.

pmarciniak avatar Nov 22 '20 13:11 pmarciniak

How about having a shortcut to toggle various transaction dates and other convenient shortcuts. For example:

  • Alt/Shift T toggles the date between the current date (the default) and the date of the last entered transaction.
  • Alt/Shift M could move the transaction date one month ahead or backwards. (Alt/Shift D respectively for days). This would be great for certain types of recurring payments.
  • Alt/Shift N Save&Add New
  • Alt/Shift C Cycle through the last three entry texts, for example: "Gas Station Inc" could cycle through "Food", "Gas", "Newspapers" in the text. The corresponding account would cycle through "Expenses::Food", "Expenses::Car", "Expenses::Research"

I could probably come up with a lot better examples given some time to think about it. A mechanism like that would massively speed up manual input.

yogiparish avatar Jan 29 '22 07:01 yogiparish