TextStudio Keyboard Architecture (12th June 2010)

Making my shabby, homebrew HTML editor work right is a pet project. Especially as I’m a bit of a keyboard junkie. The changes have improved nearly every aspect. I’l release them when they are “good and ready”.
The event architecture and centralising code are the main changes. I can now use Ctrl+Tab to switch between files while the Find/Replace Panel has focus. Shift+Alt+S to Save All now works in both those contexts as well. (The VB6 Menu Editor doesn’t support complex shortcuts, so I use the central keyboard handler for them.)
The architecture maintains state and tracks focus in a different way than before. There are a few bugs and regressions to iron out, such as a few keyboard shortcuts fire twice. A few of convenience features have to be re-implemented, such as copying the selected text to the Find box when focus is moved to it via Ctrl+F.
Keyboard Shortcuts in TextStudio
One of the interesting (well, interesting to me) aspects of this was documenting all of they keyboard shortcuts the application actually had. As these may change, I’ve decided to capture the whole lot as they stand this week.
Menu accelerators are not included since there’s a big Format menu with various submenus for producing HTML.
Key | Control | Purpose |
---|---|---|
Tab | Native | Next Control |
Del | Selection | Delete |
Properties | Context | Context Menu |
F1 | Menu | Help > About |
F5 | Menu | Insert Date |
F3 | Virtual | Edit > Find Next |
F6 | Virtual | Next Pane |
Shift+F3 | Virtual | Edit > Find Previous |
Shift+F4 | Menu | File > Close All |
Shift+F5 | Menu | Window > Cascade |
Shift+F6 | Virtual | Next Pane (not implemented) |
Shift+F7 | Menu | Window > Tile Vertically |
Shift+F8 | Menu | Window > Tile Horizontally |
Shift+F9 | Menu | Window > Arrange Icons |
Alt+Space | Native | Control Box |
Alt+- | Native | MDI Child Control Box (unsupported?) |
Alt+A | Virtual | Replace All |
Alt+C | Virtual | Replace (Textbox) |
Alt+D | Virtual | Find (Textbox) |
Alt+G | Virtual | Go To Line |
Alt+D | Virtual | Find (Textbox) |
Alt+L | Virtual | Line (Textbox) |
Alt+M | Virtual | Column (Textbox) |
Alt+N | Virtual | Find Next |
Alt+P | Virtual | Options (not implemented) |
Alt+R | Virtual | Replace |
Alt+S | Virtual | Find Previous |
Alt+T | Virtual | Apply To |
Shift+Alt+S | Menu | File > Save All |
Ctrl+A | Context Menu Extended | Edit > Select All |
Ctrl+B | Menu | View > Status Bar |
Ctrl+C | Menu | Edit > Copy |
Ctrl+D | Menu | File > Duplicate |
Ctrl+F | Menu | Edit > Find/Replace |
Ctrl+G | Menu | Edit > Go To Line |
Ctrl+M | Menu | File > Open Many |
Ctrl+N | Menu | File > New |
Ctrl+O | Menu | File > Open |
Ctrl+R | Menu | File > Reload |
Ctrl+S | Menu | File > Save |
Ctrl+T | Menu | View > Toolbar |
Ctrl+W | Menu Extended | File > Close |
Ctrl+V | Menu | Edit > Paste |
Ctrl+X | Menu | Edit > Cut |
Ctrl+Y | Menu | Edit > Delete Line |
Ctrl+Z | Native | Undo |
Ctrl+` | Menu Extended | View > Files Sidebar |
Ctrl+Tab | Native Extended | Next Window |
Ctrl+F3 | Selection | Edit > Find Next (not implemented) |
Ctrl+F5 | Menu | Window > Restore |
Ctrl+F6 | Native Extended | Next Window |
Ctrl+F7 | Menu | Window > Minimise |
Ctrl+F8 | Menu | Window > Maximise |
Ctrl+Shift+A | Context Menu Extended | Invert Selection |
Ctrl+Shift+S | Menu Extended | File > Save As |
Ctrl+Shift+Tab | Native Extended | Previous Window |
Ctrl+Shift+F6 | Native Extended | Previous Window |
Suppressed RichText32 Shortcuts
- Ctrl+Number
- Ctrl+Letter
- Alt+Key
- Ctrl+Shift+Key