Dateiersetzen bestätigen (Dialog)

Hilfe zu verschiedenen Themen
Mazze45
Beiträge: 3
Registriert: 11. Apr 2024 17:06
Betriebssystem: Windows 11 Pro

Dateiersetzen bestätigen (Dialog)

Beitrag von Mazze45 »

Hallo

Ich arbeite viel mit Quake Texturen und muss öfters alte durch neue Daten ersetzen.

Problem: Die Vorschau Bilder im "Dateiersetzen bestätigen Dialog" sind sehr sehr klein gehalten, was ein vergleich fast unmoglich macht. Natürlich gibt es noch den Maus-over effect, der das Bild etwas vergrößert darstelt, aber eben nur ein Bild.

Währe es möglich, die Vorshau Bilder im "Dateiersetzen bestätigen Dialog" horizontal statt vertikal anzuordnen? Das würde die möglichkeit bieten die Bilder 3x größser darstustellen. Das Requester würde nur minimal breiter werden.
Benutzeravatar
Nobmen
Board Admin
Beiträge: 438
Registriert: 15. Okt 2021 18:43
Betriebssystem: Windows 10/11 Pro
DOpus Version: 13

Re: Dateiersetzen bestätigen (Dialog)

Beitrag von Nobmen »

nein, nicht möglich!
ein doppelklick auf das vorschaubild zeigt die originalgröße.
Benutzeravatar
Kundal
Moderator
Beiträge: 122
Registriert: 24. Okt 2021 18:02
Betriebssystem: Windows 10 Pro

Re: Dateiersetzen bestätigen (Dialog)

Beitrag von Kundal »

Der von dir genannte Dialog ist nicht editierbar.
Denkbar wäre, ein eigenes Skript zu schreiben, das das im Quellverzeichnis ausgewählte Bild, sowie das Bild mit gleichem Namen im Zielverzeichnis direkt in einem Dialog als Vorschau darstellt und dir die Wahl gibt, die Zieldatei ohne weitere Nachfrage zu überschreiben oder nicht und dann gleich die nächste Datei in der Quelle auswählt. Die Größe der Vorschaubilder könntest du dabei konfigurieren, indem du entsprechend skalierte temporäre Kopien der Bilder im Dialog darstellst.
Benutzeravatar
tbone
Supporter
Beiträge: 292
Registriert: 29. Okt 2021 00:45
Betriebssystem: Windows 10 Pro

Re: Dateiersetzen bestätigen (Dialog)

Beitrag von tbone »

Bekommt man ein eigenes "Compare-Ding" irgendwie integriert in den Replace-Dialog? Nobmen meint ja, nein, ich denke auch eher nicht, aber so als Menu-Eintrag oder wenn man irgendwohin klickt, das wäre doch ansich ein Leichtes einzubauen oder doch schon möglich? So ganz auf dem Laufenden bin ich gerade nicht, was die letzten Features und die Scripting-API angeht.

Ich denke mal, eine separate Lösung, die man vor dem Copy/Move anschiebt wäre zwar denkbar, ist aber auch eher eine Notlösung, wäre schon "nice", wenn das richtig integriert wäre, mit einem Klick und nur in dem Fall, wenn man's auch braucht.

So ene Custom-Replace-Action-Integration würde ich glatt mal vorschlagen da drüben.. das ganze Replace/Unattended-Handling hat noch viel potential nach oben in DO. An allen anderen Ecken fällt mir Feature-technisch gar nicht mehr viel ein, aber bei den eigentlichen File-Operationen, da geht noch so einiges (was in der Praxis auch tatsächlich fehlt, wie man u.a. hier sieht).
Benutzeravatar
tbone
Supporter
Beiträge: 292
Registriert: 29. Okt 2021 00:45
Betriebssystem: Windows 10 Pro

Re: Dateiersetzen bestätigen (Dialog)

Beitrag von tbone »

Ah, ja.. doch.. da war doch was, es geht mit ReMaTa auf eines der Thumbnails!
Ich habe bei mir auch bereits einen Test-Eintrag da drin.. habe ich wohl schonmal mit herumgespielt! o)

https://resource.dopus.com/t/compare-fi ... og/42358/5

EDIT: Ich habe dem Thread mal noch einen Post hinzugefügt und gefragt wie es aussieht, ob man der Funktionalität ein bisschen mehr Oberfläche geben kann. Wenn wir uns hier alle nicht daran erinnern können, ist die irgendwie zu weit weg, zu unsichtbar integriert, dabei ist das ja ein wirkliches Top-Feature! o)
Benutzeravatar
Kundal
Moderator
Beiträge: 122
Registriert: 24. Okt 2021 18:02
Betriebssystem: Windows 10 Pro

Re: Dateiersetzen bestätigen (Dialog)

Beitrag von Kundal »

