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
Hallo yahoo,
warum nimmst du nicht TreeView?
herbivore
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
Hallo yahoo,
und TreeView.ImageList?
herbivore
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
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
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
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.
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
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
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
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
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
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
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
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!”
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
Hallo,
habe mir mal Ankh runtergeladen, werde mir mal anschauen, wie die
das erkennen, das die Datei geändert wurde.
Gruß,
Yahoo