On Sun, 30 Nov 2003, bulia byak wrote:
2003-11-29 bulia byak <bulia@...23...>
- src/selection-ch emistry.c src/selection-chemistry.h src/verbs.c src/verbs.h src/shortcuts.c src/interface.c: new function, verb, shortcut (shift-ctrl-v), menu command: paste style (apply the style of copied object to selection). If more than one object is copied, the first one in the clipboard list is taken as the source of the style.
One problem with both paste and the new paste style: gradients are not copied between documents. This is because the CSS refers to a gradient which is stored separately in <defs>, and it's not copied or pasted when you copy or paste an object using it. The same will apply to bitmap fills and masks when we implement them. Did anyone think about how to solve this in the most generic and elegant way?
The same problem will exist with arrowheads, since markers are also placed in the <defs> section.
It seems like when copying to the clipboard, there needs to be a mechanism to scan the selected objects for any referenced objects and also copy the defs for those. The recipient of the paste would then need to add those refs to its own set of defs. It's possible that the receiving document could a) have a different def by the same name, or b) have the same def by a different name; in case (a) it would seem prudent to rename the incoming style, and in case (b) perhaps it should normally merge by default but allow the user an option to not merge when pasting.
Bryce