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.

KeyControlPurpose
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