summaryrefslogtreecommitdiff
path: root/noncore/graphics/drawpad/drawpadcanvas.cpp
Side-by-side diff
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()
}
uint DrawPadCanvas::pagePosition()
{
return (m_pages.at() + 1);
}
uint DrawPadCanvas::pageCount()
{
return m_pages.count();
}
+void DrawPadCanvas::backupPage()
+{
+ QPixmap* currentBackup = m_pageBackups.current();
+ while (m_pageBackups.last() != currentBackup) {
+ m_pageBackups.removeLast();
+ }
+
+ while (m_pageBackups.count() >= (5 + 1)) {
+ m_pageBackups.removeFirst();
+ }
+
+ m_pageBackups.append(new QPixmap(*(m_pages.current())));
+
+ emit pageBackupsChanged();
+}
+
void DrawPadCanvas::deleteAll()
{
QMessageBox messageBox(tr("Delete All"), tr("Do you want to delete\nall the pages?"),
QMessageBox::Information, QMessageBox::Yes,
QMessageBox::No | QMessageBox::Escape | QMessageBox::Default,
QMessageBox::NoButton, this);
if (messageBox.exec() == QMessageBox::Yes) {
m_pages.clear();
m_pages.append(new QPixmap(contentsRect().size()));
m_pages.current()->fill(Qt::white);
@@ -504,37 +520,24 @@ void DrawPadCanvas::goLastPage()
emit pagesChanged();
emit pageBackupsChanged();
}
void DrawPadCanvas::contentsMousePressEvent(QMouseEvent* e)
{
m_pDrawPad->tool()->mousePressEvent(e);
}
void DrawPadCanvas::contentsMouseReleaseEvent(QMouseEvent* e)
{
m_pDrawPad->tool()->mouseReleaseEvent(e);
-
- QPixmap* currentBackup = m_pageBackups.current();
- while (m_pageBackups.last() != currentBackup) {
- m_pageBackups.removeLast();
- }
-
- while (m_pageBackups.count() >= (5 + 1)) {
- m_pageBackups.removeFirst();
- }
-
- m_pageBackups.append(new QPixmap(*(m_pages.current())));
-
- emit pageBackupsChanged();
}
void DrawPadCanvas::contentsMouseMoveEvent(QMouseEvent* e)
{
m_pDrawPad->tool()->mouseMoveEvent(e);
}
void DrawPadCanvas::drawContents(QPainter* p, int cx, int cy, int cw, int ch)
{
QRect clipRect(cx, cy, cw, ch);
p->drawPixmap(clipRect.topLeft(), *(m_pages.current()), clipRect);