summaryrefslogtreecommitdiff
path: root/noncore/graphics/drawpad/drawpad.cpp
Unidiff
Diffstat (limited to 'noncore/graphics/drawpad/drawpad.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/drawpad/drawpad.cpp39
1 files changed, 34 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
@@ -25,24 +25,25 @@
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>
@@ -219,30 +220,30 @@ DrawPad::DrawPad(QWidget* parent, const char* name)
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);
@@ -260,28 +261,32 @@ DrawPad::DrawPad(QWidget* parent, const char* name)
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}
@@ -610,12 +615,36 @@ void DrawPad::thumbnailView()
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}