View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0016245||Scribus||Scripter||public||2020-09-16 19:53||2020-11-07 14:52|
|Target Version||Fixed in Version||1.5.6.svn|
|Summary||0016245: in the scripter copyObject can copy one single item at a time|
|Description||the docstring says that it can also copy a "selection Group" but does not specify what a selection group is.|
anyway, i don't see a valid reason why the UI can copy multiple items and the scripter only one...
|Tags||No tags attached.|
I was mentioning the same issue to Craig yesterday about duplicateObject(). I don't see why copyObject() and duplicateObject() would copy a single object even if selection has multiple objects selected. To fix this, should we just keep copyObject() and duplicateObject() as is for backward compatibility and add new methods like copyObjects() / duplicateObjects() or copySelection() / duplicateSelection(), or just fix copyObject() and duplicateObject() to make them work on current selection ?
||i don't think that two different commands are better than one! i'm not a coder, but as a simple user i would prefer to have 'copyObject()' and 'duplicateObject()' fixed.|
i don't think there is a need for two commands.
since it's "hard" to tell which is the first item in a selection, i don't think there is anyone relying on this behavior to copy only one item instead of all the ones in the selection.
and i don't see a use case for having both functions in the API.
copyObject() is a new command and there should be any big risk of breaking old scripts.
we could think of renaming to xxxObjects() and deprecate the old names, but i generally have an issue with the usage of Frame, Item, and Object in the scripter API (on top of the fact that commands have or not an s at the end) and i think that in the foreseeable future, we should go through all affected commands and find a common naming.
(and, IMO, the term Object should disappear from the API since it's not used in the scribus UI)
all in all: for now, i suggest to leave the name as is. and "silently" change the behavior of the function (it should be mentioned in the release notes, though... but there are so many changes in the scripter API...)
Ok so in the end copyObject(), pasteObject() and duplicateObject have all been deprecated and will be removed in 1.7.x. So welcome copyObjects(), pasteObjects() and duplicateObjects()!
The new copyObjects() and duplicateObjects() can now receive as argument either a string, when trying to copy a single object, or a list of strings when trying to copy multiple objects. If no argument is provided, the new functions will use the current selection. Examples:
- copyObjects("Text1") -> copy "Text1" item to clipboard
- copyObjects( ["Text1", "Text2"] ) -> copy "Text1" and "Text2" items to clipboard
- copyObjects() -> copy current selection to clipboard
Another difference: pasteObjects() and duplicateObjects() will return the names of newly created objects as a list instead of a comma separated string as pasteObject() and duplicateObject() previously did.
jean, can would you mind patching your patch?
in the middle term, i really think that all Object command should be replaced by "Item" ones.
since the new commands are only one night old, would you mind renaming them to copyItems(), pasteItems() and duplicateItems() ?
the scribus UI does not have the concept of Object and i think that the scripter should rather mimic the names of the UI and not of the c++ code.
||i would also stick with the singular... copyItem, pasteItem, duplicateItem but keep the interface as you have defined it.|
|2020-09-16 19:53||ale||New Issue|
|2020-09-16 21:08||jghali||Note Added: 0048080|
|2020-09-16 21:08||jghali||Note Edited: 0048080||View Revisions|
|2020-09-16 22:00||utnik||Note Added: 0048081|
|2020-09-17 05:59||ale||Note Added: 0048082|
|2020-11-01 23:47||jghali||Note Added: 0048281|
|2020-11-01 23:48||jghali||Note Edited: 0048281||View Revisions|
|2020-11-01 23:48||jghali||Assigned To||=> jghali|
|2020-11-01 23:48||jghali||Status||new => resolved|
|2020-11-01 23:48||jghali||Resolution||open => fixed|
|2020-11-01 23:48||jghali||Fixed in Version||=> 1.5.6.svn|
|2020-11-02 07:08||ale||Note Added: 0048283|
|2020-11-02 07:09||ale||Note Added: 0048284|
|2020-11-07 14:52||cbradney||Status||resolved => closed|