cvut / qtrvsim

RISC-V CPU simulator for education purposes
GNU General Public License v3.0
493 stars 65 forks source link

GUI: Add mnemoic shortcuts to main window menus #57

Closed MatejKafka closed 1 year ago

MatejKafka commented 1 year ago

Also change the File->Print hotkey to resolve a hotkey conflict.

Tested to work on Linux in WSL. I do not have access to MacOS, and compiling for Windows seems to be non-trivial, so I did not test it there, but I believe it should work the same.

TODO: Also add mnemoics to popup dialogs (at least the New Simulation window)

ppisa commented 1 year ago

Thanks for shortcuts addition. It would worth to be added but the shortcuts should be documented. It would worth to prepare actual list and then document final list. Their comparison can be used to thing about their importance and comparison with typical uses for other projects.

I see collision of shortcuts for "Close source" "Compile Source" in a proposal. As for print, it is questionable if it should be changed or do the change other way. Ctrl+P is probably quite common for print. On the other had, print is much less used than opening program view...

MatejKafka commented 1 year ago
  1. Documenting mnemonic shortcuts is not common, and they're easily discoverable, so I don't see a reason to document them. I think the only menu where "standard" mnemonics exist is the File menu, which respects the usual conventions, at least on Windows (N for New, O for Open, X for Exit,...). For the remaining menus, the first letter is usually preferred, and in case of conflict, the less common action either uses a letter with some intuitive association to the action, or the first available letter in the button text. One exception is the "Machine" menu, where I used "a" instead of "m", because "a" is easily reachable with one hand while holding the left Alt. If you have concrete menu items where you disagree with the assigned mnemonics, feel free to change them.

  2. Collision between "Close source" and "Compile source" is ok, they are located in different menus, not visible at the same time.

  3. I decided to change the Print hotkey, because unlike the Windows->Program hotkey, printing is not used much in QtRVSim (or at least, I don't see many users wanting to print out the machine state).

ppisa commented 1 year ago

Thanks for the contribution. There seems to be still one Ctrl+P conflict left, Pause vs. Program, but it is for the next round.

The state printing to PDF file is critical for courses materials preparation, but it is not so common task, so program memory has priority...