[haiku-development] Re: Icon overlay in Tracker and MoleSVN

  • From: Stephan Aßmus <superstippi@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Tue, 07 Apr 2009 00:18:20 +0200

Hi,

On 2009-04-07 at 00:01:47 [+0200], pieter@xxxxxxxxx wrote:
> I was wondering if it is possible to add an overlay over an icon in 
> Tracker, just like TortoiseSVN does this in Windows explorer. I see that 
> the bar (space available on volume) is hardcoded in BPose::DrawBar of 
> Tracker. But maybe it is possible to just create an icon with only a 
> small part drawn, and to tell Tracker to lay it on top of the existing 
> icon?
> 
> The reason I ask this is that it would be cool to have functionality like 
> TortoiseSVN integrated (somehow) in Tracker. The project Molesvn attempts 
> svn integration as a tracker addon, but it doesn't really offer tight 
> integration and it crashes for me. It hasn't been updated since 2005... 
> http://www.bebits.com/app/4170 Maybe it can be updated.
> 
> If icons are not possible, perhaps a small daemon (like TortoiseSVN has) 
> could be used with node monitoring to create and update attributes for 
> all subversion-controlled files.
> 
> I'm just throwing out an idea I thought was kinda neat, I won't have time 
> to work on it for quite a while, unfortunately. Real life, etc...

I have not thought about this deeply, but one solution could be to invent 
icon overlay support via an additional icon file attribute. If the overlay 
icon attribute is there, Tracker will overlay the secondary icon. I mean, 
Tracker would have to be changed to behave that way. The overlay attribute 
could support both setting an actual icon, as well as setting an icon 
indirectly via a "type" or "named overlay". Another option is to create a 
more powerful Tracker plugin API and solve the problem that way. The last 
option is to actually modify the file icons. Similar to what NetPositive 
did during downloads, only it's not as easy now with the vector icons, 
since you need to use the private vector icon backend API to insert new 
graphics objects into the icons. Most files will not normally have an icon, 
so you would have to write a lot of icon attributes on files which would 
otherwise get an icon via their type. (I guess changing the file type to 
give it another icon is not an option.) Another interesting thing would be 
to extend the Haiku svn port to support file meta data in a more integrated 
way. For example, SVN already maintains a mime type for files under source 
control, in fact I think it supports arbitrary "properties" and versioning 
them just like file data. Yet the BeOS/Haiku port does not apply those on 
the files as attributes. If this was changed, svn could as well write 
special attributes to indicate the VC status. That way it would never get 
out of sync.

Best regards,
-Stephan

Other related posts: