~neon/kolourpaint/master

  • 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
Filename Latest Rev Last Changed Committer Comment Size
..
checkerboard-faster-render.diff 682 19 years ago Clarence Dang un-zzz but it really doesn't make that much differ 3.8 KB Diff Download File
color_eraser_speedup.diff 269 20 years ago Clarence Dang won't work svn path=/trunk/kdegraphics/kolourpain 9.8 KB Diff Download File
doc_resize_no_flicker.diff 622 19 years ago Clarence Dang CVS_SILENT +. svn path=/trunk/kdegraphics/kolourp 19.3 KB Diff Download File