[prev in list] [next in list] [prev in thread] [next in thread]
List: koffice-devel
Subject: Re: Review Request: Master Notes for KPresenter
From: "Fredy Yanardi" <fyanardi () gmail ! com>
Date: 2009-11-17 17:39:21
Message-ID: 20091117173921.27424.87261 () localhost
[Download RAW message or body]
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/2167/
-----------------------------------------------------------
(Updated 2009-11-17 17:39:21.462958)
Review request for KOffice.
Changes
-------
Updated patch:
* Problem in select all is because KoPAView::editSelectAll() gets all \
shapes directly from current active page's child shapes. To overcome this, \
I propose a new virtual method in KoPAViewMode to get the child shapes of \
the active page related to this view mode. Currently I name it \
KoPAViewMode::activePageChildShapes().
* Fix add/remove shapes in Notes / Notes Master view mode
* Fix showing the master shapes when in Notes view mode
* Don't crash when saving notes / notes master without text / thumbnail \
shape
Summary
-------
This is a patch to enable master notes for KPresenter. The patch is still \
work in progress, but all basic functionality and all necessary changes are \
there. What left is saving the master notes (I think). Here I list all \
proposed changes for kopageapp and kpresenter:
For kopageapp, there are some changes in KoPAView and KoPAViewMode classes \
to support the master notes and to allow more flexibility for similar \
feature in the future (i.e: view mode that has normal and master mode): 1. \
Additional parameter [bool master] for KoPAViewMode::setViewMode, to allow \
activating a view mode and directly enable/disable master mode for that \
view mode. So now the function signature is: void \
KoPAViewMode::setViewMode( KoPAViewMode *mode, bool master ); 2. Additional \
parameter [bool updateShapeManager] for KoPAViewMode::setActivePage. \
Currently if this method is called, the shape manager of the canvas is \
updated with the page's shapes. But this is redundant for KPrViewModeNotes, \
since it needs to update the shape manager with different set of shapes. \
The additional parameter will tell the function whether to update the shape \
manager of not. So, the proposed function signature is: void \
KoPAViewMode::setActivePage( KoPAPageBase *page, bool updateShapeManager ); \
3. Additional parameter [bool master] for KoPAViewMode::activate to \
facilitate[1]. The function signature becomes: void KoPAViewMode::activate( \
KoPAViewMode *previousViewMode, bool master ) 4. Additional function \
KoPAView::setViewModeSavedPage( KoPAPageBase *page ) and \
KoPAView::viewModeSavedPage(). The reason for this is because we need to \
save the normal page (KoPAPage) when we go to master mode, so that if we go \
back to normal mode again, that saved page can be activated. Previously \
only one view mode can go to master mode, hence the KoPAPage is saved \
inside the KoPAViewModeNormal. But now there are two view modes that can go \
to master mode, hence there must be a central place to set and get the \
saved page. 5. Remove doUpdateActivePage function from KoPAView, and do the \
updating of the active page in each view mode's updateActivePage instead. \
There are two main reasons I propose this change:
* The implementation for updating active page is different in each view \
mode, and it is only used in KoPAViewModeNormal.
* Too many routing for this doUpdateActivePage. Currently for updating \
active page of the KoPAViewModeNormal is: KoPAView::updateActivePage() -> \
KoPAViewMode::updateActivePage()-> KoPAView::doUpdateActivePage(). (This \
is not directly related to master notes, just to simplify and clean up a \
bit)
And for KPresenter itself:
1. Split KPrNotes into three classes: KPrNotesBase, KPrMasterNotes, and \
KPrNotes. KPrNotes gets the thumbnail shape, text shape and page layout \
from KPrMasterNotes. 2. Some changes in KPrViewModeNotes to support \
displaying notes and masternotes shapes.
Any critics, comments or suggestions are greatly appreciated :)
Diffs (updated)
-----
/trunk/koffice/kpresenter/part/CMakeLists.txt 1050110
/trunk/koffice/kpresenter/part/KPrMasterNotes.h PRE-CREATION
/trunk/koffice/kpresenter/part/KPrMasterNotes.cpp PRE-CREATION
/trunk/koffice/kpresenter/part/KPrMasterPage.h 1050110
/trunk/koffice/kpresenter/part/KPrMasterPage.cpp 1050110
/trunk/koffice/kpresenter/part/KPrNotes.h 1050110
/trunk/koffice/kpresenter/part/KPrNotes.cpp 1050110
/trunk/koffice/kpresenter/part/KPrNotesBase.h PRE-CREATION
/trunk/koffice/kpresenter/part/KPrNotesBase.cpp PRE-CREATION
/trunk/koffice/kpresenter/part/KPrView.h 1050110
/trunk/koffice/kpresenter/part/KPrView.cpp 1050110
/trunk/koffice/kpresenter/part/KPrViewModeNotes.h 1050110
/trunk/koffice/kpresenter/part/KPrViewModeNotes.cpp 1050110
/trunk/koffice/kpresenter/part/KPrViewModePresentation.h 1050110
/trunk/koffice/kpresenter/part/KPrViewModePresentation.cpp 1050110
/trunk/koffice/kpresenter/part/KPrViewModePreviewPageEffect.h 1050110
/trunk/koffice/kpresenter/part/KPrViewModePreviewPageEffect.cpp 1050110
/trunk/koffice/kpresenter/part/kpresenter.rc 1050110
/trunk/koffice/libs/kopageapp/KoPAView.h 1050110
/trunk/koffice/libs/kopageapp/KoPAView.cpp 1050110
/trunk/koffice/libs/kopageapp/KoPAViewMode.h 1050110
/trunk/koffice/libs/kopageapp/KoPAViewMode.cpp 1050110
/trunk/koffice/libs/kopageapp/KoPAViewModeNormal.h 1050110
/trunk/koffice/libs/kopageapp/KoPAViewModeNormal.cpp 1050110
Diff: http://reviewboard.kde.org/r/2167/diff
Testing
-------
Thanks,
Fredy
_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic