Page 2 of 3

Posted: 17 Jun 2005 19:57
by diarrhio
admin wrote:It's not done yet. I have to take another route for performance reasons.
A few things.
1) Are you sure the performance issues you are seeing are from icon rendering, or from the fact that TortoiseSVN is always, in the background, comparing your files with it's "base" files to see if they are different. This involves lots of disk activity, though, in normal use, it doesn't affect perfomance much at all (adds about 1/8 second to update times).

2) Have you seen SHGetIconOverlayIndex - I don't know what this does. It seems to take a path to an icon file, and I don't know how that relates to what we are trying to do at all. Might be worth looking at.

Thanks again.

Posted: 18 Jun 2005 09:39
by admin
It's not only performance but also style. For example, DrawIcon cannot draw ghosted style (needed for hidden and cut items), but Explorer does draw the underlays ghosted (not the overlays though). So there must be a way to determine the index.
diarrhio wrote:2) Have you seen SHGetIconOverlayIndex - I don't know what this does. It seems to take a path to an icon file, and I don't know how that relates to what we are trying to do at all. Might be worth looking at.
Yes, I already mentioned it in my last post: SHGetIconOverlayIndex does return 0 always. Info on the net is extremely scarce -- you get the impression that nobody ever used SHGetIconOverlayIndex successfully. I'm unsure what means "path to an icon file", is that the file that has the icon or the file that is the icon (resource)? I tried only the former because there is no resource file.

Posted: 10 Nov 2005 06:03
by cycletronic
I just wanted to add this to my wanted list. Another use for icon overlays is for shortcuts. Whenever you create a windows shortcut, it uses an overlay to show that it is a shortcut.

I know you've got this in the works for V4 at least.

The addition of overlay support (so Tortoise SVN works completely) will make this explorer-replacement awesome awesome awesome. Well, it already is, but it will make it even more awesome.

Keep up the good work!

Posted: 10 Nov 2005 10:23
by admin
cycletronic wrote:The addition of overlay support...
I'm ready for it the moment I find out how to do it. But believe me, I researched real hard on this, and no success :cry: Displaying simple link overlays is kind of built-in to the OS and hence no problem. But this Tortoise thing is tougher...

Posted: 12 Nov 2005 09:08
by thanksforfish
Just wanted to feedback that this feature is also very important to me as I am a subversion user too. By the way tortoiseCVS also uses overlays.

Aside from this I have found tracker to be one of the best alternative file managers out there. Thanks.

Posted: 12 Nov 2005 18:08
by admin
FYI: the problem I have is not the overlaying itself, but to find out what's the overlay icon's current index in the system image list.

Posted: 13 Nov 2005 03:22
by cycletronic
Just so I understand your issue exactly...
You can display the overlays just fine, but you're having trouble finding out from Tortoise SVN/CVS which icon needs to be displayed. I can start digging around and see what I can find. I also am a coder, although I'm terrible when it comes to windows COM stuff.

Posted: 13 Nov 2005 05:33
by cycletronic
Here's what I've found so far. These may or may not be useful.

http://www.codeproject.com/shell/overlayicon.asp

Registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

The TortoiseSVN icons are located at that registry key. Browse to it and check them out.

If you've already found these, and they're not what you need, explain just a little more what exactly it is that you do need.

Posted: 13 Nov 2005 05:38
by cycletronic
And here are some google keywords that may have some other useful links:
site:msdn.microsoft.com icon overlay

Posted: 13 Nov 2005 08:12
by admin
cycletronic wrote:Here's what I've found so far. These may or may not be useful.

http://www.codeproject.com/shell/overlayicon.asp

...
Thank you, I have not seen this example yet. Will check later. I you find more (especially in VB, 'cause TV3 is written in VB), let them come.

Posted: 14 Nov 2005 17:39
by cycletronic
Here's a possible VB example:
http://btmtz.mvps.org/treeview/

Scroll to the bottom of the page.

Posted: 14 Nov 2005 18:21
by admin
cycletronic wrote:Here's a possible VB example:
http://btmtz.mvps.org/treeview/

Scroll to the bottom of the page.
I know it. Works only for standard overlays (Link, Share).

Posted: 14 Nov 2005 18:51
by cycletronic
For the above VB example, have you tried playing with these values?

Code: Select all

Public Enum TVItemOverlayIndices
  tvoNoOverlay = 0
  tvoShareOverlay = 1
  tvoShortcutOverlay = 2
End Enum
perhaps adding some values?

Posted: 14 Nov 2005 19:06
by admin
cycletronic wrote:For the above VB example, have you tried playing with these values?
Yes, sure. I tried so many things that I'm not going to start again without a very good plan (which should be a working sample code, for example...).

Posted: 05 Dec 2005 11:09
by admin
cycletronic wrote:The addition of overlay support (so Tortoise SVN works completely) will make this explorer-replacement awesome awesome awesome. Well, it already is, but it will make it even more awesome.
The addition happened!!! :D