summaryrefslogtreecommitdiff
path: root/noncore/graphics/drawpad/drawpadcanvas.cpp
Unidiff
Diffstat (limited to 'noncore/graphics/drawpad/drawpadcanvas.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/drawpad/drawpadcanvas.cpp29
1 files changed, 16 insertions, 13 deletions
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp
index db6288f..b39a633 100644
--- a/noncore/graphics/drawpad/drawpadcanvas.cpp
+++ b/noncore/graphics/drawpad/drawpadcanvas.cpp
@@ -319,24 +319,40 @@ QList<QPixmap> DrawPadCanvas::pages()
319} 319}
320 320
321uint DrawPadCanvas::pagePosition() 321uint DrawPadCanvas::pagePosition()
322{ 322{
323 return (m_pages.at() + 1); 323 return (m_pages.at() + 1);
324} 324}
325 325
326uint DrawPadCanvas::pageCount() 326uint DrawPadCanvas::pageCount()
327{ 327{
328 return m_pages.count(); 328 return m_pages.count();
329} 329}
330 330
331void DrawPadCanvas::backupPage()
332{
333 QPixmap* currentBackup = m_pageBackups.current();
334 while (m_pageBackups.last() != currentBackup) {
335 m_pageBackups.removeLast();
336 }
337
338 while (m_pageBackups.count() >= (5 + 1)) {
339 m_pageBackups.removeFirst();
340 }
341
342 m_pageBackups.append(new QPixmap(*(m_pages.current())));
343
344 emit pageBackupsChanged();
345}
346
331void DrawPadCanvas::deleteAll() 347void DrawPadCanvas::deleteAll()
332{ 348{
333 QMessageBox messageBox(tr("Delete All"), tr("Do you want to delete\nall the pages?"), 349 QMessageBox messageBox(tr("Delete All"), tr("Do you want to delete\nall the pages?"),
334 QMessageBox::Information, QMessageBox::Yes, 350 QMessageBox::Information, QMessageBox::Yes,
335 QMessageBox::No | QMessageBox::Escape | QMessageBox::Default, 351 QMessageBox::No | QMessageBox::Escape | QMessageBox::Default,
336 QMessageBox::NoButton, this); 352 QMessageBox::NoButton, this);
337 353
338 if (messageBox.exec() == QMessageBox::Yes) { 354 if (messageBox.exec() == QMessageBox::Yes) {
339 m_pages.clear(); 355 m_pages.clear();
340 356
341 m_pages.append(new QPixmap(contentsRect().size())); 357 m_pages.append(new QPixmap(contentsRect().size()));
342 m_pages.current()->fill(Qt::white); 358 m_pages.current()->fill(Qt::white);
@@ -504,37 +520,24 @@ void DrawPadCanvas::goLastPage()
504 emit pagesChanged(); 520 emit pagesChanged();
505 emit pageBackupsChanged(); 521 emit pageBackupsChanged();
506} 522}
507 523
508void DrawPadCanvas::contentsMousePressEvent(QMouseEvent* e) 524void DrawPadCanvas::contentsMousePressEvent(QMouseEvent* e)
509{ 525{
510 m_pDrawPad->tool()->mousePressEvent(e); 526 m_pDrawPad->tool()->mousePressEvent(e);
511} 527}
512 528
513void DrawPadCanvas::contentsMouseReleaseEvent(QMouseEvent* e) 529void DrawPadCanvas::contentsMouseReleaseEvent(QMouseEvent* e)
514{ 530{
515 m_pDrawPad->tool()->mouseReleaseEvent(e); 531 m_pDrawPad->tool()->mouseReleaseEvent(e);
516
517 QPixmap* currentBackup = m_pageBackups.current();
518 while (m_pageBackups.last() != currentBackup) {
519 m_pageBackups.removeLast();
520 }
521
522 while (m_pageBackups.count() >= (5 + 1)) {
523 m_pageBackups.removeFirst();
524 }
525
526 m_pageBackups.append(new QPixmap(*(m_pages.current())));
527
528 emit pageBackupsChanged();
529} 532}
530 533
531void DrawPadCanvas::contentsMouseMoveEvent(QMouseEvent* e) 534void DrawPadCanvas::contentsMouseMoveEvent(QMouseEvent* e)
532{ 535{
533 m_pDrawPad->tool()->mouseMoveEvent(e); 536 m_pDrawPad->tool()->mouseMoveEvent(e);
534} 537}
535 538
536void DrawPadCanvas::drawContents(QPainter* p, int cx, int cy, int cw, int ch) 539void DrawPadCanvas::drawContents(QPainter* p, int cx, int cy, int cw, int ch)
537{ 540{
538 QRect clipRect(cx, cy, cw, ch); 541 QRect clipRect(cx, cy, cw, ch);
539 542
540 p->drawPixmap(clipRect.topLeft(), *(m_pages.current()), clipRect); 543 p->drawPixmap(clipRect.topLeft(), *(m_pages.current()), clipRect);