Add API Command::initAction() to force create action for all commands
with shortcut in order to register with ShortcutManager to obtain a
complete list of actions with the same shortcut.
Support longest key sequence match with user defined delay (configurable
through 'Customize -> Keyboard -> Key sequence delay').
Support user defined priority to resolve shortcut conflict through
'Customize -> Keyboard')
Add 'All' category in 'Customize -> Keyboard' to list all command and
showing their shortcuts
Unify macro command shortcut setting (BaseApp/Preferences/Shortcut).
When compiled in debug mode, this PR adds code to check for conflicting
accelerator keys when a command is created. This can help developers
ensure that their default accelerator key selections don't conflict.
Replace partial match algorithm
Co-authored-by: 0penBrain <48731257+0penBrain@users.noreply.github.com>
When the shortcut/accelerator key is changed, the tooltip should be
recalculated using the same code that calculated the original. Also
ensure this happens when the accelerator preferences are loaded.
Fixes#4664.
* invoke(), distinguish between command triggering source. Also add
support of auto transaction using App::AutoTransaction. Now all
command will support undo/redo by default.
* setupCheckable(), a helper function to Improve support of
PythonGroupCommand
* getObjectCmd(), helper function to output Python command to refer to
an object without ambiguity. Because with introduction of external
linking, an object can no longer be safely referred through the
current active document.
* Support auto MacroManager command logger. For commands that does not
log any output to MacroManager, a log entry of 'Gui.runCommand()' will
be auto generated.
* Support linked object in copyVisual()
* Modified do/runCommand() to print calling file and line number.
* Add various helper macros for run command involving a document or
object.
=====================================================
What?
Extension of the CommandMacro constructor to take an additional optional argument to indicate that the macro
is located in the system-wide directory, and shall be executed accordingly.