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

Re[3]: [TSVN] Re: "Update to Revision" doesn't count as a modification

From: Fernando P. Nájera Cano <tortoisesvn_at_fernandonajera.com>
Date: 2006-05-10 17:35:14 CEST

Hi,

At miércoles, 10 de mayo de 2006, 11:55:23, you wrote:

SK> On 5/10/06, Hans-Emil Skogh <Hans-Emil.Skogh@tritech.se> wrote:

>> Having said that, I must wonder; Would it be possible to dynamically
>> allocate and deallocate overlay icon slots?

SK> No. Unfortunately not. That's what I first tried too.
SK> But the explorer/shell loads the overlay handlers on startup only. And
SK> those handlers only can return true/false to show the overlay or not.
SK> If they could return the icon to use as the overlay, that would be
SK> great! But unfortunately, it's not implemented that way.

I think there is another option. When you install Visual Studio .NET
2003 and 2005, the .sln files get associated to something? that makes
the icon to change depending on the contents! If .sln file is from
2003, there is one icon with "7.1" on it, and if it is from 2005,
there is another one with "8".

I was a little curious and tried to trace it down (well, my knowledge
of Windows internals is limited, so I just did it up to a point) and I
found this (hope my email program will let you see this right):

[HKEY_CLASSES_ROOT\.sln]
@="VisualStudio.Launcher.sln"
"Content Type"="text/plain"

[HKEY_CLASSES_ROOT\.sln\OpenWithList]

[HKEY_CLASSES_ROOT\.sln\OpenWithList\devenv.exe]
@=""

[HKEY_CLASSES_ROOT\.sln\OpenWithProgids]
"VisualStudio.Solution.7.1"=""
"VisualStudio.Launcher.sln"=""

[HKEY_CLASSES_ROOT\.sln\OpenWithProgids\Shared_Key]
@="Keep this key from being removed on uninstall of SxS Components"

[HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln]
@="Microsoft Visual Studio Solution"
"InfoTip"="prop:Size;Type;DocComments;Write"
"TileInfo"="prop:Type;DocComments;Size"

[HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln\CLSID]
@="{1B2EEDD6-C203-4d04-BD59-78906E3E8AAB}"

[HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln\CurVer]
@="VisualStudio.Solution.8.0"

[HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln\Shell]

[HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln\Shell\Open]

[HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln\Shell\Open\Command]
@="\"C:\\Archivos de programa\\Archivos comunes\\Microsoft Shared\\MSEnv\\VSLauncher.exe\" \"%1\""

[HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln\ShellEx]

[HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln\ShellEx\IconHandler]
@="{9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8}"

[HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln\ShellEx\PropertyHandler]
@="{9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8}"

[HKEY_CLASSES_ROOT\CLSID\{9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8}]
@="VsShellExtHandler Class"

[HKEY_CLASSES_ROOT\CLSID\{9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8}\InprocServer32]
@="C:\\Archivos de programa\\Archivos comunes\\Microsoft Shared\\MSEnv\\VSFileHandler.dll"
"ThreadingModel"="Apartment"

[HKEY_CLASSES_ROOT\CLSID\{9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8}\ProgID]
@="VSFileHandler.VsShellExtHandler.1"

[HKEY_CLASSES_ROOT\CLSID\{9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8}\TypeLib]
@="{66B03540-8053-45DC-89EA-AC3589798088}"

[HKEY_CLASSES_ROOT\CLSID\{9A2B23E4-2A50-48DB-B3C3-F5EA12947CB8}\VersionIndependentProgID]
@="VSFileHandler.VsShellExtHandler"

So, that "VSFileHandler.dll" library seems to be able to provide an
icon for each different file.

It seems cool, but maybe there is a problem here. That dll is
attached to an specific class of files (sln) so the icon it provides
can be fully generated. The idea of TSVN overlays is to repect current
icons and add a symbol to them. I don't know if there is any way to
write a custom-made .dll that "guess" what the icon was for that type,
and modify it to add the overlay.

Anyway, if not to TSVN, this may be interesting to some other
projects.

Best regards,

Fernando Nájera

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Wed May 10 17:36:02 2006

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.