summaryrefslogtreecommitdiff
authorleseb <leseb>2002-06-26 14:17:12 (UTC)
committer leseb <leseb>2002-06-26 14:17:12 (UTC)
commit531bb3c03f5576523a3c7ccecc714362507f69e1 (patch) (unidiff)
tree8bdda021e3ddd110ca75df06a1f6a5fbf0429a6c
parent527c3a7240bee3fe1d7c000aecc8ff0a01219fdd (diff)
downloadopie-531bb3c03f5576523a3c7ccecc714362507f69e1.zip
opie-531bb3c03f5576523a3c7ccecc714362507f69e1.tar.gz
opie-531bb3c03f5576523a3c7ccecc714362507f69e1.tar.bz2
Add application config
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/drawpad/drawpad.cpp39
-rw-r--r--noncore/graphics/drawpad/drawpad.h6
-rw-r--r--noncore/graphics/drawpad/drawpadcanvas.cpp13
-rw-r--r--noncore/graphics/drawpad/drawpadcanvas.h1
4 files changed, 54 insertions, 5 deletions
diff --git a/noncore/graphics/drawpad/drawpad.cpp b/noncore/graphics/drawpad/drawpad.cpp
index b29f5ba..4eb47a5 100644
--- a/noncore/graphics/drawpad/drawpad.cpp
+++ b/noncore/graphics/drawpad/drawpad.cpp
@@ -13,48 +13,49 @@
13 13
14#include "drawpad.h" 14#include "drawpad.h"
15 15
16#include "drawpadcanvas.h" 16#include "drawpadcanvas.h"
17#include "ellipsetool.h" 17#include "ellipsetool.h"
18#include "erasetool.h" 18#include "erasetool.h"
19#include "exportdialog.h" 19#include "exportdialog.h"
20#include "filledellipsetool.h" 20#include "filledellipsetool.h"
21#include "filledrectangletool.h" 21#include "filledrectangletool.h"
22#include "filltool.h" 22#include "filltool.h"
23#include "importdialog.h" 23#include "importdialog.h"
24#include "linetool.h" 24#include "linetool.h"
25#include "newpagedialog.h" 25#include "newpagedialog.h"
26#include "page.h" 26#include "page.h"
27#include "pageinformationdialog.h" 27#include "pageinformationdialog.h"
28#include "pointtool.h" 28#include "pointtool.h"
29#include "rectangletool.h" 29#include "rectangletool.h"
30#include "texttool.h" 30#include "texttool.h"
31#include "thumbnailview.h" 31#include "thumbnailview.h"
32 32
33#include <opie/colordialog.h> 33#include <opie/colordialog.h>
34#include <opie/colorpopupmenu.h> 34#include <opie/colorpopupmenu.h>
35 35
36#include <qpe/applnk.h> 36#include <qpe/applnk.h>
37#include <qpe/config.h>
37#include <qpe/global.h> 38#include <qpe/global.h>
38#include <qpe/qpemenubar.h> 39#include <qpe/qpemenubar.h>
39#include <qpe/qpetoolbar.h> 40#include <qpe/qpetoolbar.h>
40#include <qpe/resource.h> 41#include <qpe/resource.h>
41 42
42#include <qaction.h> 43#include <qaction.h>
43#include <qfile.h> 44#include <qfile.h>
44#include <qmessagebox.h> 45#include <qmessagebox.h>
45#include <qpainter.h> 46#include <qpainter.h>
46#include <qspinbox.h> 47#include <qspinbox.h>
47#include <qtoolbutton.h> 48#include <qtoolbutton.h>
48#include <qtooltip.h> 49#include <qtooltip.h>
49 50
50DrawPad::DrawPad(QWidget* parent, const char* name) 51DrawPad::DrawPad(QWidget* parent, const char* name)
51 : QMainWindow(parent, name) 52 : QMainWindow(parent, name)
52{ 53{
53 // init members 54 // init members
54 55
55 m_pDrawPadCanvas = new DrawPadCanvas(this, this); 56 m_pDrawPadCanvas = new DrawPadCanvas(this, this);
56 57
57 connect(m_pDrawPadCanvas, SIGNAL(pagesChanged()), this, SLOT(updateNavigationToolButtons())); 58 connect(m_pDrawPadCanvas, SIGNAL(pagesChanged()), this, SLOT(updateNavigationToolButtons()));
58 connect(m_pDrawPadCanvas, SIGNAL(pagesChanged()), this, SLOT(updateCaption())); 59 connect(m_pDrawPadCanvas, SIGNAL(pagesChanged()), this, SLOT(updateCaption()));
59 connect(m_pDrawPadCanvas, SIGNAL(pageBackupsChanged()), this, SLOT(updateUndoRedoToolButtons())); 60 connect(m_pDrawPadCanvas, SIGNAL(pageBackupsChanged()), this, SLOT(updateUndoRedoToolButtons()));
60 61
@@ -207,93 +208,97 @@ DrawPad::DrawPad(QWidget* parent, const char* name)
207 208
208 m_pFillToolAction = new QAction(tr("Fill Region"), Resource::loadIconSet("drawpad/fill.png"), QString::null, 0, this); 209 m_pFillToolAction = new QAction(tr("Fill Region"), Resource::loadIconSet("drawpad/fill.png"), QString::null, 0, this);
209 m_pFillToolAction->setToggleAction(true); 210 m_pFillToolAction->setToggleAction(true);
210 connect(m_pFillToolAction, SIGNAL(activated()), this, SLOT(setFillTool())); 211 connect(m_pFillToolAction, SIGNAL(activated()), this, SLOT(setFillTool()));
211 m_pFillToolAction->addTo(drawModeToolBar); 212 m_pFillToolAction->addTo(drawModeToolBar);
212 213
213 m_pEraseToolAction = new QAction(tr("Erase Point"), Resource::loadIconSet("drawpad/erase.png"), QString::null, 0, this); 214 m_pEraseToolAction = new QAction(tr("Erase Point"), Resource::loadIconSet("drawpad/erase.png"), QString::null, 0, this);
214 m_pEraseToolAction->setToggleAction(true); 215 m_pEraseToolAction->setToggleAction(true);
215 connect(m_pEraseToolAction, SIGNAL(activated()), this, SLOT(setEraseTool())); 216 connect(m_pEraseToolAction, SIGNAL(activated()), this, SLOT(setEraseTool()));
216 m_pEraseToolAction->addTo(drawModeToolBar); 217 m_pEraseToolAction->addTo(drawModeToolBar);
217 218
218 m_pTool = 0; 219 m_pTool = 0;
219 setRectangleTool(); 220 setRectangleTool();
220 setEllipseTool(); 221 setEllipseTool();
221 setPointTool(); 222 setPointTool();
222 223
223 emptyToolBar = new QPEToolBar(this); 224 emptyToolBar = new QPEToolBar(this);
224 emptyToolBar->setHorizontalStretchable(true); 225 emptyToolBar->setHorizontalStretchable(true);
225 emptyToolBar->addSeparator(); 226 emptyToolBar->addSeparator();
226 227
227 // init draw parameters toolbar 228 // init draw parameters toolbar
228 229
229 QPEToolBar* drawParametersToolBar = new QPEToolBar(this); 230 QPEToolBar* drawParametersToolBar = new QPEToolBar(this);
230 231
231 QSpinBox* penWidthSpinBox = new QSpinBox(1, 9, 1, drawParametersToolBar); 232 m_pPenWidthSpinBox = new QSpinBox(1, 9, 1, drawParametersToolBar);
232 connect(penWidthSpinBox, SIGNAL(valueChanged(int)), this, SLOT(changePenWidth(int))); 233 connect(m_pPenWidthSpinBox, SIGNAL(valueChanged(int)), this, SLOT(changePenWidth(int)));
233 234
234 QToolTip::add(penWidthSpinBox, tr("Pen Width")); 235 QToolTip::add(m_pPenWidthSpinBox, tr("Pen Width"));
235 penWidthSpinBox->setValue(1); 236 m_pPenWidthSpinBox->setValue(1);
236 penWidthSpinBox->setFocusPolicy(QWidget::NoFocus); 237 m_pPenWidthSpinBox->setFocusPolicy(QWidget::NoFocus);
237 238
238 m_pPenColorToolButton = new QToolButton(drawParametersToolBar); 239 m_pPenColorToolButton = new QToolButton(drawParametersToolBar);
239 m_pPenColorToolButton->setPixmap(Resource::loadPixmap("drawpad/pencolor.png")); 240 m_pPenColorToolButton->setPixmap(Resource::loadPixmap("drawpad/pencolor.png"));
240 241
241 ColorPopupMenu* penColorPopupMenu = new ColorPopupMenu(Qt::black, m_pPenColorToolButton); 242 ColorPopupMenu* penColorPopupMenu = new ColorPopupMenu(Qt::black, m_pPenColorToolButton);
242 connect(penColorPopupMenu, SIGNAL(colorSelected(const QColor&)), this, SLOT(changePenColor(const QColor&))); 243 connect(penColorPopupMenu, SIGNAL(colorSelected(const QColor&)), this, SLOT(changePenColor(const QColor&)));
243 244
244 QToolTip::add(m_pPenColorToolButton, tr("Pen Color")); 245 QToolTip::add(m_pPenColorToolButton, tr("Pen Color"));
245 m_pPenColorToolButton->setPopup(penColorPopupMenu); 246 m_pPenColorToolButton->setPopup(penColorPopupMenu);
246 m_pPenColorToolButton->setPopupDelay(0); 247 m_pPenColorToolButton->setPopupDelay(0);
247 248
248 changePenColor(Qt::black); 249 changePenColor(Qt::black);
249 250
250 m_pBrushColorToolButton = new QToolButton(drawParametersToolBar); 251 m_pBrushColorToolButton = new QToolButton(drawParametersToolBar);
251 m_pBrushColorToolButton->setPixmap(Resource::loadPixmap("drawpad/brushcolor.png")); 252 m_pBrushColorToolButton->setPixmap(Resource::loadPixmap("drawpad/brushcolor.png"));
252 253
253 ColorPopupMenu* brushColorPopupMenu = new ColorPopupMenu(Qt::white, m_pBrushColorToolButton); 254 ColorPopupMenu* brushColorPopupMenu = new ColorPopupMenu(Qt::white, m_pBrushColorToolButton);
254 connect(brushColorPopupMenu, SIGNAL(colorSelected(const QColor&)), this, SLOT(changeBrushColor(const QColor&))); 255 connect(brushColorPopupMenu, SIGNAL(colorSelected(const QColor&)), this, SLOT(changeBrushColor(const QColor&)));
255 256
256 QToolTip::add(m_pBrushColorToolButton, tr("Fill Color")); 257 QToolTip::add(m_pBrushColorToolButton, tr("Fill Color"));
257 m_pBrushColorToolButton->setPopup(brushColorPopupMenu); 258 m_pBrushColorToolButton->setPopup(brushColorPopupMenu);
258 m_pBrushColorToolButton->setPopupDelay(0); 259 m_pBrushColorToolButton->setPopupDelay(0);
259 260
260 changeBrushColor(Qt::white); 261 changeBrushColor(Qt::white);
261 262
262 // init pages 263 // init pages
263 264
264 QFile file(Global::applicationFileName("drawpad", "drawpad.xml")); 265 QFile file(Global::applicationFileName("drawpad", "drawpad.xml"));
265 266
266 if (file.open(IO_ReadOnly)) { 267 if (file.open(IO_ReadOnly)) {
267 m_pDrawPadCanvas->load(&file); 268 m_pDrawPadCanvas->load(&file);
268 file.close(); 269 file.close();
269 } else { 270 } else {
270 m_pDrawPadCanvas->initialPage(); 271 m_pDrawPadCanvas->initialPage();
271 } 272 }
273
274 loadConfig();
272} 275}
273 276
274DrawPad::~DrawPad() 277DrawPad::~DrawPad()
275{ 278{
279 saveConfig();
280
276 QFile file(Global::applicationFileName("drawpad", "drawpad.xml")); 281 QFile file(Global::applicationFileName("drawpad", "drawpad.xml"));
277 282
278 if (file.open(IO_WriteOnly)) { 283 if (file.open(IO_WriteOnly)) {
279 m_pDrawPadCanvas->save(&file); 284 m_pDrawPadCanvas->save(&file);
280 file.close(); 285 file.close();
281 } 286 }
282} 287}
283 288
284bool DrawPad::antiAliasing() 289bool DrawPad::antiAliasing()
285{ 290{
286 return (m_pAntiAliasingAction->isOn()); 291 return (m_pAntiAliasingAction->isOn());
287} 292}
288 293
289void DrawPad::newPage() 294void DrawPad::newPage()
290{ 295{
291 QRect rect = m_pDrawPadCanvas->contentsRect(); 296 QRect rect = m_pDrawPadCanvas->contentsRect();
292 297
293 NewPageDialog newPageDialog(rect.width(), rect.height(), m_pen.color(), m_brush.color(), this); 298 NewPageDialog newPageDialog(rect.width(), rect.height(), m_pen.color(), m_brush.color(), this);
294 299
295 if (newPageDialog.exec() == QDialog::Accepted) { 300 if (newPageDialog.exec() == QDialog::Accepted) {
296 m_pDrawPadCanvas->newPage(newPageDialog.selectedTitle(), newPageDialog.selectedWidth(), 301 m_pDrawPadCanvas->newPage(newPageDialog.selectedTitle(), newPageDialog.selectedWidth(),
297 newPageDialog.selectedHeight(), newPageDialog.selectedColor()); 302 newPageDialog.selectedHeight(), newPageDialog.selectedColor());
298 } 303 }
299} 304}
@@ -598,24 +603,48 @@ void DrawPad::exportPage()
598 exportDialog.showMaximized(); 603 exportDialog.showMaximized();
599 604
600 if (exportDialog.exec() == QDialog::Accepted) { 605 if (exportDialog.exec() == QDialog::Accepted) {
601 m_pDrawPadCanvas->exportPage(exportDialog.selectedFromPage(), exportDialog.selectedToPage(), 606 m_pDrawPadCanvas->exportPage(exportDialog.selectedFromPage(), exportDialog.selectedToPage(),
602 exportDialog.selectedName(), exportDialog.selectedFormat()); 607 exportDialog.selectedName(), exportDialog.selectedFormat());
603 } 608 }
604} 609}
605 610
606void DrawPad::thumbnailView() 611void DrawPad::thumbnailView()
607{ 612{
608 ThumbnailView thumbnailView(this, m_pDrawPadCanvas, this); 613 ThumbnailView thumbnailView(this, m_pDrawPadCanvas, this);
609 614
610 thumbnailView.showMaximized(); 615 thumbnailView.showMaximized();
611 thumbnailView.exec(); 616 thumbnailView.exec();
612} 617}
613 618
614void DrawPad::pageInformation() 619void DrawPad::pageInformation()
615{ 620{
616 PageInformationDialog pageInformationDialog(m_pDrawPadCanvas->currentPage()); 621 PageInformationDialog pageInformationDialog(m_pDrawPadCanvas->currentPage());
617 622
618 if (pageInformationDialog.exec() == QDialog::Accepted) { 623 if (pageInformationDialog.exec() == QDialog::Accepted) {
619 m_pDrawPadCanvas->currentPage()->setTitle(pageInformationDialog.selectedTitle()); 624 m_pDrawPadCanvas->currentPage()->setTitle(pageInformationDialog.selectedTitle());
620 } 625 }
621} 626}
627
628void DrawPad::loadConfig()
629{
630 Config config("drawpad");
631 config.setGroup("General");
632
633 m_pAntiAliasingAction->setOn(config.readBoolEntry("AntiAliasing", false));
634 m_pPenWidthSpinBox->setValue(config.readNumEntry("PenWidth", 1));
635 changePenColor(QColor(config.readEntry("PenColor", Qt::black.name())));
636 changeBrushColor(QColor(config.readEntry("BrushColor", Qt::white.name())));
637 m_pDrawPadCanvas->selectPage(config.readNumEntry("PagePosition", 1));
638}
639
640void DrawPad::saveConfig()
641{
642 Config config("drawpad");
643 config.setGroup("General");
644
645 config.writeEntry("PagePosition", (int)m_pDrawPadCanvas->pagePosition());
646 config.writeEntry("AntiAliasing", antiAliasing());
647 config.writeEntry("PenWidth", (int)m_pen.width());
648 config.writeEntry("PenColor", m_pen.color().name());
649 config.writeEntry("BrushColor", m_brush.color().name());
650}
diff --git a/noncore/graphics/drawpad/drawpad.h b/noncore/graphics/drawpad/drawpad.h
index 8e29c61..c57606c 100644
--- a/noncore/graphics/drawpad/drawpad.h
+++ b/noncore/graphics/drawpad/drawpad.h
@@ -2,105 +2,111 @@
2 * * 2 * *
3 * DrawPad - a drawing program for Opie Environment * 3 * DrawPad - a drawing program for Opie Environment *
4 * * 4 * *
5 * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> * 5 * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> *
6 * * 6 * *
7 * This program is free software; you can redistribute it and/or modify * 7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by * 8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or * 9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. * 10 * (at your option) any later version. *
11 * * 11 * *
12 ***************************************************************************/ 12 ***************************************************************************/
13 13
14#ifndef DRAWPAD_H 14#ifndef DRAWPAD_H
15#define DRAWPAD_H 15#define DRAWPAD_H
16 16
17#include <qmainwindow.h> 17#include <qmainwindow.h>
18 18
19#include <qpen.h> 19#include <qpen.h>
20 20
21class DrawPadCanvas; 21class DrawPadCanvas;
22class Tool; 22class Tool;
23 23
24class QAction; 24class QAction;
25class QColor; 25class QColor;
26class QSpinBox;
26class QToolButton; 27class QToolButton;
27class QWidgetStack; 28class QWidgetStack;
28 29
29class DrawPad : public QMainWindow 30class DrawPad : public QMainWindow
30{ 31{
31 Q_OBJECT 32 Q_OBJECT
32 33
33public: 34public:
34 DrawPad(QWidget* parent = 0, const char* name = 0); 35 DrawPad(QWidget* parent = 0, const char* name = 0);
35 ~DrawPad(); 36 ~DrawPad();
36 37
37 Tool* tool() { return m_pTool; } 38 Tool* tool() { return m_pTool; }
38 QPen pen() { return m_pen; } 39 QPen pen() { return m_pen; }
39 QBrush brush() { return m_brush; } 40 QBrush brush() { return m_brush; }
40 41
41 bool antiAliasing(); 42 bool antiAliasing();
42 43
43private slots: 44private slots:
44 void newPage(); 45 void newPage();
45 void clearPage(); 46 void clearPage();
46 void deletePage(); 47 void deletePage();
47 48
48 void setPointTool(); 49 void setPointTool();
49 void setLineTool(); 50 void setLineTool();
50 void setRectangleTool(); 51 void setRectangleTool();
51 void setFilledRectangleTool(); 52 void setFilledRectangleTool();
52 void setEllipseTool(); 53 void setEllipseTool();
53 void setFilledEllipseTool(); 54 void setFilledEllipseTool();
54 void setTextTool(); 55 void setTextTool();
55 void setFillTool(); 56 void setFillTool();
56 void setEraseTool(); 57 void setEraseTool();
57 58
58 void changePenWidth(int value); 59 void changePenWidth(int value);
59 void changePenColor(const QColor& color); 60 void changePenColor(const QColor& color);
60 void changeBrushColor(const QColor& color); 61 void changeBrushColor(const QColor& color);
61 62
62 void updateUndoRedoToolButtons(); 63 void updateUndoRedoToolButtons();
63 void updateNavigationToolButtons(); 64 void updateNavigationToolButtons();
64 void updateCaption(); 65 void updateCaption();
65 66
66 void deleteAll(); 67 void deleteAll();
67 void importPage(); 68 void importPage();
68 void exportPage(); 69 void exportPage();
69 void thumbnailView(); 70 void thumbnailView();
70 void pageInformation(); 71 void pageInformation();
71 72
72private: 73private:
74 void loadConfig();
75 void saveConfig();
76
73 DrawPadCanvas* m_pDrawPadCanvas; 77 DrawPadCanvas* m_pDrawPadCanvas;
74 78
75 Tool* m_pTool; 79 Tool* m_pTool;
76 QPen m_pen; 80 QPen m_pen;
77 QBrush m_brush; 81 QBrush m_brush;
78 82
79 QAction* m_pAntiAliasingAction; 83 QAction* m_pAntiAliasingAction;
80 84
81 QAction* m_pUndoAction; 85 QAction* m_pUndoAction;
82 QAction* m_pRedoAction; 86 QAction* m_pRedoAction;
83 87
84 QAction* m_pFirstPageAction; 88 QAction* m_pFirstPageAction;
85 QAction* m_pPreviousPageAction; 89 QAction* m_pPreviousPageAction;
86 QAction* m_pNextPageAction; 90 QAction* m_pNextPageAction;
87 QAction* m_pLastPageAction; 91 QAction* m_pLastPageAction;
88 92
89 QAction* m_pPointToolAction; 93 QAction* m_pPointToolAction;
90 QAction* m_pLineToolAction; 94 QAction* m_pLineToolAction;
91 QAction* m_pRectangleToolAction; 95 QAction* m_pRectangleToolAction;
92 QAction* m_pFilledRectangleToolAction; 96 QAction* m_pFilledRectangleToolAction;
93 QAction* m_pEllipseToolAction; 97 QAction* m_pEllipseToolAction;
94 QAction* m_pFilledEllipseToolAction; 98 QAction* m_pFilledEllipseToolAction;
95 QAction* m_pTextToolAction; 99 QAction* m_pTextToolAction;
96 QAction* m_pFillToolAction; 100 QAction* m_pFillToolAction;
97 QAction* m_pEraseToolAction; 101 QAction* m_pEraseToolAction;
98 102
99 QToolButton* m_pLineToolButton; 103 QToolButton* m_pLineToolButton;
100 QToolButton* m_pRectangleToolButton; 104 QToolButton* m_pRectangleToolButton;
101 QToolButton* m_pEllipseToolButton; 105 QToolButton* m_pEllipseToolButton;
102 QToolButton* m_pPenColorToolButton; 106 QToolButton* m_pPenColorToolButton;
103 QToolButton* m_pBrushColorToolButton; 107 QToolButton* m_pBrushColorToolButton;
108
109 QSpinBox* m_pPenWidthSpinBox;
104}; 110};
105 111
106#endif // DRAWPAD_H 112#endif // DRAWPAD_H
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp
index 5437068..05dd408 100644
--- a/noncore/graphics/drawpad/drawpadcanvas.cpp
+++ b/noncore/graphics/drawpad/drawpadcanvas.cpp
@@ -325,48 +325,61 @@ QList<Page> DrawPadCanvas::pages()
325 325
326uint DrawPadCanvas::pagePosition() 326uint DrawPadCanvas::pagePosition()
327{ 327{
328 return (m_pages.at() + 1); 328 return (m_pages.at() + 1);
329} 329}
330 330
331uint DrawPadCanvas::pageCount() 331uint DrawPadCanvas::pageCount()
332{ 332{
333 return m_pages.count(); 333 return m_pages.count();
334} 334}
335 335
336void DrawPadCanvas::selectPage(Page* page) 336void DrawPadCanvas::selectPage(Page* page)
337{ 337{
338 m_pages.findRef(page); 338 m_pages.findRef(page);
339 m_pageBackups.clear(); 339 m_pageBackups.clear();
340 m_pageBackups.append(new Page(*(m_pages.current()))); 340 m_pageBackups.append(new Page(*(m_pages.current())));
341 341
342 resizeContents(m_pages.current()->width(), m_pages.current()->height()); 342 resizeContents(m_pages.current()->width(), m_pages.current()->height());
343 viewport()->update(); 343 viewport()->update();
344 344
345 emit pagesChanged(); 345 emit pagesChanged();
346 emit pageBackupsChanged(); 346 emit pageBackupsChanged();
347} 347}
348 348
349void DrawPadCanvas::selectPage(uint pagePosition)
350{
351 m_pages.at(pagePosition - 1);
352 m_pageBackups.clear();
353 m_pageBackups.append(new Page(*(m_pages.current())));
354
355 resizeContents(m_pages.current()->width(), m_pages.current()->height());
356 viewport()->update();
357
358 emit pagesChanged();
359 emit pageBackupsChanged();
360}
361
349void DrawPadCanvas::backupPage() 362void DrawPadCanvas::backupPage()
350{ 363{
351 m_pages.current()->setLastModified(QDateTime::currentDateTime()); 364 m_pages.current()->setLastModified(QDateTime::currentDateTime());
352 365
353 Page* currentBackup = m_pageBackups.current(); 366 Page* currentBackup = m_pageBackups.current();
354 while (m_pageBackups.last() != currentBackup) { 367 while (m_pageBackups.last() != currentBackup) {
355 m_pageBackups.removeLast(); 368 m_pageBackups.removeLast();
356 } 369 }
357 370
358 while (m_pageBackups.count() >= (PAGE_BACKUPS + 1)) { 371 while (m_pageBackups.count() >= (PAGE_BACKUPS + 1)) {
359 m_pageBackups.removeFirst(); 372 m_pageBackups.removeFirst();
360 } 373 }
361 374
362 m_pageBackups.append(new Page(*(m_pages.current()))); 375 m_pageBackups.append(new Page(*(m_pages.current())));
363 376
364 emit pageBackupsChanged(); 377 emit pageBackupsChanged();
365} 378}
366 379
367void DrawPadCanvas::deleteAll() 380void DrawPadCanvas::deleteAll()
368{ 381{
369 m_pages.clear(); 382 m_pages.clear();
370 383
371 m_pages.append(new Page("", contentsRect().size())); 384 m_pages.append(new Page("", contentsRect().size()));
372 m_pages.current()->fill(Qt::white); 385 m_pages.current()->fill(Qt::white);
diff --git a/noncore/graphics/drawpad/drawpadcanvas.h b/noncore/graphics/drawpad/drawpadcanvas.h
index dcaff5c..2283e5e 100644
--- a/noncore/graphics/drawpad/drawpadcanvas.h
+++ b/noncore/graphics/drawpad/drawpadcanvas.h
@@ -27,48 +27,49 @@ class DrawPadCanvas : public QScrollView
27 Q_OBJECT 27 Q_OBJECT
28 28
29public: 29public:
30 DrawPadCanvas(DrawPad* drawPad, QWidget* parent = 0, const char* name = 0); 30 DrawPadCanvas(DrawPad* drawPad, QWidget* parent = 0, const char* name = 0);
31 ~DrawPadCanvas(); 31 ~DrawPadCanvas();
32 32
33 void load(QIODevice* ioDevice); 33 void load(QIODevice* ioDevice);
34 void initialPage(); 34 void initialPage();
35 void save(QIODevice* ioDevice); 35 void save(QIODevice* ioDevice);
36 36
37 void importPage(const QString& fileName); 37 void importPage(const QString& fileName);
38 void exportPage(uint fromPage, uint toPage, const QString& name, const QString& format); 38 void exportPage(uint fromPage, uint toPage, const QString& name, const QString& format);
39 39
40 bool undoEnabled(); 40 bool undoEnabled();
41 bool redoEnabled(); 41 bool redoEnabled();
42 bool goPreviousPageEnabled(); 42 bool goPreviousPageEnabled();
43 bool goNextPageEnabled(); 43 bool goNextPageEnabled();
44 44
45 Page* currentPage(); 45 Page* currentPage();
46 QList<Page> pages(); 46 QList<Page> pages();
47 uint pagePosition(); 47 uint pagePosition();
48 uint pageCount(); 48 uint pageCount();
49 49
50 void selectPage(Page* page); 50 void selectPage(Page* page);
51 void selectPage(uint pagePosition);
51 void backupPage(); 52 void backupPage();
52 53
53public slots: 54public slots:
54 void deleteAll(); 55 void deleteAll();
55 void newPage(QString title, uint width, uint height, const QColor& color); 56 void newPage(QString title, uint width, uint height, const QColor& color);
56 void clearPage(); 57 void clearPage();
57 void deletePage(); 58 void deletePage();
58 void movePageUp(); 59 void movePageUp();
59 void movePageDown(); 60 void movePageDown();
60 61
61 void undo(); 62 void undo();
62 void redo(); 63 void redo();
63 64
64 void goFirstPage(); 65 void goFirstPage();
65 void goPreviousPage(); 66 void goPreviousPage();
66 void goNextPage(); 67 void goNextPage();
67 void goLastPage(); 68 void goLastPage();
68 69
69signals: 70signals:
70 void pagesChanged(); 71 void pagesChanged();
71 void pageBackupsChanged(); 72 void pageBackupsChanged();
72 73
73protected: 74protected:
74 void contentsMousePressEvent(QMouseEvent* e); 75 void contentsMousePressEvent(QMouseEvent* e);