[Kde-games-devel] Palapeli -> kdereview
Stefan Majewsky
majewsky at gmx.net
Tue Nov 10 01:47:39 CET 2009
Am Dienstag 10 November 2009 01:15:41 schrieb Stefan Majewsky:
> So long for the administrative notes. I'll post a follow-up message in a
> few minutes with technical notes.
Here we go.
The directory structure of the code is as follows:
* src = the main application
* libpala = an underlying library which serves as an interface for slicer
plugins
* slicers = the two slicer plugins that come with Palapeli (slicer plugins
describe how to slice an image into pieces)
* libpala-example = an example slicer (this would go to kdeexamples rather
than kdegames)
* mime = various smaller code bits and stuff for file manager integration
* tools = contains libpala-puzzlebuilder, a command line interface to libpala
(more tools will likely appear in later release cycles)
* puzzles = the default puzzles that come with Palapeli
* cmake = contains a find-script (which is installed together with the
headers; third-party slicer developers are encouraged to copy the find-script
to their own source tree)
So, as you see, Palapeli has a public library (libpala). APIDOX are included,
and a tutorial for third-party devs is available on Techbase [1].
I will try to ensure binary compatibility throughout the KDE 4.x lifetime, and
would very much desire if someone with experience in this topic could check
for possible BC issues.
I've written some new code today (some last-minute features) for which I do
not know how much Krazy likes it, but I've fixed all errors Krazy reported
(apart from two "improper include-guards" where Krazy fails to understand my
naming scheme).
In the main application, the most interesting part is the combined
tabbar/menubar. I've explained the reasons for this design in detail at [2].
On the technical side, I've checked the layout of the tabbar/menubar in all
widget styles I have available here, but would very much desire if someone
could test if the menubar is layed out correctly on Windows and Mac styles
(see [3] for how it is supposed to look).
Inside the main tabwidget, the tabs are implemented as mainwindows again. This
explains why there are three *ui.rc files (one for the main window and two for
the tab windows). This innovative XMLGUI usecase required me to implement
configureShortcuts() by hand. Sadly, I did not find a way to implement
configureToolbars(), so toolbars are not configurable right now.
Also, the puzzle table has some known bugs which I've reported as Qt bugs:
1. I'm using invisible handles to control the scene rect. The handle movement
is jumpy when the scene rect is changed in such a way that the view's
scrollbars are enabled (see [4]).
2. The OpenHandCursor changes into a ClosedHandCursor when dragging the
viewport, but not when dragging a piece, although I'm setting the cursor
correctly (see [5]).
Now that's all the interesting stuff I think. Thanks for your attention, and
thanks in advance for your reviews.
Greetings
Stefan
[1] http://techbase.kde.org/Development/Tutorials/Games/Palapeli_Slicers
[2] http://majewsky.wordpress.com/2009/09/28/palapeli-the-new-window-layout/
[3] http://majewsky.wordpress.com/2009/10/14/palapeli-creating-puzzles/
[4] http://bugreports.qt.nokia.com/browse/QTBUG-5437
[5] http://bugreports.qt.nokia.com/browse/QTBUG-5329
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-games-devel/attachments/20091110/c0e72037/attachment.sig
More information about the kde-games-devel
mailing list