author | leseb <leseb> | 2002-03-27 17:09:29 (UTC) |
---|---|---|
committer | leseb <leseb> | 2002-03-27 17:09:29 (UTC) |
commit | 4372bb8e59eb4b0d2fa5fba8f6525dc14873f239 (patch) (unidiff) | |
tree | 6947938ca5d22d3a373741ba3acfc20e8dd67729 /noncore/graphics/drawpad/drawpadcanvas.cpp | |
parent | fb056735d9a021787f83c6a791225a7ca70c1eb5 (diff) | |
download | opie-4372bb8e59eb4b0d2fa5fba8f6525dc14873f239.zip opie-4372bb8e59eb4b0d2fa5fba8f6525dc14873f239.tar.gz opie-4372bb8e59eb4b0d2fa5fba8f6525dc14873f239.tar.bz2 |
Import/export dialogs, improved new page dialog, new tools, ...
Diffstat (limited to 'noncore/graphics/drawpad/drawpadcanvas.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/graphics/drawpad/drawpadcanvas.cpp | 100 |
1 files changed, 90 insertions, 10 deletions
diff --git a/noncore/graphics/drawpad/drawpadcanvas.cpp b/noncore/graphics/drawpad/drawpadcanvas.cpp index 40c27b5..8818c03 100644 --- a/noncore/graphics/drawpad/drawpadcanvas.cpp +++ b/noncore/graphics/drawpad/drawpadcanvas.cpp | |||
@@ -15,5 +15,9 @@ | |||
15 | 15 | ||
16 | #include "drawmode.h" | ||
17 | #include "drawpad.h" | 16 | #include "drawpad.h" |
18 | #include "newpagedialog.h" | 17 | #include "newpagedialog.h" |
18 | #include "tool.h" | ||
19 | |||
20 | #include <qpe/applnk.h> | ||
21 | #include <qpe/filemanager.h> | ||
22 | #include <qpe/mimetype.h> | ||
19 | 23 | ||
@@ -21,2 +25,3 @@ | |||
21 | #include <qimage.h> | 25 | #include <qimage.h> |
26 | #include <qmessagebox.h> | ||
22 | #include <qpainter.h> | 27 | #include <qpainter.h> |
@@ -241,2 +246,56 @@ void DrawPadCanvas::save(QIODevice* ioDevice) | |||
241 | 246 | ||
247 | void DrawPadCanvas::importPage(const QString& fileName) | ||
248 | { | ||
249 | QPixmap* importedPixmap = new QPixmap(); | ||
250 | |||
251 | importedPixmap->load(fileName); | ||
252 | m_pages.insert(m_pages.at() + 1, importedPixmap); | ||
253 | |||
254 | m_pageBackups.clear(); | ||
255 | m_pageBackups.append(new QPixmap(*(m_pages.current()))); | ||
256 | |||
257 | resizeContents(m_pages.current()->width(), m_pages.current()->height()); | ||
258 | viewport()->update(); | ||
259 | |||
260 | emit pagesChanged(); | ||
261 | emit pageBackupsChanged(); | ||
262 | } | ||
263 | |||
264 | void DrawPadCanvas::exportPage(uint fromPage, uint toPage, const QString& name,const QString& format) | ||
265 | { | ||
266 | if (fromPage == toPage) { | ||
267 | DocLnk docLnk; | ||
268 | MimeType mimeType(format); | ||
269 | |||
270 | docLnk.setName(name); | ||
271 | docLnk.setType(mimeType.id()); | ||
272 | |||
273 | FileManager fileManager; | ||
274 | QIODevice* ioDevice = fileManager.saveFile(docLnk); | ||
275 | QImageIO imageIO(ioDevice, format); | ||
276 | |||
277 | QImage image = m_pages.current()->convertToImage(); | ||
278 | imageIO.setImage(image); | ||
279 | imageIO.write(); | ||
280 | delete ioDevice; | ||
281 | } else { | ||
282 | for (uint i = fromPage; i <= toPage; i++) { | ||
283 | DocLnk docLnk; | ||
284 | MimeType mimeType(format); | ||
285 | |||
286 | docLnk.setName(name + QString::number(i)); | ||
287 | docLnk.setType(mimeType.id()); | ||
288 | |||
289 | FileManager fileManager; | ||
290 | QIODevice* ioDevice = fileManager.saveFile(docLnk); | ||
291 | QImageIO imageIO(ioDevice, format); | ||
292 | |||
293 | QImage image = m_pages.at(i - 1)->convertToImage(); | ||
294 | imageIO.setImage(image); | ||
295 | imageIO.write(); | ||
296 | delete ioDevice; | ||
297 | } | ||
298 | } | ||
299 | } | ||
300 | |||
242 | QPixmap* DrawPadCanvas::currentPage() | 301 | QPixmap* DrawPadCanvas::currentPage() |
@@ -256,4 +315,10 @@ uint DrawPadCanvas::pageCount() | |||
256 | 315 | ||
257 | void DrawPadCanvas::clearAll() | 316 | void DrawPadCanvas::deleteAll() |
258 | { | 317 | { |
318 | QMessageBox messageBox(tr("Delete All"), tr("Do you want to delete\nall the pages?"), | ||
319 | QMessageBox::Information, QMessageBox::Yes, | ||
320 | QMessageBox::No | QMessageBox::Escape | QMessageBox::Default, | ||
321 | QMessageBox::NoButton, this); | ||
322 | |||
323 | if (messageBox.exec() == QMessageBox::Yes) { | ||
259 | m_pages.clear(); | 324 | m_pages.clear(); |
@@ -272,2 +337,3 @@ void DrawPadCanvas::clearAll() | |||
272 | } | 337 | } |
338 | } | ||
273 | 339 | ||
@@ -277,9 +343,9 @@ void DrawPadCanvas::newPage() | |||
277 | 343 | ||
278 | NewPageDialog newPageDialog(this); | 344 | NewPageDialog newPageDialog(rect.width(), rect.height(), m_pDrawPad->pen().color(), |
279 | newPageDialog.setWidth(rect.width()); | 345 | m_pDrawPad->brush().color(), this); |
280 | newPageDialog.setHeight(rect.height()); | ||
281 | 346 | ||
282 | if (newPageDialog.exec() == QDialog::Accepted) { | 347 | if (newPageDialog.exec() == QDialog::Accepted) { |
283 | m_pages.insert(m_pages.at() + 1, new QPixmap(newPageDialog.width(), newPageDialog.height())); | 348 | m_pages.insert(m_pages.at() + 1, new QPixmap(newPageDialog.selectedWidth(), |
284 | m_pages.current()->fill(Qt::white); | 349 | newPageDialog.selectedHeight())); |
350 | m_pages.current()->fill(newPageDialog.selectedColor()); | ||
285 | 351 | ||
@@ -298,2 +364,8 @@ void DrawPadCanvas::clearPage() | |||
298 | { | 364 | { |
365 | QMessageBox messageBox(tr("Clear Page"), tr("Do you want to clear\nthe current page?"), | ||
366 | QMessageBox::Information, QMessageBox::Yes, | ||
367 | QMessageBox::No | QMessageBox::Escape | QMessageBox::Default, | ||
368 | QMessageBox::NoButton, this); | ||
369 | |||
370 | if (messageBox.exec() == QMessageBox::Yes) { | ||
299 | m_pages.current()->fill(Qt::white); | 371 | m_pages.current()->fill(Qt::white); |
@@ -302,2 +374,3 @@ void DrawPadCanvas::clearPage() | |||
302 | } | 374 | } |
375 | } | ||
303 | 376 | ||
@@ -305,2 +378,8 @@ void DrawPadCanvas::deletePage() | |||
305 | { | 378 | { |
379 | QMessageBox messageBox(tr("Delete Page"), tr("Do you want to delete\nthe current page?"), | ||
380 | QMessageBox::Information, QMessageBox::Yes, | ||
381 | QMessageBox::No | QMessageBox::Escape | QMessageBox::Default, | ||
382 | QMessageBox::NoButton, this); | ||
383 | |||
384 | if (messageBox.exec() == QMessageBox::Yes) { | ||
306 | m_pages.remove(m_pages.current()); | 385 | m_pages.remove(m_pages.current()); |
@@ -321,2 +400,3 @@ void DrawPadCanvas::deletePage() | |||
321 | } | 400 | } |
401 | } | ||
322 | 402 | ||
@@ -414,3 +494,3 @@ void DrawPadCanvas::contentsMousePressEvent(QMouseEvent* e) | |||
414 | { | 494 | { |
415 | m_pDrawPad->drawMode()->mousePressEvent(e); | 495 | m_pDrawPad->tool()->mousePressEvent(e); |
416 | } | 496 | } |
@@ -419,3 +499,3 @@ void DrawPadCanvas::contentsMouseReleaseEvent(QMouseEvent* e) | |||
419 | { | 499 | { |
420 | m_pDrawPad->drawMode()->mouseReleaseEvent(e); | 500 | m_pDrawPad->tool()->mouseReleaseEvent(e); |
421 | 501 | ||
@@ -437,3 +517,3 @@ void DrawPadCanvas::contentsMouseMoveEvent(QMouseEvent* e) | |||
437 | { | 517 | { |
438 | m_pDrawPad->drawMode()->mouseMoveEvent(e); | 518 | m_pDrawPad->tool()->mouseMoveEvent(e); |
439 | } | 519 | } |