<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="http://git.reviewboard.kde.org/r/100640/">http://git.reviewboard.kde.org/r/100640/</a>
</td>
</tr>
</table>
<br />
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.orgrb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Calligra, Boudewijn Rempt and Mani Chandrasekar.</div>
<div>By Jarosław Staniek.</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">FreOffice is functional as before, the API has the same feature set as before and porting existing code using it feels quite 'automatic'. </pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>tools/f-office/Accelerator.cpp <span style="color: grey">(7507b43)</span></li>
<li>tools/f-office/ApplicationController.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>tools/f-office/ApplicationController.cpp <span style="color: grey">(PRE-CREATION)</span></li>
<li>tools/f-office/CMakeLists.txt <span style="color: grey">(0fcd20f)</span></li>
<li>tools/f-office/KoAbstractApplicationImpl.cpp <span style="color: grey">(5d1bfcc)</span></li>
<li>tools/f-office/Main.cpp <span style="color: grey">(0497f51)</span></li>
<li>tools/f-office/MainWindow.h <span style="color: grey">(605a6e9)</span></li>
<li>tools/f-office/MainWindow.cpp <span style="color: grey">(908ad4a)</span></li>
<li>tools/f-office/MainWindowAdaptor.h <span style="color: grey">(846d9b1)</span></li>
<li>tools/f-office/MainWindowAdaptor.cpp <span style="color: grey">(7ed90e6)</span></li>
<li>tools/f-office/PresentationTool.cpp <span style="color: grey">(bf8fa10)</span></li>
<li>tools/f-office/SlidingMotionDialog.h <span style="color: grey">(d884ebd)</span></li>
<li>tools/f-office/VirtualKeyBoard.h <span style="color: grey">(2913e1a)</span></li>
<li>tools/koabstraction/CMakeLists.txt <span style="color: grey">(2fa24e0)</span></li>
<li>tools/koabstraction/KoAbstractApplication.h <span style="color: grey">(f6c833c)</span></li>
<li>tools/koabstraction/KoAbstractApplicationController.h <span style="color: grey">(484f9c0)</span></li>
<li>tools/koabstraction/KoAbstractApplicationController.cpp <span style="color: grey">(7ee5542)</span></li>
<li>tools/koabstraction/KoAbstractApplicationImpl.h <span style="color: grey">(a77e0e6)</span></li>
<li>tools/koabstraction/KoAbstractApplicationWindow.h <span style="color: grey">(PRE-CREATION)</span></li>
<li>tools/koabstraction/KoAbstractApplicationWindow.cpp <span style="color: grey">(PRE-CREATION)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/100640/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>