Review Request: Move several commands from TextTool to the KoTextEditor interface

C. Boemann cbo at boemann.dk
Fri Sep 23 09:32:46 BST 2011


ah the irc suggestion was on the specifics of a paste method, and not related 
to architecture

have fun

On Friday 23 September 2011 10:10:13 Pierre Stirnweiss wrote:
> I didn't mean to make an assessement on the patch actually. I was answering
> to the IRC suggestion actually. I indeed personnaly think that the
> textshape is not the place for the commands.
> However, we should also try to keep an open mind for the exercise at the
> sprint. Otherwise we might format ourselves in merely tweaking the current
> broken design of the textshape/kotext relationship.
> 
> Pierre (on his way to the Oktoberfest)
> 
> On Fri, Sep 23, 2011 at 10:01 AM, C. Boemann <cbo at boemann.dk> wrote:
> > Well yes but i thought we agreed on this. I mean, do you think this is
> > not a
> > step in the right direction?
> > 
> > On Friday 23 September 2011 09:56:00 Pierre Stirnweiss wrote:
> > > I thought we had planned to discuss the kotext/textlayout/textshape
> > > architecture at the sprint.
> > > 
> > > Pierre
> > > 
> > > On Thu, Sep 22, 2011 at 10:08 PM, C. Boemann <cbr at boemann.dk> wrote:
> > > >    This is an automatically generated e-mail. To reply, visit:
> > > > http://git.reviewboard.kde.org/r/102679/
> > > > 
> > > > In general quite nice. A few remarks, and then i just assumed you
> > > > moved the commands with maybe a little rename but i din't exactly
> > > > read all of them. Please advice if i need to.
> > > > 
> > > > 
> > > > For the kotexteditor::paste i think we should irc a bit
> > > > 
> > > >    libs/flake/KoShapeController.cpp<
> > 
> > http://git.reviewboard.kde.org/r/1026
> > 
> > > >    79/diff/1/?file=36769#file36769line160> (Diff
> > > > 
> > > > revision 1)
> > > > 
> > > > KUndo2Command* KoShapeController::addShapeDirect(KoShape *shape,
> > > > KUndo2Command *parent)
> > > > 
> > > >   160
> > 
> > KoToolManager::instance()->updateShapeControllerBase(shapeControllerB
> > 
> > > >     ase, canvas->canvasController());
> > > >  
> > > >  158
> > > >  
> > > >     d->shapeBasedDocument = shapeBasedDocument;
> > > >   
> > > >   do we loose funtionality here
> > > > 
> > > > i later saw it being done in calligratables but are we sure of the
> > 
> > other
> > 
> > > > apps?
> > > > 
> > > >    libs/kotext/KoTextEditor.h<
> > 
> > http://git.reviewboard.kde.org/r/102679/dif
> > 
> > > >    f/1/?file=36803#file36803line231> (Diff
> > > > 
> > > > revision 1)
> > > > 
> > > > public slots:
> > > >    231
> > > >    
> > > >      * Insert the selection from the given KoTextEditor
> > > >   
> > > >   please improve this description.
> > > >   
> > > >    libs/kotext/KoTextEditor.cpp<
> > 
> > http://git.reviewboard.kde.org/r/102679/d
> > 
> > > >    iff/1/?file=36804#file36804line978> (Diff
> > > > 
> > > > revision 1)
> > > > 
> > > > bool KoTextEditor::paste(KoTextEditor *editor,
> > > > 
> > > >    978
> > > >    
> > > >     if (!editor->hasComplexSelection()) return;
> > > >   
> > > >   so you only want to copy if the source selects part of a table??
> > > >   
> > > >    libs/kotext/KoTextEditor.cpp<
> > 
> > http://git.reviewboard.kde.org/r/102679/d
> > 
> > > >    iff/1/?file=36804#file36804line996> (Diff
> > > > 
> > > > revision 1)
> > > > 
> > > > bool KoTextEditor::paste(KoTextEditor *editor,
> > > > 
> > > >    996
> > > >    
> > > >         editor->addCommand(new DeleteCommand(DeleteCommand::NextChar,
> > > >         d->document, shapeController));
> > > >   
> > > >   editor-> ?? are you sure
> > > >   
> > > >    libs/kotext/commands/TextPasteCommand.cpp<
> > 
> > http://git.reviewboard.kde.o
> > 
> > > >    rg/r/102679/diff/1/?file=36818#file36818line100> (Diff
> > > > 
> > > > revision 1)
> > > > 
> > > > void TextPasteCommand::redo()
> > > > 
> > > >    100
> > > >    
> > > >               can this be fixed
> > > >    
> > > >    plugins/textshape/dialogs/ParagraphSettingsDialog.cpp<
> > 
> > http://git.revie
> > 
> > > >    wboard.kde.org/r/102679/diff/1/?file=36854#file36854line33> (Diff
> > > > 
> > > > revision 1)
> > > > 
> > > >   32
> > > > 
> > > > ParagraphSettingsDialog::ParagraphSettingsDialog(TextTool *tool,
> > > > QTextCursor *cursor, QWidget* parent)
> > > > 
> > > >  32
> > > > 
> > > > ParagraphSettingsDialog::ParagraphSettingsDialog(TextTool *tool,
> > > > QTextCursor *cursor, QWidget* parent)
> > > > 
> > > >   do we still need cursor here then?
> > > > 
> > > > - C.
> > > > 
> > > > On September 22nd, 2011, 7:14 p.m., Boudewijn Rempt wrote:
> > > >   Review request for Calligra.
> > > > 
> > > > By Boudewijn Rempt.
> > > > 
> > > > *Updated Sept. 22, 2011, 7:14 p.m.*
> > > > Description
> > > > 
> > > > KoTextEditor is meant to be the one and only interface we allow to
> > > > editing a QTextDocument. TextTool breaks this encapsulation in many
> > > > ways. This patch improves the situation but doesn't solve it
> > > > completely yet. Several commands have been moved to kotext and
> > > > encapsulated in KoTextEditor. This simplifies the code in the
> > > > textshape quite a bit.
> > 
> > The
> > 
> > > > other bits will follow later on.
> > > > 
> > > > In order to make it possible to test this code, I wanted to be able
> > > > to create a KoShapeController without a canvas, so KoShapeController
> > > > was refactored a bit as well. Because KoShapeControllerBase was
> > > > confusingly named, I renamed that class after irc discussion.
> > > > 
> > > >   Testing
> > > > 
> > > > manual gui test + ran the unittests. Added more testing.
> > > > 
> > > >   Diffs
> > > >   
> > > >    - braindump/src/SectionContainer.h (ec00b6f)
> > > >    - braindump/src/ViewManager.h (bf4e89c)
> > > >    - flow/plugins/dockers/stencilboxdocker/StencilShapeFactory.h
> > > >    (dffa96e) -
> > > >    flow/plugins/dockers/stencilboxdocker/StencilShapeFactory.cpp
> > > >    (318e483)
> > > >    - karbon/common/commands/KarbonBooleanCommand.h (9c49a74)
> > > >    - karbon/common/commands/KarbonBooleanCommand.cpp (947ba83)
> > > >    - karbon/ui/KarbonPart.h (2dc5f85)
> > > >    - karbon/ui/dockers/KarbonLayerDocker.h (55ee45d)
> > > >    - karbon/ui/dockers/KarbonLayerDocker.cpp (30e1ab2)
> > > >    - karbon/ui/dockers/KarbonLayerModel.cpp (f26666f)
> > > >    - krita/plugins/formats/odg/kis_odg_import.cc (be07b8c)
> > > >    - krita/ui/canvas/kis_canvas2.h (cf1d633)
> > > >    - krita/ui/canvas/kis_canvas2.cpp (6dc2b95)
> > > >    - krita/ui/flake/kis_shape_controller.h (4e0540a)
> > > >    - krita/ui/flake/kis_shape_layer.h (2ec5170)
> > > >    - krita/ui/flake/kis_shape_layer.cc (8004eae)
> > > >    - krita/ui/flake/kis_shape_layer_paste.h (096896f)
> > > >    - krita/ui/kis_doc2.h (faa2e1f)
> > > >    - krita/ui/kis_doc2.cc (ed11964)
> > > >    - libs/flake/CMakeLists.txt (4311bd0)
> > > >    - libs/flake/KoCanvasBase.h (5f8f0ab)
> > > >    - libs/flake/KoCanvasBase.cpp (2361bc1)
> > > >    - libs/flake/KoCanvasController.h (3fc370e)
> > > >    - libs/flake/KoDataCenterBase.h (de447fa)
> > > >    - libs/flake/KoShape.h (84bdbfc)
> > > >    - libs/flake/KoShapeBasedDocumentBase.h (PRE-CREATION)
> > > >    - libs/flake/KoShapeBasedDocumentBase.cpp (PRE-CREATION)
> > > >    - libs/flake/KoShapeController.h (e3c65ab)
> > > >    - libs/flake/KoShapeController.cpp (27722b3)
> > > >    - libs/flake/KoShapeControllerBase.h (5d1db1f)
> > > >    - libs/flake/KoShapeControllerBase.cpp (3f9d9a2)
> > > >    - libs/flake/KoShapeLoadingContext.h (b0e0358)
> > > >    - libs/flake/KoShapeLoadingContext.cpp (50d50bb)
> > > >    - libs/flake/KoShapePaste.cpp (d94dc11)
> > > >    - libs/flake/KoToolBase.h (13dc3c7)
> > > >    - libs/flake/KoToolBase.cpp (627591e)
> > > >    - libs/flake/KoToolManager.h (48cbaa8)
> > > >    - libs/flake/KoToolManager.cpp (8c612b0)
> > > >    - libs/flake/commands/KoPathCombineCommand.h (a34edb5)
> > > >    - libs/flake/commands/KoPathCombineCommand.cpp (72aaed4)
> > > >    - libs/flake/commands/KoPathPointRemoveCommand.cpp (fa748a6)
> > > >    - libs/flake/commands/KoPathSeparateCommand.h (4b52a60)
> > > >    - libs/flake/commands/KoPathSeparateCommand.cpp (a7b0ab7)
> > > >    - libs/flake/commands/KoShapeClipCommand.h (883402c)
> > > >    - libs/flake/commands/KoShapeClipCommand.cpp (7159c91)
> > > >    - libs/flake/commands/KoShapeCreateCommand.h (4a9f3b8)
> > > >    - libs/flake/commands/KoShapeCreateCommand.cpp (6322c8d)
> > > >    - libs/flake/commands/KoShapeDeleteCommand.h (1d1eac4)
> > > >    - libs/flake/commands/KoShapeDeleteCommand.cpp (452ffea)
> > > >    - libs/flake/commands/KoShapeUnclipCommand.h (8903e33)
> > > >    - libs/flake/commands/KoShapeUnclipCommand.cpp (94d2308)
> > > >    - libs/flake/tests/MockShapes.h (3f7ba47)
> > > >    - libs/flake/tests/TestSnapStrategy.cpp (7f2b63b)
> > > >    - libs/kopageapp/KoPADocument.h (cfc9822)
> > > >    - libs/kopageapp/KoPADocumentModel.cpp (b968182)
> > > >    - libs/kopageapp/KoPADocumentStructureDocker.cpp (15c3224)
> > > >    - libs/kotext/CMakeLists.txt (b174f5d)
> > > >    - libs/kotext/KoDocumentRdfBase.h (165f8fd)
> > > >    - libs/kotext/KoDocumentRdfBase.cpp (f6445e6)
> > > >    - libs/kotext/KoTextCommandBase.h (PRE-CREATION)
> > > >    - libs/kotext/KoTextCommandBase.cpp (PRE-CREATION)
> > > >    - libs/kotext/KoTextDocument.cpp (1265e2c)
> > > >    - libs/kotext/KoTextEditor.h (4947db8)
> > > >    - libs/kotext/KoTextEditor.cpp (d6d6738)
> > > >    - libs/kotext/KoTextOdfSaveHelper.h (4e247c2)
> > > >    - libs/kotext/KoTextOdfSaveHelper.cpp (9d5add8)
> > > >    - libs/kotext/KoTextPaste.h (61321d9)
> > > >    - libs/kotext/KoTextPaste.cpp (067d238)
> > > >    - libs/kotext/commands/ChangeListCommand.h (PRE-CREATION)
> > > >    - libs/kotext/commands/ChangeListCommand.cpp (PRE-CREATION)
> > > >    - libs/kotext/commands/ChangeTrackedDeleteCommand.h (PRE-CREATION)
> > > >    - libs/kotext/commands/ChangeTrackedDeleteCommand.cpp
> > > >    (PRE-CREATION) - libs/kotext/commands/DeleteCommand.h
> > > >    (PRE-CREATION)
> > > >    - libs/kotext/commands/DeleteCommand.cpp (PRE-CREATION)
> > > >    - libs/kotext/commands/ListItemNumberingCommand.h (PRE-CREATION)
> > > >    - libs/kotext/commands/ListItemNumberingCommand.cpp (PRE-CREATION)
> > > >    - libs/kotext/commands/TextPasteCommand.h (PRE-CREATION)
> > > >    - libs/kotext/commands/TextPasteCommand.cpp (PRE-CREATION)
> > > >    - libs/kotext/opendocument/KoTextWriter.h (04ea489)
> > > >    - libs/kotext/opendocument/KoTextWriter.cpp (f5d9d77)
> > > >    - libs/kotext/tests/TestKoTextEditor.h (8013086)
> > > >    - libs/kotext/tests/TestKoTextEditor.cpp (85fab42)
> > > >    - libs/main/rdf/KoDocumentRdf.h (219ff42)
> > > >    - libs/main/rdf/KoDocumentRdf.cpp (42b557d)
> > > >    - plugins/dockers/shapecollection/CollectionShapeFactory.h
> > > >    (870fe2e) -
> > > >    plugins/dockers/shapecollection/CollectionShapeFactory.cpp
> > 
> > (020e1af)
> > 
> > > >    - plugins/pictureshape/PictureShapeFactory.cpp (9ae730c)
> > > >    - plugins/pluginshape/PluginShapeFactory.cpp (ee5f508)
> > > >    - plugins/textshape/CMakeLists.txt (3df7aa5)
> > > >    - plugins/textshape/TextShapeFactory.cpp (4100b47)
> > > >    - plugins/textshape/TextTool.h (6aaef61)
> > > >    - plugins/textshape/TextTool.cpp (142d934)
> > > >    - plugins/textshape/commands/AcceptChangeCommand.h (2945d9e)
> > > >    - plugins/textshape/commands/AcceptChangeCommand.cpp (66b121c)
> > > >    - plugins/textshape/commands/ChangeListCommand.h (a7c2f7e)
> > > >    - plugins/textshape/commands/ChangeListCommand.cpp (8981a1b)
> > > >    - plugins/textshape/commands/ChangeListLevelCommand.h (f657ee1)
> > > >    - plugins/textshape/commands/ChangeListLevelCommand.cpp (bad0b68)
> > > >    - plugins/textshape/commands/ChangeTrackedDeleteCommand.h
> > > >    (6acf4bd) -
> > > >    plugins/textshape/commands/ChangeTrackedDeleteCommand.cpp
> > 
> > (f155681)
> > 
> > > >    - plugins/textshape/commands/DeleteCommand.h (b85bbb9)
> > > >    - plugins/textshape/commands/DeleteCommand.cpp (cd741dc)
> > > >    - plugins/textshape/commands/ListItemNumberingCommand.h (4457d84)
> > > >    - plugins/textshape/commands/ListItemNumberingCommand.cpp
> > > >    (f00162b) - plugins/textshape/commands/RejectChangeCommand.h
> > > >    (925138d) - plugins/textshape/commands/RejectChangeCommand.cpp
> > > >    (3338875) - plugins/textshape/commands/ShowChangesCommand.h
> > > >    (cacd86a) - plugins/textshape/commands/ShowChangesCommand.cpp
> > > >    (e61f883) - plugins/textshape/commands/TextCommandBase.h
> > > >    (d6306db)
> > > >    - plugins/textshape/commands/TextCommandBase.cpp (be52032)
> > > >    - plugins/textshape/commands/TextCutCommand.cpp (31776f9)
> > > >    - plugins/textshape/commands/TextPasteCommand.h (90f4c3d)
> > > >    - plugins/textshape/commands/TextPasteCommand.cpp (36a1f76)
> > > >    - plugins/textshape/dialogs/ParagraphSettingsDialog.cpp (cdddbe3)
> > > >    - plugins/textshape/dialogs/SimpleParagraphWidget.cpp (5b843ba)
> > > >    - plugins/textshape/tests/CMakeLists.txt (e6ab42a)
> > > >    - plugins/videoshape/VideoShapeFactory.cpp (f1c8d79)
> > > >    - stage/part/KPrPlaceholderStrategy.h (e5ea2cb)
> > > >    - tables/Sheet.h (0e7285a)
> > > >    - tables/Sheet.cpp (6c15a2e)
> > > >    - tables/part/CanvasItem.cpp (1ba27a1)
> > > >    - tables/part/View.cpp (1384ec6)
> > > >    - words/part/KWDocument.h (4143803)
> > > >    - words/part/commands/KWFrameCreateCommand.h (354486d)
> > > >    - words/part/commands/KWFrameCreateCommand.cpp (b4a4fb1)
> > > >    - words/part/commands/KWFrameDeleteCommand.h (1bc79b8)
> > > >    - words/part/commands/KWFrameDeleteCommand.cpp (c5d3c4b)
> > > > 
> > > > View Diff <http://git.reviewboard.kde.org/r/102679/diff/>
> > > > 
> > > > _______________________________________________
> > > > calligra-devel mailing list
> > > > calligra-devel at kde.org
> > > > https://mail.kde.org/mailman/listinfo/calligra-devel
> > 
> > _______________________________________________
> > calligra-devel mailing list
> > calligra-devel at kde.org
> > https://mail.kde.org/mailman/listinfo/calligra-devel



More information about the calligra-devel mailing list