Hello Yue, > > Here is the patch. What I want to do is change defaultTool's > double-click event so that when a pathshape without textbox is double > clicked, a textShape is created for that pathshape and the appropriate > tool is activated to let user edit the textbox. > Move the discussion to the mailing list.
The adding of a text shape should be done in a command so that it can be undone again. The comand should be in flake where it can also be accessed from other parts. + foreach(KoShape *shape, shapes) { + if (shape->shapeId() == KoPathShapeId) { + KoTosContainer *container = dynamic_cast<KoTosContainer*>(shape) Instead of the if you should cast to a KoTosContainer and check if the result is a a container or not. With that it will work for all shapes that support tos. + if (!container->textShape()) { + KoShape *textShape = container->createTextShape(canvas()- >resourceManager()); You need to pass the document resource manager and not the canvas resource manager here. Also we need to make sure that double click does not create a tos in all applications e.g. in karbon as that is not what is wanted there. There double click should still activate the path shape. If there are more open points feel free to ask. Thorsten _______________________________________________ calligra-devel mailing list calligra-devel@kde.org https://mail.kde.org/mailman/listinfo/calligra-devel