Wenn ich Mazze richtig verstanden habe, möchte er zwei Bilddateien mit identischem Dateinamen visuell vergleichen, um dann zu entscheiden ob er die alte Datei im Ziel durch die neue Datei aus der Quelle ersetzen möchte oder nicht. Ein Skript-Dialog, der zu einer in der Quelle ausgewählten Datei die Datei gleichen Namens im Ziel findet und beide Bilddateien in vernünftiger Größe im Dialog darstellt und die Option zum Ersetzen der Zieldatei durch die Quelldatei bietet, wäre dann das passende Instrument.
Der Dialog könnte dann etwa so aussehen ("Weiter" würde die nächste Datei in der Quelle auswählen):
Texturen vergleichen.png
Man könnte den Dialog natürlich noch durch weitere Informationen aufpimpen (Dateiname, Dateipfade, Originalgröße der Dateien etc.)
Benutzeravatar
tbone
Supporter
Beiträge: 292
Registriert: 29. Okt 2021 00:45
Betriebssystem: Windows 10 Pro

Re: Dateiersetzen bestätigen (Dialog)

Beitrag von tbone »

Ein Texture-Copy.. o)

Schön wäre, wenn Dein Demo-Dialog an DO einfach zurückgeben könnte "yes, replace" oder "no, don't copy/move" oder "mach' nichts, ich wähle selbst was im Replace-Dialog aus (Rename z.B.)". Die ersten beiden Rückgabewerte könnte DO nutzen um den eigentlichen Replace-Dialog dann auch gleich selber "weiterzudrücken".

Wenn man jetzt extra ein Texture-Copy baut, verliert man ja leider alles was in DO und dem Copy/Move schon engebaut ist (ADS + Timestamps kopieren, ACL updaten, Progress-Dialog, Unattended-Mode usw.. Je nachdem wie oft Mazze das braucht, kann sich der Aufwand lohnen, muss er selbst mal was zu sagen, vll reicht ja schon der Trigger auf Dein Vergleichs-Dialog aus dem Replace-Dialog, mir würde das für's erste schonmal reichen. Ich kopiere zwar oft Photos, aber muss selten "drüberbügeln".. o)
Benutzeravatar
Kundal
Moderator
Beiträge: 122
Registriert: 24. Okt 2021 18:02
Betriebssystem: Windows 10 Pro

Re: Dateiersetzen bestätigen (Dialog)

Beitrag von Kundal »

Hier mal die Minimalversion meines Skript-Vorschlags. Das Skript-Addin bietet den Schalterbefehl CompareImages und zeigt die in der Quelle ausgewählte Bilddatei und die Datei gleichen Namens im Ziel, skaliert auf 1024x1024 px, im Dialog an und bietet die Optionen, die Zieldatei zu ersetzen oder abzubrechen. Wenn keine Bilddatei ausgewählt ist oder keine Datei gleichen Namens im Ziel existiert gibt's ne Fehlermeldung. Dateiname und Originalgröße der Quelldatei werden im Dialog angezeigt. Mal sehen, ob das für Mazze45 ausreicht.
CompareImages.png
Dateianhänge
CompareImages.js.txt
(3.6 KiB) 20-mal heruntergeladen
Mazze45
Beiträge: 3
Registriert: 11. Apr 2024 17:06
Betriebssystem: Windows 11 Pro

Re: Dateiersetzen bestätigen (Dialog)

Beitrag von Mazze45 »

Hallo Kundal

Bin happy. Sieht nach dem aus, was ich gesucht habe. Nur habe ich keine kenntnisse von Skripts, wie sie eingebunden werden und ob man sie bei jeden Kopiervorgang aufrufen muss.
Benutzeravatar
Kundal
Moderator
Beiträge: 122
Registriert: 24. Okt 2021 18:02
Betriebssystem: Windows 10 Pro

Re: Dateiersetzen bestätigen (Dialog)

Beitrag von Kundal »

Die Datei CompareImages.js.txt nach /scripts kopieren oder in der Menüleiste unter Einstellungen den Befehl Skript installieren... nutzen und dann einen Schalter, Kontextmenüeintrag oder ein Tastenkürzel mit dem Schaltercode CompareImages erstellen.
Am normalen Kopiervorgang ändert der Schalter nichts. Damit kannst du erstmal nur eine einzelne Datei auswählen, von der du weißt, dass im Ziel eine Datei mit identischem Namen existiert, um dann zu entscheiden, ob du die alte Datei ersetzen willst.
Ein Skript, das mehrere markierte Dateien kopiert und nur bei identischen Dateien den Dialog öffnet würde ein aufwändigeres Skript erfordern, sollte aber machbar sein. Dafür wäre dann aber eher ein Experte wie tbone gefragt, weil meine Scripting-Kompetenzen eher beschränkt sind.
Benutzeravatar
tbone
Supporter
Beiträge: 292
Registriert: 29. Okt 2021 00:45
Betriebssystem: Windows 10 Pro

Re: Dateiersetzen bestätigen (Dialog)

Beitrag von tbone »

Vergleichstool Vorschlag "P4Merge".
Nutze ich bislang nur für Source-Code Files, aber bietet auch für Bilder Grundfunktionenen an. Leider kann man das Tool nicht mit anderen Rückgabewerten beenden, je nachdem ob man links oder rechts haben will oder so.

Das Tool kann z.B..
- reinzommen, scrollen, überblenden
- zeigt ein paar Metadaten
- Einzel- oder Doppelanzeige
- getrennter Zoom / Scroll
- Unterschiede hervorheben

Soll Deine Lösung Kundal nicht schlecht machen, hätte ich so fix mit Bordmitteln nicht hinbekommen, bin nicht so firm mit dem Dialog-Zeug von DO! o) Aber so einen Viewer mit diesen Features, will man vermutlich schon haben, was? Kriegst Du das auch hin? Mit Rückgabewert ob ich Links oder Rechts behalten will? Viel Arbeit! o) Doof, dass dieses P4Merge nicht OpenSource ist, könnte man vll was reinbauen noch. U.u. gibt's ja auch noch andere Tools die in Frage kommen, die Suche danach ist aber sehr müßig.. so viel Krempel da draußen, der dann aber konkret doch nicht taugt (weil falsche Plattform, nur Web, nur Nodejs usw..).
image.png
image.png
image.png (12.23 KiB) 273 mal betrachtet
Benutzeravatar
Kundal
Moderator
Beiträge: 122
Registriert: 24. Okt 2021 18:02
Betriebssystem: Windows 10 Pro

Re: Dateiersetzen bestätigen (Dialog)

Beitrag von Kundal »

Hmm, wenn man das weiterdenkt könnte man auch ein Skript konstruieren, das vor dem eigentlichen Kopiervorgang auf Bilddateien mit identischen Namen prüft und für diese den alternativen Ersetzen-Dialog (am besten mit den weiteren Ersetzen-Optionen wie Umbenennen alt/neu) zeigt, bevor alle anderen Dateien (mit dem normalen Ersetzen-Dialog) kopiert werden. Das könnte vielleicht sogar auch mit anderen Dateitypen wie Textdateien, für die Vorschaubilder erstellt werden können funktionieren.
Benutzeravatar
tbone
Supporter
Beiträge: 292
Registriert: 29. Okt 2021 00:45
Betriebssystem: Windows 10 Pro

Re: Dateiersetzen bestätigen (Dialog)

Beitrag von tbone »

Joar.. Textfiles würde ich vermutlich lieber als Text direkt vergleichen.. aber so als Pre-Runner-Lösung, ja.. kann man sich vorstellen. Dabei muss man aber immer im Vorfeld schon vermuten, dass es Konflikte geben wird (und den richtigen Button vorher drücken) und kann nicht einfach von irgendwo mal Copy / Paste machen.

Wenn man das Compare-Tool aber über den ReplaceDialog aufruft und es "keep left/right" unterstützt, könnte man nach Beenden des Compare-Tools auch ein Autohotkey Script anfeuern, welches sich den ReplaceDialog aus den offenen Fenstern herauspickt und dort dann den entsprechen Button für "Replace" bzw. "Skip" drückt. Das wäre dann zwar ziemlich zusammengestrickt, aber nahe an einer Komfort-Lösung, die auch wenig Vordenken und Vorkonfiguration braucht.

ps:
Wie man ein externes Vergleichstool oder auch Kundals Lösung in den ReplaceDialog einbettet kann man hier erfahren / nachlesen:
https://docs.dopus.com/doku.php?id=file ... place_menu

Menu Einstellungen -> Dateitypen -> Alle Dateien -> Ersetzen Menu usw..
Benutzeravatar
Kundal
Moderator
Beiträge: 122
Registriert: 24. Okt 2021 18:02
Betriebssystem: Windows 10 Pro

Re: Dateiersetzen bestätigen (Dialog)

Beitrag von Kundal »

Hi tbone, leider habe ich im Moment nicht die Zeit für eine "manische Scripting-Phase", die ich als autodidaktischer Versuch-und-Irrtum-Scripter bräuchte, um meinen Lösungsansatz umzusetzen. Bin gerade mitten in Renovierungsarbeiten und Umzugsvorbereitungen. Wenn ich irgendwann wieder mehr Luft habe könnte ich schon Spaß an der Aufgabe haben.
Ich dachte, du schüttelst sowas mal eben aus dem Ärmel. :D
Bei den externen Compare-Tools bin ich eher raus.
Benutzeravatar
Kundal
Moderator
Beiträge: 122
Registriert: 24. Okt 2021 18:02
Betriebssystem: Windows 10 Pro

Re: Dateiersetzen bestätigen (Dialog)

Beitrag von Kundal »

Wie man ein externes Vergleichstool oder auch Kundals Lösung in den ReplaceDialog einbettet kann man hier erfahren / nachlesen:
https://docs.dopus.com/doku.php?id=file ... place_menu

Menu Einstellungen -> Dateitypen -> Alle Dateien -> Ersetzen Menu usw..
Habe das mal mit meinem Scriptbefehl probiert. Da bekomme ich aber diese Fehlermeldung:

Code: Alles auswählen

 15.04.2024 09:34 CompareImages:  Fehler in Zeile 25, Position 2
 15.04.2024 09:34 CompareImages:  Das Objekt unterstützt diese Eigenschaft oder Methode nicht. (0x800a01b6)
Ich habe im Moment keine Idee, wie ich da den Dialog zum laufen bekomme. Sonst wäre das für Mazze vielleicht ein gangbarer Weg.
Antworten