START.applescript aktualisiert

showWelcomeDialogIfNeeded()
angepasst.
Ruft jetzt externen Handler in /Helpers/scripts/_text_about.scpt
This commit is contained in:
2026-08-18 10:08:11 +00:00
parent 8f029d9deb
commit 5ad8ca95ed
+34 -30
View File
@@ -234,50 +234,48 @@ on findConfigInCurrentDB()
set configRecord to my findChildByName(configGroupRecord, configRecordName) set configRecord to my findChildByName(configGroupRecord, configRecordName)
return configRecord return configRecord
end findConfigInCurrentDB end findConfigInCurrentDB
(* (*
showWelcomeDialogIfNeeded() showWelcomeDialogIfNeeded()
--------------------------- ---------------------------
Zeigt den Start-/Willkommensdialog an, falls die Konfiguration dies wünscht. Zeigt den Willkommensdialog beim Start an, falls konfiguriert (SHOW_README=true).
Ablauf: Ablauf:
1. Config-Datei relativ zur aktuellen Auswahl suchen 1. Config-Datei relativ zur aktuellen Auswahl suchen
2. Config-Datei lesen 2. Wert SHOW_README auslesen
3. Wert SHOW_README auslesen 3. falls SHOW_README=true -> Dialog mit "Nicht mehr anzeigen"-Option anzeigen
4. falls SHOW_README=true -> Hinweisdialog anzeigen 4. falls User "Diesen Dialog nicht mehr anzeigen" wählt:
5. falls User "Diesen Dialog nicht mehr anzeigen" wählt: -> SHOW_README auf false in der Config zurückschreiben
SHOW_README auf false in der Config zurückschreiben
Hinweis: Wichtig:
-------- --------
START.scpt führt selbst keine Einrichtung und keinen Versand durch. Der Dialog-Text wird aus Helpers/scripts/_text_about.scpt geladen.
Der Dialog ist nur eine Hilfe für Anwender:innen. So wird verhindert, dass buildAboutText() doppelt definiert ist.
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.
*) *)
on showWelcomeDialogIfNeeded() on showWelcomeDialogIfNeeded()
set configRecord to my findConfigInCurrentDB() set configRecord to my findConfigInCurrentDB()
if configRecord is missing value then return if configRecord is missing value then return
set cfgText to my recordText(configRecord) set cfgText to my recordText(configRecord)
set showReadmeVal to my configValue(cfgText, "SHOW_README") set showReadmeVal to my configValue(cfgText, "SHOW_README")
if showReadmeVal is missing value then return if showReadmeVal is missing value then return
set showReadmeLower to do shell script "printf %s " & quoted form of showReadmeVal & " | tr '[:upper:]' '[:lower:]'" set showReadmeLower to do shell script "printf %s " & quoted form of showReadmeVal & " | tr '[:upper:]' '[:lower:]'"
if showReadmeLower is not "true" then return if showReadmeLower is not "true" then return
set msgText to "Willkommen beim Belegversand, Version 1.4." & return & return & ¬ set basePath to (do shell script "echo ~") & "/Library/Application Scripts/com.devon-technologies.think/Menu/Belegversand"
"Mit dieser Funktion kannst du Dokumente aus dieser DEVONthink-Datenbank auswählen, in ein ZIP-Archiv packen und als Mail-Entwurf vorbereiten." & return & return & ¬ set textScript to basePath & "/Helpers/scripts/_text_about.scpt"
"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 & ¬ try
"README-Belegversand" & return & ¬ set loadedScript to load script (POSIX file textScript as alias)
"im Ordner:" & return & ¬ run loadedScript
"_config" 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") 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 if choice is "Diesen Dialog nicht mehr anzeigen" then
set newCfgText to "" set newCfgText to ""
repeat with oneLine in paragraphs of cfgText repeat with oneLine in paragraphs of cfgText
@@ -288,7 +286,7 @@ on showWelcomeDialogIfNeeded()
set newCfgText to newCfgText & lineText & return set newCfgText to newCfgText & lineText & return
end if end if
end repeat end repeat
tell application id "DNtp" tell application id "DNtp"
try try
set plain text of configRecord to newCfgText set plain text of configRecord to newCfgText
@@ -298,6 +296,7 @@ on showWelcomeDialogIfNeeded()
end tell end tell
end if end if
end showWelcomeDialogIfNeeded end showWelcomeDialogIfNeeded
(* (*
run run
--- ---
@@ -314,7 +313,12 @@ Dort wird geprüft:
- oder muss erst eingerichtet werden? - oder muss erst eingerichtet werden?
*) *)
on run on run
with timeout of 3600 seconds
my showWelcomeDialogIfNeeded()
my runSiblingScript(setupScriptName)
end timeout
end run
with timeout of 3600 seconds with timeout of 3600 seconds
my showWelcomeDialogIfNeeded() my showWelcomeDialogIfNeeded()