Review Request: Refactoring of koabstraction lib
Jarosław Staniek
staniek at kde.org
Wed Mar 9 20:12:03 GMT 2011
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/100640/#review1866
-----------------------------------------------------------
OK, submiting since there are no objections after 3+ weeks.
- Jarosław
On Feb. 12, 2011, 5:36 p.m., Jarosław Staniek wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/100640/
> -----------------------------------------------------------
>
> (Updated Feb. 12, 2011, 5:36 p.m.)
>
>
> Review request for Calligra, Boudewijn Rempt and Mani Chandrasekar.
>
>
> Summary
> -------
>
> Background: The KoAbstraction API version 1 (Calligra master from early 2011) requires include .moc file generated in the library by outside code (e.g. in the f-office app) and using typedef to workaround impossibility of multiple inheritance from QObject-based classes. This is considered as a hack if not fragile and unclear. Also it was requested by the FreOffice developers to fix problems with their custom builds on maemo.
>
> The Goal: refactor the KoAbstraction lib so the API is more natural and has more OOD.
>
> See also: Mani has also addressed a need for custom maemo builds: http://git.reviewboard.kde.org/r/100462/ ; this is not needed now.
>
> The development happens on branch tools-koabstraction_refactoring1-staniek
>
> Changelog:
>
> * KoAbstractApplication:
> o renamed to *KoAbstractApplicationWindow
> o KoAbstractApplicationWindow is now a thin interface to inherit by the main application window, e.g. main window of FreOffice.
> o KoAbstractApplicationWindow no longer inherits QObject.
> * KoAbstractAppliactionController:
> o KoAbstractAppliactionController is now separate controller inheriting QObject, owned by the KoAbstractApplication-derived class.
> It contains signals and slots, and should be inherited to customize behaviour and implement abstract interfaces.
> o currentPageChanged() renamed to handleCurrentPageChanged() since it's a placeholder for implementing reaction on page changing
> o documentPageSetupChanged renamed to handleDocumentPageSetupChanged()
> o controller() renamed to canvasController() to avoid silly controller()->controller() expressions
> o controllerWidget() renamed to canvasControllerWidget()
> o doOpenDocument() renamed to openScheduledDocument()
> o removeSheet() renamed to removeCurrentSheet()
> o more setter methods changed to slots
> o thisObject() removed, now 'this' is enough
> o mainWindow() pure virtual added, returns the QWidget of the main window
>
> + merged with master, fully ported FreOffice, including recent fixes from Boud.
>
>
> Diffs
> -----
>
> tools/f-office/Accelerator.cpp 7507b43
> tools/f-office/ApplicationController.h PRE-CREATION
> tools/f-office/ApplicationController.cpp PRE-CREATION
> tools/f-office/CMakeLists.txt 0fcd20f
> tools/f-office/KoAbstractApplicationImpl.cpp 5d1bfcc
> tools/f-office/Main.cpp 0497f51
> tools/f-office/MainWindow.h 605a6e9
> tools/f-office/MainWindow.cpp 908ad4a
> tools/f-office/MainWindowAdaptor.h 846d9b1
> tools/f-office/MainWindowAdaptor.cpp 7ed90e6
> tools/f-office/PresentationTool.cpp bf8fa10
> tools/f-office/SlidingMotionDialog.h d884ebd
> tools/f-office/VirtualKeyBoard.h 2913e1a
> tools/koabstraction/CMakeLists.txt 2fa24e0
> tools/koabstraction/KoAbstractApplication.h f6c833c
> tools/koabstraction/KoAbstractApplicationController.h 484f9c0
> tools/koabstraction/KoAbstractApplicationController.cpp 7ee5542
> tools/koabstraction/KoAbstractApplicationImpl.h a77e0e6
> tools/koabstraction/KoAbstractApplicationWindow.h PRE-CREATION
> tools/koabstraction/KoAbstractApplicationWindow.cpp PRE-CREATION
>
> Diff: http://git.reviewboard.kde.org/r/100640/diff
>
>
> Testing
> -------
>
> FreOffice is functional as before, the API has the same feature set as before and porting existing code using it feels quite 'automatic'.
>
>
> Thanks,
>
> Jarosław
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20110309/029f0523/attachment.htm>
More information about the calligra-devel
mailing list