summaryrefslogtreecommitdiff
authorleseb <leseb>2002-03-29 20:21:17 (UTC)
committer leseb <leseb>2002-03-29 20:21:17 (UTC)
commit1c3f2b3a329eac52d2a735d818cd70101376999f (patch) (unidiff)
tree834cc3c1542d5059abf87c7e890b77f390c13116
parentdee656e9bf63cc44f906375d5b24cd953a945a8f (diff)
downloadopie-1c3f2b3a329eac52d2a735d818cd70101376999f.zip
opie-1c3f2b3a329eac52d2a735d818cd70101376999f.tar.gz
opie-1c3f2b3a329eac52d2a735d818cd70101376999f.tar.bz2
Memory leak, null pointer fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/drawpad/drawpad.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/noncore/graphics/drawpad/drawpad.cpp b/noncore/graphics/drawpad/drawpad.cpp
index 5c7e541..aae9ab0 100644
--- a/noncore/graphics/drawpad/drawpad.cpp
+++ b/noncore/graphics/drawpad/drawpad.cpp
@@ -233,271 +233,276 @@ DrawPad::DrawPad(QWidget* parent, const char* name)
233 233
234 QAction* chooseBrushColorAction = new QAction(tr("More"), tr("More..."), 0, this); 234 QAction* chooseBrushColorAction = new QAction(tr("More"), tr("More..."), 0, this);
235 connect(chooseBrushColorAction, SIGNAL(activated()), this, SLOT(chooseBrushColor())); 235 connect(chooseBrushColorAction, SIGNAL(activated()), this, SLOT(chooseBrushColor()));
236 chooseBrushColorAction->addTo(brushColorPopupMenu); 236 chooseBrushColorAction->addTo(brushColorPopupMenu);
237 237
238 QToolTip::add(m_pBrushColorToolButton, tr("Fill Color")); 238 QToolTip::add(m_pBrushColorToolButton, tr("Fill Color"));
239 m_pBrushColorToolButton->setPopup(brushColorPopupMenu); 239 m_pBrushColorToolButton->setPopup(brushColorPopupMenu);
240 m_pBrushColorToolButton->setPopupDelay(0); 240 m_pBrushColorToolButton->setPopupDelay(0);
241 241
242 brushColorPanel->buttonSelected(Qt::white); 242 brushColorPanel->buttonSelected(Qt::white);
243 243
244 // init pages 244 // init pages
245 245
246 QFile file(Global::applicationFileName("drawpad", "drawpad.xml")); 246 QFile file(Global::applicationFileName("drawpad", "drawpad.xml"));
247 247
248 if (file.open(IO_ReadOnly)) { 248 if (file.open(IO_ReadOnly)) {
249 m_pDrawPadCanvas->load(&file); 249 m_pDrawPadCanvas->load(&file);
250 file.close(); 250 file.close();
251 } else { 251 } else {
252 m_pDrawPadCanvas->initialPage(); 252 m_pDrawPadCanvas->initialPage();
253 } 253 }
254} 254}
255 255
256DrawPad::~DrawPad() 256DrawPad::~DrawPad()
257{ 257{
258 QFile file(Global::applicationFileName("drawpad", "drawpad.xml")); 258 QFile file(Global::applicationFileName("drawpad", "drawpad.xml"));
259 259
260 if (file.open(IO_WriteOnly)) { 260 if (file.open(IO_WriteOnly)) {
261 m_pDrawPadCanvas->save(&file); 261 m_pDrawPadCanvas->save(&file);
262 file.close(); 262 file.close();
263 } 263 }
264} 264}
265 265
266void DrawPad::setPointTool() 266void DrawPad::setPointTool()
267{ 267{
268 if (m_pTool) { 268 if (m_pTool) {
269 delete m_pTool; 269 delete m_pTool;
270 } 270 }
271 271
272 m_pTool = new PointTool(this, m_pDrawPadCanvas); 272 m_pTool = new PointTool(this, m_pDrawPadCanvas);
273 273
274 m_pPointToolAction->setOn(true); 274 m_pPointToolAction->setOn(true);
275 m_pLineToolAction->setOn(false); 275 m_pLineToolAction->setOn(false);
276 m_pRectangleToolButton->setOn(false); 276 m_pRectangleToolButton->setOn(false);
277 m_pEllipseToolButton->setOn(false); 277 m_pEllipseToolButton->setOn(false);
278 m_pFillToolAction->setOn(false); 278 m_pFillToolAction->setOn(false);
279 m_pEraseToolAction->setOn(false); 279 m_pEraseToolAction->setOn(false);
280} 280}
281 281
282void DrawPad::setLineTool() 282void DrawPad::setLineTool()
283{ 283{
284 if (m_pTool) { 284 if (m_pTool) {
285 delete m_pTool; 285 delete m_pTool;
286 } 286 }
287 287
288 m_pTool = new LineTool(this, m_pDrawPadCanvas); 288 m_pTool = new LineTool(this, m_pDrawPadCanvas);
289 289
290 m_pPointToolAction->setOn(false); 290 m_pPointToolAction->setOn(false);
291 m_pLineToolAction->setOn(true); 291 m_pLineToolAction->setOn(true);
292 m_pRectangleToolButton->setOn(false); 292 m_pRectangleToolButton->setOn(false);
293 m_pEllipseToolButton->setOn(false); 293 m_pEllipseToolButton->setOn(false);
294 m_pFillToolAction->setOn(false); 294 m_pFillToolAction->setOn(false);
295 m_pEraseToolAction->setOn(false); 295 m_pEraseToolAction->setOn(false);
296} 296}
297 297
298void DrawPad::setRectangleTool() 298void DrawPad::setRectangleTool()
299{ 299{
300 if (m_pTool) { 300 if (m_pTool) {
301 delete m_pTool; 301 delete m_pTool;
302 } 302 }
303 303
304 m_pTool = new RectangleTool(this, m_pDrawPadCanvas); 304 m_pTool = new RectangleTool(this, m_pDrawPadCanvas);
305 305
306 m_pRectangleToolButton->setIconSet(m_pRectangleToolAction->iconSet()); 306 m_pRectangleToolButton->setIconSet(m_pRectangleToolAction->iconSet());
307 QToolTip::add(m_pRectangleToolButton, m_pRectangleToolAction->text()); 307 QToolTip::add(m_pRectangleToolButton, m_pRectangleToolAction->text());
308 308
309 disconnect(m_pRectangleToolButton, SIGNAL(clicked()), 0, 0); 309 disconnect(m_pRectangleToolButton, SIGNAL(clicked()), 0, 0);
310 connect(m_pRectangleToolButton, SIGNAL(clicked()), m_pRectangleToolAction, SIGNAL(activated())); 310 connect(m_pRectangleToolButton, SIGNAL(clicked()), m_pRectangleToolAction, SIGNAL(activated()));
311 311
312 m_pPointToolAction->setOn(false); 312 m_pPointToolAction->setOn(false);
313 m_pLineToolAction->setOn(false); 313 m_pLineToolAction->setOn(false);
314 m_pRectangleToolButton->setOn(true); 314 m_pRectangleToolButton->setOn(true);
315 m_pEllipseToolButton->setOn(false); 315 m_pEllipseToolButton->setOn(false);
316 m_pFillToolAction->setOn(false); 316 m_pFillToolAction->setOn(false);
317 m_pEraseToolAction->setOn(false); 317 m_pEraseToolAction->setOn(false);
318} 318}
319 319
320void DrawPad::setFilledRectangleTool() 320void DrawPad::setFilledRectangleTool()
321{ 321{
322 if (m_pTool) { 322 if (m_pTool) {
323 delete m_pTool; 323 delete m_pTool;
324 } 324 }
325 325
326 m_pTool = new FilledRectangleTool(this, m_pDrawPadCanvas); 326 m_pTool = new FilledRectangleTool(this, m_pDrawPadCanvas);
327 327
328 m_pRectangleToolButton->setIconSet(m_pFilledRectangleToolAction->iconSet()); 328 m_pRectangleToolButton->setIconSet(m_pFilledRectangleToolAction->iconSet());
329 QToolTip::add(m_pRectangleToolButton, m_pFilledRectangleToolAction->text()); 329 QToolTip::add(m_pRectangleToolButton, m_pFilledRectangleToolAction->text());
330 330
331 disconnect(m_pRectangleToolButton, SIGNAL(clicked()), 0, 0); 331 disconnect(m_pRectangleToolButton, SIGNAL(clicked()), 0, 0);
332 connect(m_pRectangleToolButton, SIGNAL(clicked()), m_pFilledRectangleToolAction, SIGNAL(activated())); 332 connect(m_pRectangleToolButton, SIGNAL(clicked()), m_pFilledRectangleToolAction, SIGNAL(activated()));
333 333
334 m_pPointToolAction->setOn(false); 334 m_pPointToolAction->setOn(false);
335 m_pLineToolAction->setOn(false); 335 m_pLineToolAction->setOn(false);
336 m_pRectangleToolButton->setOn(true); 336 m_pRectangleToolButton->setOn(true);
337 m_pEllipseToolButton->setOn(false); 337 m_pEllipseToolButton->setOn(false);
338 m_pFillToolAction->setOn(false); 338 m_pFillToolAction->setOn(false);
339 m_pEraseToolAction->setOn(false); 339 m_pEraseToolAction->setOn(false);
340} 340}
341 341
342void DrawPad::setEllipseTool() 342void DrawPad::setEllipseTool()
343{ 343{
344 if (m_pTool) { 344 if (m_pTool) {
345 delete m_pTool; 345 delete m_pTool;
346 } 346 }
347 347
348 m_pTool = new EllipseTool(this, m_pDrawPadCanvas); 348 m_pTool = new EllipseTool(this, m_pDrawPadCanvas);
349 349
350 m_pEllipseToolButton->setIconSet(m_pEllipseToolAction->iconSet()); 350 m_pEllipseToolButton->setIconSet(m_pEllipseToolAction->iconSet());
351 QToolTip::add(m_pEllipseToolButton, m_pEllipseToolAction->text()); 351 QToolTip::add(m_pEllipseToolButton, m_pEllipseToolAction->text());
352 352
353 disconnect(m_pEllipseToolButton, SIGNAL(clicked()), 0, 0); 353 disconnect(m_pEllipseToolButton, SIGNAL(clicked()), 0, 0);
354 connect(m_pEllipseToolButton, SIGNAL(clicked()), m_pEllipseToolAction, SIGNAL(activated())); 354 connect(m_pEllipseToolButton, SIGNAL(clicked()), m_pEllipseToolAction, SIGNAL(activated()));
355 355
356 m_pPointToolAction->setOn(false); 356 m_pPointToolAction->setOn(false);
357 m_pLineToolAction->setOn(false); 357 m_pLineToolAction->setOn(false);
358 m_pRectangleToolButton->setOn(false); 358 m_pRectangleToolButton->setOn(false);
359 m_pEllipseToolButton->setOn(true); 359 m_pEllipseToolButton->setOn(true);
360 m_pFillToolAction->setOn(false); 360 m_pFillToolAction->setOn(false);
361 m_pEraseToolAction->setOn(false); 361 m_pEraseToolAction->setOn(false);
362} 362}
363 363
364void DrawPad::setFilledEllipseTool() 364void DrawPad::setFilledEllipseTool()
365{ 365{
366 if (m_pTool) { 366 if (m_pTool) {
367 delete m_pTool; 367 delete m_pTool;
368 } 368 }
369 369
370 m_pTool = new FilledEllipseTool(this, m_pDrawPadCanvas); 370 m_pTool = new FilledEllipseTool(this, m_pDrawPadCanvas);
371 371
372 m_pEllipseToolButton->setIconSet(m_pFilledEllipseToolAction->iconSet()); 372 m_pEllipseToolButton->setIconSet(m_pFilledEllipseToolAction->iconSet());
373 QToolTip::add(m_pEllipseToolButton, m_pFilledEllipseToolAction->text()); 373 QToolTip::add(m_pEllipseToolButton, m_pFilledEllipseToolAction->text());
374 374
375 disconnect(m_pEllipseToolButton, SIGNAL(clicked()), 0, 0); 375 disconnect(m_pEllipseToolButton, SIGNAL(clicked()), 0, 0);
376 connect(m_pEllipseToolButton, SIGNAL(clicked()), m_pFilledEllipseToolAction, SIGNAL(activated())); 376 connect(m_pEllipseToolButton, SIGNAL(clicked()), m_pFilledEllipseToolAction, SIGNAL(activated()));
377 377
378 m_pPointToolAction->setOn(false); 378 m_pPointToolAction->setOn(false);
379 m_pLineToolAction->setOn(false); 379 m_pLineToolAction->setOn(false);
380 m_pRectangleToolButton->setOn(false); 380 m_pRectangleToolButton->setOn(false);
381 m_pEllipseToolButton->setOn(true); 381 m_pEllipseToolButton->setOn(true);
382 m_pFillToolAction->setOn(false); 382 m_pFillToolAction->setOn(false);
383 m_pEraseToolAction->setOn(false); 383 m_pEraseToolAction->setOn(false);
384} 384}
385 385
386void DrawPad::setFillTool() 386void DrawPad::setFillTool()
387{ 387{
388 if (m_pTool) { 388 if (m_pTool) {
389 delete m_pTool; 389 delete m_pTool;
390 } 390 }
391 391
392 m_pTool = new FillTool(this, m_pDrawPadCanvas); 392 m_pTool = new FillTool(this, m_pDrawPadCanvas);
393 393
394 m_pPointToolAction->setOn(false); 394 m_pPointToolAction->setOn(false);
395 m_pLineToolAction->setOn(false); 395 m_pLineToolAction->setOn(false);
396 m_pRectangleToolButton->setOn(false); 396 m_pRectangleToolButton->setOn(false);
397 m_pEllipseToolButton->setOn(false); 397 m_pEllipseToolButton->setOn(false);
398 m_pFillToolAction->setOn(true); 398 m_pFillToolAction->setOn(true);
399 m_pEraseToolAction->setOn(false); 399 m_pEraseToolAction->setOn(false);
400} 400}
401 401
402void DrawPad::setEraseTool() 402void DrawPad::setEraseTool()
403{ 403{
404 if (m_pTool) { 404 if (m_pTool) {
405 delete m_pTool; 405 delete m_pTool;
406 } 406 }
407 407
408 m_pTool = new EraseTool(this, m_pDrawPadCanvas); 408 m_pTool = new EraseTool(this, m_pDrawPadCanvas);
409 409
410 m_pPointToolAction->setOn(false); 410 m_pPointToolAction->setOn(false);
411 m_pLineToolAction->setOn(false); 411 m_pLineToolAction->setOn(false);
412 m_pRectangleToolButton->setOn(false); 412 m_pRectangleToolButton->setOn(false);
413 m_pEllipseToolButton->setOn(false); 413 m_pEllipseToolButton->setOn(false);
414 m_pFillToolAction->setOn(false); 414 m_pFillToolAction->setOn(false);
415 m_pEraseToolAction->setOn(true); 415 m_pEraseToolAction->setOn(true);
416} 416}
417 417
418void DrawPad::changePenWidth(int value) 418void DrawPad::changePenWidth(int value)
419{ 419{
420 m_pen.setWidth(value); 420 m_pen.setWidth(value);
421} 421}
422 422
423void DrawPad::changePenColor(const QColor& color) 423void DrawPad::changePenColor(const QColor& color)
424{ 424{
425 m_pen.setColor(color); 425 m_pen.setColor(color);
426 426
427 QPainter painter; 427 QPainter painter;
428 painter.begin(m_pPenColorToolButton->pixmap()); 428 painter.begin(m_pPenColorToolButton->pixmap());
429 painter.fillRect(QRect(0, 12, 14, 2), m_pen.color()); 429 painter.fillRect(QRect(0, 12, 14, 2), m_pen.color());
430 painter.end(); 430 painter.end();
431 431
432 m_pPenColorToolButton->popup()->hide(); 432 m_pPenColorToolButton->popup()->hide();
433} 433}
434 434
435void DrawPad::changeBrushColor(const QColor& color) 435void DrawPad::changeBrushColor(const QColor& color)
436{ 436{
437 m_brush = QBrush(color); 437 m_brush = QBrush(color);
438 438
439 QPainter painter; 439 QPainter painter;
440 painter.begin(m_pBrushColorToolButton->pixmap()); 440 painter.begin(m_pBrushColorToolButton->pixmap());
441 painter.fillRect(QRect(0, 12, 14, 2), m_brush.color()); 441 painter.fillRect(QRect(0, 12, 14, 2), m_brush.color());
442 painter.end(); 442 painter.end();
443 443
444 m_pBrushColorToolButton->popup()->hide(); 444 m_pBrushColorToolButton->popup()->hide();
445} 445}
446 446
447void DrawPad::choosePenColor() 447void DrawPad::choosePenColor()
448{ 448{
449 QColor newPenColor = QColorDialog::getColor(m_pen.color()); 449 QColor newPenColor = QColorDialog::getColor(m_pen.color());
450 changePenColor(newPenColor); 450 changePenColor(newPenColor);
451} 451}
452 452
453void DrawPad::chooseBrushColor() 453void DrawPad::chooseBrushColor()
454{ 454{
455 QColor newBrushColor = QColorDialog::getColor(m_brush.color()); 455 QColor newBrushColor = QColorDialog::getColor(m_brush.color());
456 changeBrushColor(newBrushColor); 456 changeBrushColor(newBrushColor);
457} 457}
458 458
459void DrawPad::updateUndoRedoToolButtons() 459void DrawPad::updateUndoRedoToolButtons()
460{ 460{
461 m_pUndoAction->setEnabled(m_pDrawPadCanvas->undoEnabled()); 461 m_pUndoAction->setEnabled(m_pDrawPadCanvas->undoEnabled());
462 m_pRedoAction->setEnabled(m_pDrawPadCanvas->redoEnabled()); 462 m_pRedoAction->setEnabled(m_pDrawPadCanvas->redoEnabled());
463} 463}
464 464
465void DrawPad::updateNavigationToolButtons() 465void DrawPad::updateNavigationToolButtons()
466{ 466{
467 m_pFirstPageAction->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled()); 467 m_pFirstPageAction->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled());
468 m_pPreviousPageAction->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled()); 468 m_pPreviousPageAction->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled());
469 m_pNextPageAction->setEnabled(m_pDrawPadCanvas->goNextPageEnabled()); 469 m_pNextPageAction->setEnabled(m_pDrawPadCanvas->goNextPageEnabled());
470 m_pLastPageAction->setEnabled(m_pDrawPadCanvas->goNextPageEnabled()); 470 m_pLastPageAction->setEnabled(m_pDrawPadCanvas->goNextPageEnabled());
471} 471}
472 472
473void DrawPad::updateCaption() 473void DrawPad::updateCaption()
474{ 474{
475 uint pagePosition = m_pDrawPadCanvas->pagePosition(); 475 uint pagePosition = m_pDrawPadCanvas->pagePosition();
476 uint pageCount = m_pDrawPadCanvas->pageCount(); 476 uint pageCount = m_pDrawPadCanvas->pageCount();
477 477
478 setCaption(tr("DrawPad") + " - " + tr("Page") + " " 478 setCaption(tr("DrawPad") + " - " + tr("Page") + " "
479 + QString::number(pagePosition) + "/" + QString::number(pageCount)); 479 + QString::number(pagePosition) + "/" + QString::number(pageCount));
480} 480}
481 481
482void DrawPad::importPage() 482void DrawPad::importPage()
483{ 483{
484 ImportDialog importDialog(this); 484 ImportDialog importDialog(this);
485 485
486 importDialog.showMaximized(); 486 importDialog.showMaximized();
487 487
488 if (importDialog.exec() == QDialog::Accepted) { 488 if (importDialog.exec() == QDialog::Accepted) {
489 m_pDrawPadCanvas->importPage(importDialog.selected()->file()); 489 const DocLnk* docLnk = importDialog.selected();
490
491 if (docLnk) {
492 m_pDrawPadCanvas->importPage(docLnk->file());
493 delete docLnk;
494 }
490 } 495 }
491} 496}
492 497
493void DrawPad::exportPage() 498void DrawPad::exportPage()
494{ 499{
495 ExportDialog exportDialog(m_pDrawPadCanvas->pagePosition(), m_pDrawPadCanvas->pageCount(), this); 500 ExportDialog exportDialog(m_pDrawPadCanvas->pagePosition(), m_pDrawPadCanvas->pageCount(), this);
496 501
497 exportDialog.showMaximized(); 502 exportDialog.showMaximized();
498 503
499 if (exportDialog.exec() == QDialog::Accepted) { 504 if (exportDialog.exec() == QDialog::Accepted) {
500 m_pDrawPadCanvas->exportPage(exportDialog.selectedFromPage(), exportDialog.selectedToPage(), 505 m_pDrawPadCanvas->exportPage(exportDialog.selectedFromPage(), exportDialog.selectedToPage(),
501 exportDialog.selectedName(), exportDialog.selectedFormat()); 506 exportDialog.selectedName(), exportDialog.selectedFormat());
502 } 507 }
503} 508}