diff --git a/external-note-diff/external-note-diff.qml b/external-note-diff/external-note-diff.qml new file mode 100644 index 0000000..ae5fc7f --- /dev/null +++ b/external-note-diff/external-note-diff.qml @@ -0,0 +1,44 @@ +import QtQml 2.0 +import QOwnNotesTypes 1.0 + +/** + * This script adds a menu entry to the context menu of the note list to diff selected notes in an external diff program + * The path of the diff program can be selected in the script settings of the script + */ +Script { + property string executablePath; + + // register your settings variables so the user can set them in the script settings + property variant settingsVariables: [ + { + "identifier": "executablePath", + "name": "Path of external diff program", + "description": "Please select the path to the executable:", + "type": "file", + "default": "kdiff3", + } + ]; + + /** + * Initializes the custom actions + */ + function init() { + script.registerCustomAction("externalNoteDiff", "Diff selected notes", "", "", false, true, true); + } + + /** + * This function is invoked when a custom action is triggered + * in the menu or via button + * + * @param identifier string the identifier defined in registerCustomAction + */ + function customActionInvoked(identifier) { + if (identifier != "externalNoteDiff") { + return; + } + + // start the diff programm with the selected note paths as parameters + var params = script.selectedNotePaths(); + script.startDetachedProcess(executablePath, params); + } +} diff --git a/external-note-diff/info.json b/external-note-diff/info.json new file mode 100644 index 0000000..4402dd9 --- /dev/null +++ b/external-note-diff/info.json @@ -0,0 +1,9 @@ +{ + "name": "External note diff", + "identifier": "external-note-diff", + "script": "external-note-diff.qml", + "version": "0.0.1", + "minAppVersion": "17.07.8", + "authors": ["@pbek"], + "description" : "This script adds a menu entry to the context menu of the note list to diff selected notes in an external diff program. The path of the diff program can be selected in the script settings of the script." +}