Diffstat (limited to 'noncore/graphics/drawpad/drawpadcanvas.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/graphics/drawpad/drawpadcanvas.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp index 423ef26..5d0c6e4 100644 --- a/noncore/graphics/drawpad/drawpadcanvas.cpp +++ b/noncore/graphics/drawpad/drawpadcanvas.cpp | |||
@@ -471,62 +471,64 @@ void DrawPadCanvas::goFirstPage() | |||
471 | } | 471 | } |
472 | 472 | ||
473 | void DrawPadCanvas::goPreviousPage() | 473 | void DrawPadCanvas::goPreviousPage() |
474 | { | 474 | { |
475 | m_pages.prev(); | 475 | m_pages.prev(); |
476 | 476 | ||
477 | resizeContents(m_pages.current()->pixmap()->width(), m_pages.current()->pixmap()->height()); | 477 | resizeContents(m_pages.current()->pixmap()->width(), m_pages.current()->pixmap()->height()); |
478 | viewport()->update(); | 478 | viewport()->update(); |
479 | 479 | ||
480 | emit pagesChanged(); | 480 | emit pagesChanged(); |
481 | } | 481 | } |
482 | 482 | ||
483 | void DrawPadCanvas::goNextPage() | 483 | void DrawPadCanvas::goNextPage() |
484 | { | 484 | { |
485 | m_pages.next(); | 485 | m_pages.next(); |
486 | resizeContents(m_pages.current()->pixmap()->width(), m_pages.current()->pixmap()->height()); | 486 | resizeContents(m_pages.current()->pixmap()->width(), m_pages.current()->pixmap()->height()); |
487 | viewport()->update(); | 487 | viewport()->update(); |
488 | 488 | ||
489 | emit pagesChanged(); | 489 | emit pagesChanged(); |
490 | } | 490 | } |
491 | 491 | ||
492 | void DrawPadCanvas::goLastPage() | 492 | void DrawPadCanvas::goLastPage() |
493 | { | 493 | { |
494 | m_pages.last(); | 494 | m_pages.last(); |
495 | 495 | ||
496 | resizeContents(m_pages.current()->pixmap()->width(), m_pages.current()->pixmap()->height()); | 496 | resizeContents(m_pages.current()->pixmap()->width(), m_pages.current()->pixmap()->height()); |
497 | viewport()->update(); | 497 | viewport()->update(); |
498 | 498 | ||
499 | emit pagesChanged(); | 499 | emit pagesChanged(); |
500 | } | 500 | } |
501 | 501 | ||
502 | void DrawPadCanvas::contentsMousePressEvent(QMouseEvent* e) | 502 | void DrawPadCanvas::contentsMousePressEvent(QMouseEvent* e) |
503 | { | 503 | { |
504 | m_pDrawPad->tool()->mousePressEvent(e); | 504 | m_pDrawPad->tool()->mousePressEvent(e); |
505 | } | 505 | } |
506 | 506 | ||
507 | void DrawPadCanvas::contentsMouseReleaseEvent(QMouseEvent* e) | 507 | void DrawPadCanvas::contentsMouseReleaseEvent(QMouseEvent* e) |
508 | { | 508 | { |
509 | m_pDrawPad->tool()->mouseReleaseEvent(e); | 509 | m_pDrawPad->tool()->mouseReleaseEvent(e); |
510 | } | 510 | } |
511 | 511 | ||
512 | void DrawPadCanvas::contentsMouseMoveEvent(QMouseEvent* e) | 512 | void DrawPadCanvas::contentsMouseMoveEvent(QMouseEvent* e) |
513 | { | 513 | { |
514 | m_pDrawPad->tool()->mouseMoveEvent(e); | 514 | m_pDrawPad->tool()->mouseMoveEvent(e); |
515 | } | 515 | } |
516 | 516 | ||
517 | void DrawPadCanvas::drawContents(QPainter* p, int cx, int cy, int cw, int ch) | 517 | void DrawPadCanvas::drawContents(QPainter* p, int cx, int cy, int cw, int ch) |
518 | { | 518 | { |
519 | Page* currentPage = m_pages.current(); | ||
520 | if ( !currentPage ) return; // no page yet --> initialization not finished (Mickeyl) | ||
519 | QRect clipRect(cx, cy, cw, ch); | 521 | QRect clipRect(cx, cy, cw, ch); |
520 | QRect pixmapRect(0, 0, m_pages.current()->pixmap()->width(), m_pages.current()->pixmap()->height()); | 522 | QRect pixmapRect(0, 0, currentPage->pixmap()->width(), m_pages.current()->pixmap()->height()); |
521 | QRect drawRect = pixmapRect.intersect(clipRect); | 523 | QRect drawRect = pixmapRect.intersect(clipRect); |
522 | 524 | ||
523 | p->drawPixmap(drawRect.topLeft(), *(m_pages.current()->pixmap()), drawRect); | 525 | p->drawPixmap(drawRect.topLeft(), *(currentPage->pixmap()), drawRect); |
524 | 526 | ||
525 | if (drawRect.right() < clipRect.right()) { | 527 | if (drawRect.right() < clipRect.right()) { |
526 | p->fillRect(drawRect.right() + 1, cy, cw - drawRect.width(), ch, colorGroup().dark()); | 528 | p->fillRect(drawRect.right() + 1, cy, cw - drawRect.width(), ch, colorGroup().dark()); |
527 | } | 529 | } |
528 | 530 | ||
529 | if (drawRect.bottom() < clipRect.bottom()) { | 531 | if (drawRect.bottom() < clipRect.bottom()) { |
530 | p->fillRect(cx, drawRect.bottom() + 1, cw, ch - drawRect.height(), colorGroup().dark()); | 532 | p->fillRect(cx, drawRect.bottom() + 1, cw, ch - drawRect.height(), colorGroup().dark()); |
531 | } | 533 | } |
532 | } | 534 | } |