-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/100304/
-----------------------------------------------------------

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

Reply via email to