DanShockley / FmClipTools

Tools for converting, modifying, and saving FileMaker Pro clipboard objects. Coded in AppleScript.
MIT License
30 stars 11 forks source link

Support FM 21 Themes #16

Open DanShockley opened 3 months ago

DanShockley commented 3 months ago

When the ability to copy a Theme to the clipboard was added (in FileMaker 19?), what was copied to the clipboard was unlike other object types - it had no data class, and AppleScript's "clipboard info" command saw nothing. Support was added in FmClipTools to handle this odd behavior. Apparently, in FileMaker 21, that behavior was changed to be more like the other objects. So, FmClipTools will need to be updated to check for either format, and it may not be obvious which destination format is desired - the script may need to ASK by default. The XML representation seems to be identical between v20 and v21.

Additional info: Clipboard type in 19 & 20: dyn.agk8u Clipboard type in 21: dyn.ah62d4rv4gk8zuxnyma

DanShockley commented 3 months ago

More details: FmClipTools currently works with the way FM 19 and 20 do them, which is UNLIKE all the normal snippet types (Field/CustomFunction/BaseTable/Script/Step/ValueList), which have a proper data class and data in the clipboard that AppleScript can see, and also unlike Custom Menus and Custom Menu Sets (straight XML). Instead, it has to use the AppleScript-Objective-C bridge to extract the clipboard, instead of AppleScript's native (and simpler) get the clipboard as… command.

But, in FM v21, Claris fixed that so now Themes behave properly. Of course, that means I need to update FmClipTools to properly support Themes from v21. Then, the question will be when converting from XML to FM objects, FmClipTools cannot know which version(s) of FM you want to target. One option would be to just ask the user, and then remember that (perhaps make a plist file for FmClipTools). Having a user preference file might relate to the discussion in Pull Request https://github.com/DanShockley/FmClipTools/pull/14. Anyone following this project have thoughts?

metalox commented 2 months ago

a plist file for FmClipTools

this sounds like a good way to go to me.