Menu

#60 Copies paths incorrectly when on tree view, having been in list view

New
nobody
None
Medium
Defect
2009-05-26
2009-05-13
Anonymous
No

Originally created by: mprice....@gmail.com

Steps to reproduce the problem:
1. Select a folder in the tree view (eg C:\Program Files)
2. Tab into list view and select a folder (eg StExBar within C:\Program Files)
3. Tab back to tree view and invoke Copy Paths (eg C:\Program Files again)

Expected output would place "C:\Program Files" in the clipboard, rather
than "C:\Program Files\StExBar"!

Using v1.6.1 in WIndows XP SP3

Discussion

  • Anonymous

    Anonymous - 2009-05-14

    Originally posted by: tortoisesvn

    At least on Vista, tabbing to the tree view still leaves the selection in the list
    view intact (and the list view itself too), even if you change the selected tree item
    (with the cursor keys).
    Only pressing enter will change the selection.

    Also, there's no way (at least I haven't found one) to find out whether the tree view
    has focus or not.

     
  • Anonymous

    Anonymous - 2009-05-15

    Originally posted by: mprice....@gmail.com

    On WinXP too, tabbing to the tree view leaves the selection in the list view intact
    (but typically greyed rather than highlighted), but actions like double-click and
    right-click will operate on the folder rather than the file(s) and/or folder(s) in
    the list view.  I think if you change the selection in the tree view and
    pause/hesitate for a fraction of a second the new folder is displayed - the Enter key
    does not need to be pressed (distinct difference from WinVista).

    I'll have a bit of a poke myself, but I can see the sort of problem you face.
    Interestingly enough in AutoHotkey, I can tell which control (the tree or list view)
    currently has the focus, but I'm not sure I can reliably get the path (as users don't
    have to turn on the "full path in caption" or "full path in address bar" options.

    My underlying reason is that I'm trying to use TortoiseProc (the whole TortoiseSVN
    product is great by the way) by keyboard from WinExplorer.  I grew up using a
    keyboard rather than a mouse...!  All too often I've been working on a few files and
    then want to "step back" and consider the status of the whole folder or want to start
    committing all changes in that folder.  Maybe the real solution is for TortoiseSVN to
    provide configurable accelerators naturally rather than trying to bolt them on (by
    StExBar or AutoHotkey)...

     
  • Anonymous

    Anonymous - 2009-05-15

    Originally posted by: tortoisesvn

    My problem is that the shell interfaces don't reveal where the focus is or that the
    tree control has the focus. I can't even see a way to get the info from the tree view.

    You can check the code here:
    https://code.google.com/p/stexbar/source/browse/trunk/StExBar/src/ExPaths.cpp
    None of these interfaces have a method I could use (I tried even IOleWindow and
    comparing the HWND handles).

    If you have any ideas, please tell me!

     
  • Anonymous

    Anonymous - 2009-05-26

    Originally posted by: mprice....@gmail.com

    Matthijs Hollemans's article on CodeProject
    (http://www.codeproject.com/KB/shell/wildcardselect.aspx) may offer a clue (I'm not
    up for C++ changes at this time).

    In his source code, wildcardselect.zip\CtxMenu.cpp\QueryContextMenu() method, he
    calls ::GetFocus() and then calls ::GetClassName(wnd, wndClass, MAX_WNDCLASS) and
    compares the wndClass result to see if it's SysListView32 or not, but I suspect that
    it could be compared with SysTreeView32 - I know it's not very "interface", but it
    might give the correct answer...

     
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.