diff --git a/START.applescript b/START.applescript index 1785927..81edf90 100644 --- a/START.applescript +++ b/START.applescript @@ -234,50 +234,48 @@ on findConfigInCurrentDB() set configRecord to my findChildByName(configGroupRecord, configRecordName) return configRecord end findConfigInCurrentDB + (* showWelcomeDialogIfNeeded() --------------------------- -Zeigt den Start-/Willkommensdialog an, falls die Konfiguration dies wünscht. +Zeigt den Willkommensdialog beim Start an, falls konfiguriert (SHOW_README=true). Ablauf: 1. Config-Datei relativ zur aktuellen Auswahl suchen -2. Config-Datei lesen -3. Wert SHOW_README auslesen -4. falls SHOW_README=true -> Hinweisdialog anzeigen -5. falls User "Diesen Dialog nicht mehr anzeigen" wählt: - SHOW_README auf false in der Config zurückschreiben -Hinweis: +2. Wert SHOW_README auslesen +3. falls SHOW_README=true -> Dialog mit "Nicht mehr anzeigen"-Option anzeigen +4. falls User "Diesen Dialog nicht mehr anzeigen" wählt: + -> SHOW_README auf false in der Config zurückschreiben + +Wichtig: -------- -START.scpt führt selbst keine Einrichtung und keinen Versand durch. -Der Dialog ist nur eine Hilfe für Anwender:innen. -Er verweist auf die interne README-Datei in _config. -Bewusst einfach: ----------------- -Es gibt hier nur zwei Buttons: -- "Weiter" -- "Diesen Dialog nicht mehr anzeigen" -Die README wird nicht direkt aus dem Dialog geöffnet. +Der Dialog-Text wird aus Helpers/scripts/_text_about.scpt geladen. +So wird verhindert, dass buildAboutText() doppelt definiert ist. *) on showWelcomeDialogIfNeeded() set configRecord to my findConfigInCurrentDB() if configRecord is missing value then return - + set cfgText to my recordText(configRecord) set showReadmeVal to my configValue(cfgText, "SHOW_README") if showReadmeVal is missing value then return - + set showReadmeLower to do shell script "printf %s " & quoted form of showReadmeVal & " | tr '[:upper:]' '[:lower:]'" if showReadmeLower is not "true" then return - - set msgText to "Willkommen beim Belegversand, Version 1.4." & return & return & ¬ - "Mit dieser Funktion kannst du Dokumente aus dieser DEVONthink-Datenbank auswählen, in ein ZIP-Archiv packen und als Mail-Entwurf vorbereiten." & return & return & ¬ - "Anschließend können die verarbeiteten Dokumente mit dem Tag 'gesendet' markiert werden. Der Versand wird zusätzlich in Protokolldateien dokumentiert." & return & return & ¬ - "Hinweise zur Einrichtung und Benutzung findest du in der Datei:" & return & ¬ - "README-Belegversand" & return & ¬ - "im Ordner:" & return & ¬ - "_config" - + + set basePath to (do shell script "echo ~") & "/Library/Application Scripts/com.devon-technologies.think/Menu/Belegversand" + set textScript to basePath & "/Helpers/scripts/_text_about.scpt" + + try + set loadedScript to load script (POSIX file textScript as alias) + run loadedScript + set msgText to (tell loadedScript to buildAboutText()) + on error errMsg + display dialog "Fehler beim Laden des About-Textes:" & return & errMsg buttons {"OK"} + return + end try + set choice to button returned of (display dialog msgText buttons {"Diesen Dialog nicht mehr anzeigen", "Weiter"} default button "Weiter") - + if choice is "Diesen Dialog nicht mehr anzeigen" then set newCfgText to "" repeat with oneLine in paragraphs of cfgText @@ -288,7 +286,7 @@ on showWelcomeDialogIfNeeded() set newCfgText to newCfgText & lineText & return end if end repeat - + tell application id "DNtp" try set plain text of configRecord to newCfgText @@ -298,6 +296,7 @@ on showWelcomeDialogIfNeeded() end tell end if end showWelcomeDialogIfNeeded + (* run --- @@ -314,7 +313,12 @@ Dort wird geprüft: - oder muss erst eingerichtet werden? *) on run - + with timeout of 3600 seconds + my showWelcomeDialogIfNeeded() + my runSiblingScript(setupScriptName) + end timeout +end run + with timeout of 3600 seconds my showWelcomeDialogIfNeeded()