
On 23-9-2013 16:32, Sebastian Götte wrote:
On 09/23/2013 11:20 AM, Tavmjong Bah wrote:
Hi Sebastian,
Today is the last day of GSoC! How is it going? I am eagerly waiting one last code check in.
I finished merging with the current trunk, porting everything to the new C++y object tree and am now tracking one segfault with libavoid connectors. I changed the UI a bit according to Josh's suggestions (I just sent a separate mail about this to inkscape-devel). There are two bugs left that I am aware of: Apparently, I managed to break libavoid object movement tracking and sporadically, when jamming the mouse to randomly create and destroy lots of points, Inkscape will segfault.
One UI issue is left, which stems from Inkscape's selection implementation: If a group contains SPPoints and the group is selected in the connector tool, the points are (correctly) displayed as selected, since any change to the group would affect them. However, when attempting to shift-unselect one of the points, the whole group is deselected and the point selected. The reason for this is that otherwise, four steps would be necessary:
- find out whether the clicked item is in the selection
1a) if so, deselect and return 2) find out whether the clicked item is the descendant of any item of the selection 2a) if not so, select and return 3) deselect the selected ancestor of the clicked item 4) select any descendands of the ancestor just deselected, minus the clicked item I did not yet implement this since I do not know whether that really is the right approach.
I'm not 100% sure if I understand you correctly. The current behavior (release), is that when one group of objects is selected, and you shift-click an object in that group, the whole group is unselected. Which is desired behavior I believe. I do not understand the reason for step 4) in your description. Step 4 seems undesirable.
regards, Johan