> On Jan. 11, 2011, 6:42 a.m., Mani Chandrasekar wrote: > > Patch looks good to me. > > > > I have a suggestion for Abstraction library, > > As I see it growing generic and complete, Do we still need to have it > > inside tools directory? I understand that it can be build as a library, But > > won't it make sense to put it inside libs folder ship it with Calligra > > package and any applications using it can link against it.
Thanks for the review, Mani. Yes, I am willing to move the library to libs/. To avoid addding complexity to the current patch, that would be a separate patch. Something like calligraappabstraction lib and lib/abstraction/ dir. - Jarosław ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/100304/#review831 ----------------------------------------------------------- On Jan. 5, 2011, 12:22 a.m., Jarosław Staniek wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/100304/ > ----------------------------------------------------------- > > (Updated Jan. 5, 2011, 12:22 a.m.) > > > Review request for Calligra. > > > Summary > ------- > > KoAbstraction Library > > This is the third iteration, the previous > (http://reviewboard.kde.org/r/5635/) was discarded because works on this one > were already quite advanced. > > More discussion at http://community.kde.org/Calligra/Libs/KoAbstraction > > == Here's a copy from http://reviewboard.kde.org/r/5635/: > > This is library utilizing facade design pattern in order to simplify > implementation of custom graphical interfaces for various applications. This > way standalone KOffice viewer widget can be delivered too. > > * added koabstraction in tools/koabstraction/ > * it's dependent on KSpread so for my understanding does not fit to libs/ > * moved code that belong to koabstraction from f-office/, that is: > ** KoAbstractApplication intermediate class > ** KoAbstractApplicationController > ** FoCellTool (renamed to KoCellTool) > ** FoCellToolFactory (renamed to KoCellToolFactory, made private class) > ** RemoveSheet (renamed to RemoveSheetCommand for more clarity, made private > class) > * FoCellEditor temporarily moved to koabstraction/ as private class, will be > back here as soon as interface abstracting cell editor is ready > * finished simplifying f-office/CMakeLists.txt (it looked like standalone > project before with using find_package(Qt4 4.5.0 REQUIRED), etc.) > * KoAbstractApplicationImpl.cpp stays in tools/f-office/ as it's a wrapper > for building KoAbstractApplication.moc properly > * added KoExternalEditorInterface class which is implemented by > FoExternalEditor in f-office, abstraction uses it instead of concrete > implementation of editor > * FoImageSelectionWidget is not instatiated at all so constructor was removed > * PanTool_ID, TextTool_ID, CellTool_ID constants from f-office replaced by > KoAbstractApplicationController::panToolFactoryId(), etc. in koabstraction, > so the tools can be freely accessed in any implementation > * KoAbstractApplicationController uses controller() which is now KoController > only; in contexts when KoControllerWidget is needed, appropriate dynamic_case > is defined as KoAbstractApplicationController::controllerWidget(); this leads > to API that could be usable for graphics-view-based UIs > * PresentationTool is back in f-office's MainWindow now, same for > StoreButtonPreview; code related to them is moved from abstraction to f-office > > == Changes compared to http://reviewboard.kde.org/r/5635/: > > * ported to Calligra: renamed namespaces, libs and paths; full namespaces > used everywhere for improved readability > * as requested by maemo devs, f-office/ now builds using non-kde4 buildsystem > (no automoc) > * KoAbstractApplicationOpenDocumentArguments added, provided setting on/off > editing as default mode, implementation-independent way for multiple > documents support (e.g. using multiple instances), and opening document as > template > * editing mode is now a flag of the controller, is set/unset automatically > when needed by the abstraction, can be also set by the GUIs > * added KoAbstractApplication::openDocumentAsTemplate() > * temporarily, MS documents are saved as ODF counterparts because of mixed > quality of filters > * pointer optional to a splash screen moved to abstraction, displayed/closed > when necessary > * KoAbstractApplicationController: > ** added supportedExtensions() and added supportedFilters() for improved code > reuse > ** added documentFileName() that can be used by GUIs > ** added setHorizontalScrollBarVisible(bool), > setVerticalScrollBarVisible(bool) abstractions > ** added setOnlyDisplayDocumentNameInTitle(bool): if set to true only > document name is displayed and not application name; This is to conserve > space on small displays > > Summing up, these are modified paths: > > # modified: CMakeLists.txt > # modified: tools/CMakeLists.txt > # modified: tools/f-office/CMakeLists.txt > # modified: tools/f-office/Common.h > # modified: tools/f-office/FoExternalEditor.cpp > # modified: tools/f-office/FoExternalEditor.h > # modified: tools/f-office/FoImageSelectionWidget.cpp > # modified: tools/f-office/FoImageSelectionWidget.h > # modified: tools/f-office/KoAbstractApplicationImpl.cpp > # modified: tools/f-office/Main.cpp > # modified: tools/f-office/MainWindow.cpp > # modified: tools/f-office/MainWindow.h > # modified: tools/f-office/NotifyDialog.cpp > # modified: tools/f-office/NotifyDialog.h > # new file: tools/koabstraction/CMakeLists.txt > # renamed: tools/f-office/FoCellEditor.cpp -> > tools/koabstraction/FoCellEditor.cpp > # renamed: tools/f-office/FoCellEditor.h -> > tools/koabstraction/FoCellEditor.h > # renamed: tools/f-office/KoAbstractApplication.h -> > tools/koabstraction/KoAbstractApplication.h > # renamed: tools/f-office/KoAbstractApplicationController.cpp -> > tools/koabstraction/KoAbstractApplicationController.cpp > # renamed: tools/f-office/KoAbstractApplicationController.h -> > tools/koabstraction/KoAbstractApplicationController.h > # renamed: tools/f-office/KoAbstractApplicationImpl.h -> > tools/koabstraction/KoAbstractApplicationImpl.h > # renamed: tools/f-office/FoCellTool.cpp -> > tools/koabstraction/KoCellTool.cpp > # renamed: tools/f-office/FoCellTool.h -> > tools/koabstraction/KoCellTool.h > # renamed: tools/f-office/FoCellToolFactory.cpp -> > tools/koabstraction/KoCellToolFactory.cpp > # renamed: tools/f-office/FoCellToolFactory.h -> > tools/koabstraction/KoCellToolFactory.h > # new file: tools/koabstraction/KoExternalEditorInterface.h > # renamed: tools/f-office/RemoveSheet.cpp -> > tools/koabstraction/RemoveSheetCommand.cpp > # renamed: tools/f-office/RemoveSheet.h -> > tools/koabstraction/RemoveSheetCommand.h > # new file: tools/koabstraction/koabstraction_export.h > > > Diffs > ----- > > CMakeLists.txt d58e152 > tools/CMakeLists.txt a10cd08 > tools/f-office/CMakeLists.txt cd2c6bd > tools/f-office/Common.h 30b31f6 > tools/f-office/FoCellEditor.h c50fcbd > tools/f-office/FoCellEditor.cpp 13038d4 > tools/f-office/FoCellTool.h 3128050 > tools/f-office/FoCellTool.cpp 63ce11f > tools/f-office/FoCellToolFactory.h d29de43 > tools/f-office/FoCellToolFactory.cpp da4339b > tools/f-office/FoExternalEditor.h cab8a87 > tools/f-office/FoExternalEditor.cpp bfc232f > tools/f-office/FoImageSelectionWidget.h dddc61b > tools/f-office/FoImageSelectionWidget.cpp 0da2880 > tools/f-office/KoAbstractApplication.h 47c7f08 > tools/f-office/KoAbstractApplicationController.h 7293b4e > tools/f-office/KoAbstractApplicationController.cpp d3aa2bd > tools/f-office/KoAbstractApplicationImpl.h 469430e > tools/f-office/KoAbstractApplicationImpl.cpp 01014f2 > tools/f-office/Main.cpp ca88305 > tools/f-office/MainWindow.h 937a16a > tools/f-office/MainWindow.cpp 3110056 > tools/f-office/NotifyDialog.h c51fee7 > tools/f-office/NotifyDialog.cpp e9ecab2 > tools/f-office/RemoveSheet.h d44351c > tools/f-office/RemoveSheet.cpp 9f617b9 > tools/koabstraction/CMakeLists.txt PRE-CREATION > tools/koabstraction/FoCellEditor.h PRE-CREATION > tools/koabstraction/FoCellEditor.cpp PRE-CREATION > tools/koabstraction/KoAbstractApplication.h PRE-CREATION > tools/koabstraction/KoAbstractApplicationController.h PRE-CREATION > tools/koabstraction/KoAbstractApplicationController.cpp PRE-CREATION > tools/koabstraction/KoAbstractApplicationImpl.h PRE-CREATION > tools/koabstraction/KoCellTool.h PRE-CREATION > tools/koabstraction/KoCellTool.cpp PRE-CREATION > tools/koabstraction/KoCellToolFactory.h PRE-CREATION > tools/koabstraction/KoCellToolFactory.cpp PRE-CREATION > tools/koabstraction/KoExternalEditorInterface.h PRE-CREATION > tools/koabstraction/RemoveSheetCommand.h PRE-CREATION > tools/koabstraction/RemoveSheetCommand.cpp PRE-CREATION > tools/koabstraction/koabstraction_export.h PRE-CREATION > > Diff: http://git.reviewboard.kde.org/r/100304/diff > > > Testing > ------- > > FreOffice builds and runs properly for any of the three document types. Did > some testing on standalone minimal test application which implements the > interfaces - documents are opened and displayed properly. > > > Thanks, > > Jarosław > >
_______________________________________________ calligra-devel mailing list calligra-devel@kde.org https://mail.kde.org/mailman/listinfo/calligra-devel