-
Committer:
Clarence Dang
-
Date:
2005-02-02 11:06:42 UTC
-
Revision ID:
git-v1:56f541734abf70dc3505663c20dccce8ca8b77f9
Add View / Zoomed Thumbnail Mode, View / Enable Thumbnail Rectangle; Refactor and document kpView
Backend:
* kpthumbnail.cpp
- setView() now accepts null param (setWidget() doesn't support this -
had to manually use boxLayout())
- note TODO
* kpview.cpp
- new header guard style
- store all vars in d-ptr struct and remove #include's; hides impl, speeds compile
- document API
- split lazy kpMainWindow ptr
- support buddyView() & buddyViewScrollView() mainly for thumbnail
- add public origin()/setOrigin()
- add showBuddyViewScrollViewRectangle() and friends (mainly for thumbnail
rectangle feature)
- rename kpView::zoom(ViewToDoc|DocToView) to
kpView::transform(ViewToDoc|DocToView) so that name includes origin
translation (not just zooming)
- add zoomedDoc(Width|Height)()
- refactor kpView:
- add pure virtual adjustToEnvironment() impl for new view classes
- kpView now becomes a wonderfully clean base
- factor out "autoVariableZoom" into kpzoomedthumbnail.cpp; no more
confusion about which class (kpView, kpViewManager, kpThumbnail) has
what responsibility, reduce chance of stale state if changing
e.g. autoVariableZoom
- since kpView now abstract, ordinary zoomed main view moves to
kpZoomedView
- add abstract kpThumbnailView base derived from kpView (adds
setMaskToCoverDocument() for changing origin, calls
adjustToEnvironment() on resize, adds pure virtual caption()
for kpThumbnail window)
- add kpUnzoomedThumbnailView for new Unzoomed Thumbnail Mode
- add kpZoomedThumbnailView that contains all the "autoVariableZoom"
logic that was all over the place
- add originChanged() signal
- move in kpMainWindow::drawTransparentBackground() to reduce
coincidental coupling and make it static
- remove m_needBorder (not needed thanks to origin() and rounding down
behaviour of zoomedDoc(Width|Height)())
- remove unused m_docToViewMatrix
- kpView::showGrid() checks canShowGrid()
- update style
- in event handlers, check for tool() before deref (just in case)
- actually blink text cursor if thumbnail window has focus
(needs BACKPORT)
* kpviewmanager.cpp
- add activeView()
- add updateViewRectangleEdges()
- remove resizeViews() which incorrectly had business logic of view type;
add adjustViewsToEnvironment() which calls logic in pure virtual
kpView::adjustToEnvironment()
* kpviewscrollablecontainer.cpp
- add contents[XY]Soon(), signal contentsMovingSoon() to work around
braindead QScrollView::contentsMoving(int,int) signal (when this
QScrollView signal is fired, contents[XY]() still report old values
because QScrollView hasn't scrolled yet; there should be a
QScrollView::contentsMoved(int,int) IMO; no, we can't just use a
single shot timer - can take forever to fire as seen from drag scrolling)
- add resized() signal
* add kpToolControllerIface that gives currently selected tool
- kpToolToolBar implements
- used by kpView's kpMainWindow ptr splitting
* kpmainwindow_view.cpp
- add note about setUpdatesEnabled(), debug
svn path=/trunk/kdegraphics/kolourpaint/; revision=385271