/**********************************************************************/
/*          cdp © Andreas Obländer, Idee: Clemens Reifenrath          */
/*                                                                    */
/*          cdp öffnet ein Window auf der Workbench unter             */
/*          Kick 2.0, in das Drawer-Icons, Project-Icon oder          */
/*          Volume-Icons abgelegt werden können.                      */
/*                                                                    */
/*          Bei Drawer und Volumes werden die Verzeichnisse           */
/*          rekursiv gescannt und alle DefaultProjects, die           */
/*          mit dem gesuchten übereinstimmen durch ein neues          */
/*          ersetzt.                                                  */
/*                                                                    */
/**********************************************************************/

Die  ursprüngliche Idee für dieses Programm kam von Clemens Reifenrath, den
es  nervte,  daß er, wenn er Fish-Disks komplett auf seine Platte kopierte,
immer die Meldung bekam "Cannot open your tool:  ':c/MuchMore'" wenn er ein
Dokfile lesen wollte.

Der  Wunsch  kam  also  auf ein Programm zu haben, das alle Defaultproject-
einträge  mit  dem  Pfad  ":c/muchmore" in solche mit dem Pfad "c:MuchMore"
umbenennt; genau das (und mehr ...) tut cdp.

Zur Beachtung:
--------------

Es  gibt  noch  eine Menge Sachen in dem Programm, die man hinsichtlich der
Programmierung,   Benutzerkomfort   und  Bedienung  verbessern  kann.   Das
Programm ist in der vorliegenden Version mehrfach getestet worden und macht
bereits das, wofür es geschrieben wurde.

Ich sehe nun eigentlich keinen Grund mehr, nur um des Programmierens Willen
an  dem  Programm herumzufeilen.  Der Sourcecode ist sowieso frei und jeder
kann noch etwas verbesseren.

Wenn  der  ausdrückliche  Wunsch  besteht,  mach  ich  mich noch mal an die
Arbeit.

Programmtechnisch  könnte  man  z.B.   auf  die Azteclibraryroutine scdir()
verzichten und statt dessen ExAll() von Kick 2.0 benutzen.  Der Scanvorgang
könnte abbrechbar gemacht werden.

Von der Benutzerfreundlichkeit her könnte ein Gadget eingeführt werden, das
den letzten Einlesevorgang, diesmal aber mit "Ersetzen" wiederholt...


Programmstart:
--------------

Cdp  kann  von  der  Workbench  oder vom CLI aus aufgerufen werden.  In der
derzeitigen  Version  werden  beim  Start von der Workbench keine Tooltypes
oder  WBargs  ausgewertet.   Der  Start  von der Workbench kommt also einem
Aufruf  vom  CLI aus ohne zusätzliche Parameter gleich.  Ein entsprechendes
Tool-Icon für cdp müsste man sich selber basteln.

Aufruf: cdp <altes DefaultProject> <neues DefaultProject>

Cdp  öffnet  ein  Window  auf  der  Workbench, das sich in seiner Größe dem
eingestellten Font anpasst (A3000-Benutzer oder Benutzer, die die WorkBench
im   Interlace  auf  haben,  werden  das  begrüssen;  allerdings  ist  ein
"Fontsensitives" Verhalten unter Kick 2.0 fast schon Pflicht)

Es werden drei Gadgets gezeichnet:

Das große Listviewgadget enthält eine Liste der beim letzten Einlesen
gefundenen DefaultProjects.

In dem Gadget darunter mit dem Label "Ersetze":

- kann  von  Hand ein DefaultProject einschließlich Pfadangabe eingetragen
  werden, nach dem beim nächsten Einlesen gesucht werden soll

- steht  der  Eintrag,  der  beim  CLI-Aufruf  des  Programms  als  "altes
  DefaultProject" übergeben wurde

- kann  durch  einen  Mausklick  ein DefaultProject aus der Liste der beim
  letzten Einlesen gefundenen DefaultProjects kopiert werden.

In dem Gadget mit dem Label "durch":

- kann  von  Hand ein DefaultProject einschließlich Pfadangabe eingetragen
  werden, das beim nächsten Einlesen die Defaultprojects ersetzt nach denen 
  gesucht werden soll.

- steht  der  Eintrag,  der  beim  CLI-Aufruf  des  Programms  als  "neues
  DefaultProject" übergeben wurde


Programmbedienung:
------------------

Beim  ersten  Start  ist das große List-Gadget noch leer.  Wenn man nun nur
einen  Überblick  gewinnen  möchte,  welche Defaultprojects sich so auf der
(z.B.) Festplatte befinden, kann man das gewünschte Volumeicon mit der Maus
im Fenster von cdp ablegen.

cdp  reagiert  derart,  daß  alle Verzeichnisse und deren Untervereichnisse
(und  deren  Unterverzeichnisse  usw  ..) durchsucht werden und die jeweils
gefundenen   Defaultprojects   in   einer   Liste  angezeigt  werden.   Der
Einlesevorgang  wird  dem  Benutzer  durch  die Mitteilung "Einlesen ...  "
deutlich gemacht.  Wenn nur ein einzelnes Project-Icon abgelegt wurde, wird
nur das Defaultproject dieses Icons angezeigt und ggf.  ersetzt.

Nach  erfolgtem  Einlesen  kann nun mit einem Mausklick ein Eintrag aus der
Liste  in  das  Gadget  "Ersetze" kopiert werden. In das Gadget "durch" muß
nun Pfad und Name des neuen Defaultprojects eingetragen werden.

Wenn  man  nun den zuletzt getätigten Einlesevorgang wiederholt, werden die
Defaultprojects beim Einlesen ersetzt.

Wenn  man  schon  beim  Programmstart  weiß,  daß  man  z.B.  wie oben alle
":c/MuchMore"   durch   "C:MuchMore"   ersetzten   möchte,  kann  man  cdp
folgendermaßen aufrufen:

cdp :c/MuchMore C:MuchMore

Die  Gadgets  im  Fenster von cdp sind entsprechend vorbesetzt und man kann
sofort  beginnen  die entsprechenden Drawer- oder Volume- oder ProjectIcons
in  das  Fenster  von  cdp  abzulegen.
Cdp unterstützt auch die sogenannte "erweiterte Auswahl", so daß es möglich
ist  mit Shift-Click mehrere Icons anzuwählen und alle gemeinsam im Fenster
abzulegen.

Viel Spaß

                        Andreas



Bugs? Fragen?

        Andreas Obländer
        Dresdener Straße 10
        4650 Gelsenkirchen

        EMail: ANDREAS_OBLAENDER@HOT-II.ZER

