Quicklook für 4Dbase-Pakete mit Versionsnummer

english preferred
Ende Oktober habe ich beschrieben, wie man in Mac OS X die Preview-Darstellung einer 4D-App attraktiver gestaltet.

Ich stelle das Verfahren inzwischen um von statischen PNGs auf SVG-Templates. Die zur Laufzeit mit der aktuellen Versionsnummer meiner Anwendung versehen und dann als Preview.png im Ordner „Quicklook“ landen.

Quicklook mit Versions-Nr
Quicklook mit Versions-Nr

So sieht dann ein Logo aus:

Dazu setze ich beim Runterfahren der 4D-App die Versionsnummer hoch und erzeuge das PNG. Hier der Code dazu:
Path_Names („SVG_Preview“;->$Path)
DOCUMENT TO BLOB($Path;$inter_X)
$receivedText:=Convert to text($inter_X;“utf-8″)
PROCESS 4D TAGS($receivedText;$processedText)
$rootRef:=DOM Parse XML variable($processedText)
SVG EXPORT TO PICTURE($rootRef;$interPict;Copy XML Data Source)
DOM CLOSE XML($rootRef)
Case of
: ($what=“@_PNG“)
$codec:=“.png“
: ($what=“@_JPG“)
$codec:=“.jpg“
Else
// nothing
End case
If ($codec#““)
Path_Names („Quicklook_Preview“;->$Path)
CONVERT PICTURE($interPict;$codec)
WRITE PICTURE FILE($path;$interPict;$codec)
End if

Der Clou ist, ich male mir das App-Bild in Sketch und setze dort ein Text-Element ein, das ich mit dem Platzhalter „Version“ fülle. Dann exportiere ich das App-Bild als SVG, öffne das SVG mit einem Text-Editor und ersetze den Platzhalter „Version“ mit einem 4D-Tag <!–4DTEXT myAppVersion–>. PROCESS 4D TAGS macht den Rest.

lieber auf deutsch
End of October I described, how to enhance the Finder-display of a 4D-app, using Quicklook-preview.

Currently I’m reorganizing from static PNGs to SVG-templates. During Runtime the SVG gets the current version-nbr of my 4D-app and the picture is saved as Preview.png to folder „Quicklook“ in Resources.

Quicklook mit Versions-Nr
Quicklook with version-nbr

This might look like this:

Check the code of my implementation which runs just before On Exit:
Path_Names („SVG_Preview“;->$Path)
DOCUMENT TO BLOB($Path;$inter_X)
$receivedText:=Convert to text($inter_X;“utf-8″)
PROCESS 4D TAGS($receivedText;$processedText)
$rootRef:=DOM Parse XML variable($processedText)
SVG EXPORT TO PICTURE($rootRef;$interPict;Copy XML Data Source)
DOM CLOSE XML($rootRef)
Case of
: ($what=“@_PNG“)
$codec:=“.png“
: ($what=“@_JPG“)
$codec:=“.jpg“
Else
// nothing
End case
If ($codec#““)
Path_Names („Quicklook_Preview“;->$Path)
CONVERT PICTURE($interPict;$codec)
WRITE PICTURE FILE($path;$interPict;$codec)
End if

To get there, I paint an app-icon in Sketch and insert a text-element, wich is filled with the placeholder „Version“. After exporting the app-icon as SVG, I open the SVG with a text-editor and replace the placeholder „Version“ by this 4D-tag <!–4DTEXT myAppVersion–>. PROCESS 4D TAGS does the rest. Nice!