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
@@ -307,48 +307,64 @@ void DrawPadCanvas::exportPage(uint fromPage, uint toPage, const QString& name,c
307 } 307 }
308 } 308 }
309} 309}
310 310
311QPixmap* DrawPadCanvas::currentPage() 311QPixmap* DrawPadCanvas::currentPage()
312{ 312{
313 return m_pages.current(); 313 return m_pages.current();
314} 314}
315 315
316QList<QPixmap> DrawPadCanvas::pages() 316QList<QPixmap> DrawPadCanvas::pages()
317{ 317{
318 return m_pages; 318 return m_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);
343 359
344 m_pageBackups.clear(); 360 m_pageBackups.clear();
345 m_pageBackups.append(new QPixmap(*(m_pages.current()))); 361 m_pageBackups.append(new QPixmap(*(m_pages.current())));
346 362
347 resizeContents(m_pages.current()->width(), m_pages.current()->height()); 363 resizeContents(m_pages.current()->width(), m_pages.current()->height());
348 viewport()->update(); 364 viewport()->update();
349 365
350 emit pagesChanged(); 366 emit pagesChanged();
351 emit pageBackupsChanged(); 367 emit pageBackupsChanged();
352 } 368 }
353} 369}
354 370
@@ -492,50 +508,37 @@ void DrawPadCanvas::goNextPage()
492 emit pageBackupsChanged(); 508 emit pageBackupsChanged();
493} 509}
494 510
495void DrawPadCanvas::goLastPage() 511void DrawPadCanvas::goLastPage()
496{ 512{
497 m_pages.last(); 513 m_pages.last();
498 m_pageBackups.clear(); 514 m_pageBackups.clear();
499 m_pageBackups.append(new QPixmap(*(m_pages.current()))); 515 m_pageBackups.append(new QPixmap(*(m_pages.current())));
500 516
501 resizeContents(m_pages.current()->width(), m_pages.current()->height()); 517 resizeContents(m_pages.current()->width(), m_pages.current()->height());
502 viewport()->update(); 518 viewport()->update();
503 519
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);
541} 544}