Laden...

[Suche]ExplorerControl mit SVN-OverlayIcons

Erstellt von yahoo vor 17 Jahren Letzter Beitrag vor 17 Jahren 6.150 Views
Y
yahoo Themenstarter:in
220 Beiträge seit 2004
vor 17 Jahren
[Suche]ExplorerControl mit SVN-OverlayIcons

Hallo,

ich suche ein Control für ein C#-Program, dass die OverlayIcons von SVN darstellt.
Der Enduser muss in meinem Programm Dateien auswählen können, die SVN z.B. als
geändert markiert hat. Am besten mit einer CheckBox zu jedem File so wie bei einem TreeList-Control.

Hat jemand eine Idee? Ggf. einen Workaround?

Vielen Dank,

Yahoo

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo yahoo,

warum nimmst du nicht TreeView?

herbivore

Y
yahoo Themenstarter:in
220 Beiträge seit 2004
vor 17 Jahren

Hallo,

die TreeView-Komponente habe ich mir angeschaut, aber ich sehe da keine
Möglichkeiten die SVN-OverlayBilder mit darzustellen. Der Baum wird manuel
aus der Verzeichnisstruktur zusammengesetzt und die .Net-Objekte wissen ja
nichts von dem SVN-Status bzw. dem OverlayBildern.

Habe ich etwas übersehen?

Gruß

Yahoo

PS: Verwendetes FW ist 1.1

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo yahoo,

und TreeView.ImageList?

herbivore

Y
yahoo Themenstarter:in
220 Beiträge seit 2004
vor 17 Jahren
Hmm...

Hallo,

ich nehme an, du meinst ich soll die OverlayIcons in die ImageList packen und dann über meine Einträge in der TreeView anzeigen lassen.

Gut, dachte ich erst auch, aber woher soll mein TreeView-Control wissen, dass die Datei "Changed.txt" in SVN als geändert angezeigt wird (und im WindowsExplorer mit einem OverlayIcon versehen ist)?

Gruß,

Yahoo

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo yahoo,

das ist aber eine ganz andere Frage, wie man die Information ermittelt und hat ja nichts damit zu tun, welches Control man verwendet. TreeView ist also schon das passende,. Jetzt musst du noch die nötige Zustandsinformation ermitteln.

herbivore

Y
yahoo Themenstarter:in
220 Beiträge seit 2004
vor 17 Jahren

Hallo,

Jetzt musst du noch die nötige Zustandsinformation ermitteln.

Genau das ist aber mein Problem. Ich weiß nicht, wie ich die Stati ermitteln kann. Darum suche ich ein Control, das die Explorer-Ansicht bietet, eben mit diesen OverlayIcons.

Gruß,

Yahoo

Gelöschter Account
vor 17 Jahren

das subversion legt in jedem von ihm kontrollierten ordner ein verstecktes systemfile ab das _svn heißt
in diesem gibt es einen unterorner der text-base heißt.
und genau da stehen die files wie sie im subversion sind. jetzt musst du nur noch ermitteln ob in den files unterschiede existieren und enstprechend handeln. jedoch musst du das alles manuell machen. ein control das dir die arbeit abnimmt gibt es leider meines wissens noch nicht aber es wäre nett wenn du dieses control veröffentlichen würdest wenn du es fertig bekommst.

Y
yahoo Themenstarter:in
220 Beiträge seit 2004
vor 17 Jahren

Hallo,

hab ich fast vermutet, dass es so etwas nicht gibt.
Bin noch nicht sicher, ob das Control so von mir erstellt wird.
Tja, schade. Aber danke noch mal für eure Antworten!

Gruß,

Yahoo

Gelöschter Account
vor 17 Jahren

naja meine genannte möglichkeit zu realisieren ist nicht allzu schwer.

Y
yahoo Themenstarter:in
220 Beiträge seit 2004
vor 17 Jahren

Hallo,

dein Vorschlag ist bestimmt nicht all zu schwer umzusetzten, aber ich wollte
vorher sicher gehen, das Rad nicht zwei mal zu erfinden....
Gruß,

Yahoo

T
433 Beiträge seit 2006
vor 17 Jahren

Hi,
schau dir mal
IconIndex in der Registry
Icon.ExtractAssociatedIcon Method
an.

Wenn du über die ImageList gehst, vergiss aber nicht die Farbtiefe auf 32Bit umzustellen.

Gruß,
Tom

Y
yahoo Themenstarter:in
220 Beiträge seit 2004
vor 17 Jahren

Hallo Tom,

danke für deine Antwort, aber dein Vorschlag kann ich leider nicht nutzen,
weil die Funktion erst im 2.0-FW verfügbar ist. Es bringt hier glaube ich auch
nichts, wenn ich das Icon extrahiere, weil SVN sein Teil des Icons "drüberlegt".

Gruß,

Yahoo

T
433 Beiträge seit 2006
vor 17 Jahren

Das mit der Framework Version hatte ich überlesen.

Ich habe es jetzt auch noch einmal getestet, weder mit Icon.ExtractAssociatedIcon noch mit der alten Methode SHGetFileInfo kommt man an die 'bearbeiteten' Icons.

Vielleicht gibt es ja die Möglichkeit über eine DLL von Tortoise zu gehen?

Edit:
Also ich weiss nicht wie Tortoise das macht.
Theoretisch müsste man über die Shell32 Funktion SHGetFileInfo an alles rankommen was Windows kennt.
Aber es scheint so das sich Tortoise da 'vorbeischmuggelt', da ich kein Icon mit den Tortoise Sachen bekomme (auch die Overlay Flags bringen nicht das gewünschte Icon).

Du könntest ja mal auf der Dev Mailinglist von Tortoise mal nachfragen ob dir da jemand behilflich sein könnte.

Gruß,
Tom

Y
yahoo Themenstarter:in
220 Beiträge seit 2004
vor 17 Jahren

Hallo,

danke für die Nachforschungen. Es scheint so als würden die Icons von SVN "on-the-fly" bearbeitet, also erst beim anzeigen mit dem OverlayIcon versehen.

Ich schau mal, wie ich das am Besten löse...

Gruß,

Yahoo

1.274 Beiträge seit 2005
vor 17 Jahren

Es gibt ein AddIn für Visual Studio das diese Funktion in VS abbildet, das Projekt ist soviel ich weis OpenSource und da gibt es ja die Quellen dazu. Schau dir an wie die das gelöst haben.

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

4.506 Beiträge seit 2004
vor 17 Jahren

Hallo LastGentleman,

das von Dir genannte AddIn heißt "Ankh", ist aber definitiv nicht empfehlenswert, das hat bei uns nur zu Fehlern geführt.

Deshalb haben wir uns dazu entschieden es nicht zu verwenden.

Gruß
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

1.274 Beiträge seit 2005
vor 17 Jahren

wie man sowas implementiert würde es reichen?

was ist den mit Anhk ->hab dafür eine neue Frage gestellt

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

Y
yahoo Themenstarter:in
220 Beiträge seit 2004
vor 17 Jahren

Hallo,

habe mir mal Ankh runtergeladen, werde mir mal anschauen, wie die
das erkennen, das die Datei geändert wurde.

Gruß,

Yahoo