Object Dialog patch
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
Fix Released
|
Wishlist
|
Liam P. White | ||
Experimental |
Fix Committed
|
Wishlist
|
Liam P. White |
Bug Description
Thanks to the work by Ted Janeczko, here is a patch for an object dialog as many have requested for years (this satifies keeping the layers dialog and going to levels beneath layers, however, it may be better to go up further to the root as well). This is work being submitted upstream from a derivative project, Ponyscape.
We may get a handful of these submitted upstream and I will be adding reports for any such patches probably in the same manner.
I've modified the patch he emailed me and am including his notes in this report for others to gain some insights and for testing purposes.
Here are his notes on it:
• I use an XmlNodeObserver for handling updates to objects using their xml representation. Based on experimentation this is the most effecient way currently to handle individual object updates. I tried using the modified signal, but it was being thrown way too often as any modification to a group also emits the modified signal from its children and when dealing with hundreds of objects the objects dialog was being bogged down.
• I added a flag for updating an objects repr called SP_OBJECT_
• In order to allow multiple objects to be dragged & dropped, I delay item selection in the tree until the mouse button is released. This is accomplished by storing the tree path on a mouse button down event and setting the tree selection routine to one which allows no new selection or deselection of items. When the mouse button is released, the tree selection routine is restored and the item is selected (assuming that drag & drop was not initiated).
• I included the highlight color selector and the highlight/outline color rendering routines. I know originally each outline color in the node-edit tool held a specific meaning (red for path, green for clip, etc), but to be able to change the outline color might be a nice inclusion in Inkscape. Currently, to set the outline you must select a color which has an alpha value greater than 0. When the alpha is set to 0 the outline color is inherited from the parent. I'm working on creating a new color selection dialog which has a checkbox for setting or inheriting the color instead of using the alpha value. The highlight color is currently stored in the inkscape:highlight attribute as an unsigned integer, but this could easily be converted to a css/hex style color value.
• I removed the insert order (insert above or insert below) for groups as I created new icons for them and it requires some additional modification to SPItems. If this would be desired functionality, I can add in the icons or use stock icons, make the modifications, and send you another patch.
• The expansion status of the tree is stored with each item in the inkscape:expanded attribute. This allows the tree to be re-built without having all of the nodes collapse and provides a consistent experience when re-opening the file.
• I did not have the time to change the opacity slider over to the gimp spin scale control... The Ponyscape userbase (and myself) actually prefer the old slider control as it's easier to input an exact value without clicking on the actual slider and we find it a bit more precise. If you would like me to look into switching it over for Inkscape, let me know and I'll see what I can do!
Please help test and give feedback... the next potential patch would probably be for a tagging system/tags dialog in Inkscape (already exists in Ponyscape) and I have to say it's pretty nifty.
Note: Yes there are existing bug reports on this type of feature, but searching didn't turn them up in less than 3 mins for me, so I just wanted to be productive.
Related branches
Changed in inkscape: | |
assignee: | Ted Janeczko (janeczko-ted) → nobody |
no longer affects: | inkscape/0.91.x |
Changed in inkscape: | |
milestone: | 0.91 → 0.92 |
Changed in inkscape: | |
status: | Fix Committed → Fix Released |
Just a quick initial feedback: objects_ dialog. patch builds successfully on OS X 10.7, with GTK+/Quartz 2.24.17 and clang.
Inkscape 0.48+devel r12224+
- new features not yet tested in-depth, will comment later objects. cpp'
- experimental GTK3 build fails in 'ui/dialog/
(this can probably be looked at once the patch has been committed)
@Ted: many thx for your work and for sharing it - I'm looking forward to more contributions from Ponyscape!