[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Keyboard shortcuts in log

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: 2007-10-09 19:37:12 CEST

Kloster Oddvar wrote:
> I've missed being able to maneuver around the log dialog using just the
> keyboard for some time, and finally decided to fix it myself. So, here's
> a patch that I hope you'll find useful.
> LogDlg:
> * Pressing Enter or doubleclicking on a log line opens the list of file
> diffs from previous rev. If just one file was modified in the rev, diffs
> the file directly instead.
> * Pressing Enter on a file in lower list opens diff from prev rev.
> FileDiffDlg:
> * Pressing Enter on a file opens diff, like doubleclick
> * First file in list is selected on open/refresh
> * Removed edit boxes showing URLs from tab sequence
> * Apparently bug fix: File list was not cleared when selecting a new
> from/to revision.

Thanks for the patch!
I have some comments though:
* we disabled the diff for doubleclicks a long time ago because
accidental doubleclicks (yes, they happen more often than you might
think) would lead to sometimes lengthy operations which the user didn't
wanted. So if you really want to do this, you'd have to add an option to
disable that feature - best in the "Dialogs 1" page under "Log
messages". Just move the "Progress", "Merge" and "Checkout" groups a
little bit down and you'll have enough space for another checkbox.
* you removed the tab stops from the edit boxes in the file diff dialog.
Why? Users still want to tab into those to copy the text from there.
* You used the OnOK handler for catching pressing Enter and then checked
for the focus. That's the wrong way! By doing this, you break tools that
send specific messages to our dialogs (e.g., remote control tools,
automation tools, ...). Instead, you should catch the NM_RETURN message
sent by the list control.

If you have the time, please change your patch accordingly.

> I tried to get the focus on the main list using SetFocus on dialog init,
> but this does not seem to work - this also goes for the LogDlg where
> this was already present. Would fix it if I knew how...

You have to return FALSE from OnInitDialog() to make this work.


   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Tue Oct 9 19:37:37 2007

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.