summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/drawpad/drawpad.cpp77
-rw-r--r--noncore/graphics/drawpad/drawpad.h4
-rw-r--r--noncore/graphics/drawpad/drawpad.pro10
3 files changed, 43 insertions, 48 deletions
diff --git a/noncore/graphics/drawpad/drawpad.cpp b/noncore/graphics/drawpad/drawpad.cpp
index 7e6fc53..77fee98 100644
--- a/noncore/graphics/drawpad/drawpad.cpp
+++ b/noncore/graphics/drawpad/drawpad.cpp
@@ -4,44 +4,46 @@
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#include "drawpad.h" 14#include "drawpad.h"
15 15
16#include "colordialog.h" 16//#include "colordialog.h"
17#include "colorpanel.h" 17//#include "colorpanel.h"
18#include "drawpadcanvas.h" 18#include "drawpadcanvas.h"
19#include "ellipsetool.h" 19#include "ellipsetool.h"
20#include "erasetool.h" 20#include "erasetool.h"
21#include "exportdialog.h" 21#include "exportdialog.h"
22#include "filledellipsetool.h" 22#include "filledellipsetool.h"
23#include "filledrectangletool.h" 23#include "filledrectangletool.h"
24#include "filltool.h" 24#include "filltool.h"
25#include "importdialog.h" 25#include "importdialog.h"
26#include "linetool.h" 26#include "linetool.h"
27#include "pointtool.h" 27#include "pointtool.h"
28#include "rectangletool.h" 28#include "rectangletool.h"
29#include "texttool.h" 29#include "texttool.h"
30 30
31#include <qpe/applnk.h> 31#include <qpe/applnk.h>
32#include <qpe/global.h> 32#include <qpe/global.h>
33#include <qpe/qpemenubar.h> 33#include <qpe/qpemenubar.h>
34#include <qpe/qpetoolbar.h> 34#include <qpe/qpetoolbar.h>
35#include <qpe/resource.h> 35#include <qpe/resource.h>
36#include <opie/colordialog.h>
37#include <opie/colorpopupmenu.h>
36 38
37#include <qaction.h> 39#include <qaction.h>
38#include <qfile.h> 40#include <qfile.h>
39#include <qpainter.h> 41#include <qpainter.h>
40#include <qspinbox.h> 42#include <qspinbox.h>
41#include <qtoolbutton.h> 43#include <qtoolbutton.h>
42#include <qtooltip.h> 44#include <qtooltip.h>
43 45
44DrawPad::DrawPad(QWidget* parent, const char* name) 46DrawPad::DrawPad(QWidget* parent, const char* name)
45 : QMainWindow(parent, name) 47 : QMainWindow(parent, name)
46{ 48{
47 // init members 49 // init members
@@ -207,62 +209,73 @@ DrawPad::DrawPad(QWidget* parent, const char* name)
207 QPEToolBar* drawParametersToolBar = new QPEToolBar(this); 209 QPEToolBar* drawParametersToolBar = new QPEToolBar(this);
208 210
209 QSpinBox* penWidthSpinBox = new QSpinBox(1, 9, 1, drawParametersToolBar); 211 QSpinBox* penWidthSpinBox = new QSpinBox(1, 9, 1, drawParametersToolBar);
210 connect(penWidthSpinBox, SIGNAL(valueChanged(int)), this, SLOT(changePenWidth(int))); 212 connect(penWidthSpinBox, SIGNAL(valueChanged(int)), this, SLOT(changePenWidth(int)));
211 213
212 QToolTip::add(penWidthSpinBox, tr("Pen Width")); 214 QToolTip::add(penWidthSpinBox, tr("Pen Width"));
213 penWidthSpinBox->setValue(1); 215 penWidthSpinBox->setValue(1);
214 penWidthSpinBox->setFocusPolicy(QWidget::NoFocus); 216 penWidthSpinBox->setFocusPolicy(QWidget::NoFocus);
215 217
216 m_pPenColorToolButton = new QToolButton(drawParametersToolBar); 218 m_pPenColorToolButton = new QToolButton(drawParametersToolBar);
217 m_pPenColorToolButton->setPixmap(Resource::loadPixmap("drawpad/pencolor.png")); 219 m_pPenColorToolButton->setPixmap(Resource::loadPixmap("drawpad/pencolor.png"));
218 220
219 QPopupMenu* penColorPopupMenu = new QPopupMenu(m_pPenColorToolButton); 221 ColorPopupMenu* colorPopupMenu = new ColorPopupMenu( Qt::black, m_pPenColorToolButton );
222 m_pPenColorToolButton->setPopup( colorPopupMenu );
223 m_pPenColorToolButton->setPopupDelay( 0 );
224 QToolTip::add(m_pPenColorToolButton, tr("Pen Color"));
225 connect( colorPopupMenu, SIGNAL( colorSelected( const QColor& ) ), this, SLOT( changePenColor( const QColor& ) ) );
220 226
221 ColorPanel* penColorPanel = new ColorPanel(penColorPopupMenu); 227// QPopupMenu* penColorPopupMenu = new QPopupMenu(m_pPenColorToolButton);
222 connect(penColorPanel, SIGNAL(colorSelected(const QColor&)), this, SLOT(changePenColor(const QColor&)));
223 228
224 penColorPopupMenu->insertItem(penColorPanel); 229// ColorPanel* penColorPanel = new ColorPanel(penColorPopupMenu);
225 penColorPopupMenu->insertSeparator(); 230// connect(penColorPanel, SIGNAL(colorSelected(const QColor&)), this, SLOT(changePenColor(const QColor&)));
226 231
227 QAction* choosePenColorAction = new QAction(tr("More"), tr("More..."), 0, this); 232// penColorPopupMenu->insertItem(penColorPanel);
228 connect(choosePenColorAction, SIGNAL(activated()), this, SLOT(choosePenColor())); 233// penColorPopupMenu->insertSeparator();
229 choosePenColorAction->addTo(penColorPopupMenu);
230 234
231 QToolTip::add(m_pPenColorToolButton, tr("Pen Color")); 235// QAction* choosePenColorAction = new QAction(tr("More"), tr("More..."), 0, this);
232 m_pPenColorToolButton->setPopup(penColorPopupMenu); 236// connect(choosePenColorAction, SIGNAL(activated()), this, SLOT(choosePenColor()));
233 m_pPenColorToolButton->setPopupDelay(0); 237// choosePenColorAction->addTo(penColorPopupMenu);
234 238
235 penColorPanel->buttonSelected(Qt::black); 239// m_pPenColorToolButton->setPopup(colorPopupMenu);
240// m_pPenColorToolButton->setPopupDelay(0);
241
242// penColorPanel->buttonSelected(Qt::black);
236 243
237 m_pBrushColorToolButton = new QToolButton(drawParametersToolBar); 244 m_pBrushColorToolButton = new QToolButton(drawParametersToolBar);
238 m_pBrushColorToolButton->setPixmap(Resource::loadPixmap("drawpad/brushcolor.png")); 245 m_pBrushColorToolButton->setPixmap(Resource::loadPixmap("drawpad/brushcolor.png"));
239 246
240 QPopupMenu* brushColorPopupMenu = new QPopupMenu(m_pBrushColorToolButton);
241 247
242 ColorPanel* brushColorPanel = new ColorPanel(brushColorPopupMenu); 248 colorPopupMenu = new ColorPopupMenu( Qt::white, m_pBrushColorToolButton );
243 connect(brushColorPanel, SIGNAL(colorSelected(const QColor&)), this, SLOT(changeBrushColor(const QColor&))); 249 m_pBrushColorToolButton->setPopup( colorPopupMenu );
250 m_pBrushColorToolButton->setPopupDelay( 0 );
251 QToolTip::add(m_pBrushColorToolButton, tr("Fill Color"));
252 connect( colorPopupMenu, SIGNAL( colorSelected( const QColor& ) ), this, SLOT( changeeBrushColor( const QColor& ) ) );
244 253
245 brushColorPopupMenu->insertItem(brushColorPanel); 254// QPopupMenu* brushColorPopupMenu = new QPopupMenu(m_pBrushColorToolButton);
246 brushColorPopupMenu->insertSeparator();
247 255
248 QAction* chooseBrushColorAction = new QAction(tr("More"), tr("More..."), 0, this); 256// ColorPanel* brushColorPanel = new ColorPanel(brushColorPopupMenu);
249 connect(chooseBrushColorAction, SIGNAL(activated()), this, SLOT(chooseBrushColor())); 257// connect(brushColorPanel, SIGNAL(colorSelected(const QColor&)), this, SLOT(changeBrushColor(const QColor&)));
250 chooseBrushColorAction->addTo(brushColorPopupMenu);
251 258
252 QToolTip::add(m_pBrushColorToolButton, tr("Fill Color")); 259// brushColorPopupMenu->insertItem(brushColorPanel);
253 m_pBrushColorToolButton->setPopup(brushColorPopupMenu); 260// brushColorPopupMenu->insertSeparator();
254 m_pBrushColorToolButton->setPopupDelay(0); 261
262// QAction* chooseBrushColorAction = new QAction(tr("More"), tr("More..."), 0, this);
263// connect(chooseBrushColorAction, SIGNAL(activated()), this, SLOT(chooseBrushColor()));
264// chooseBrushColorAction->addTo(brushColorPopupMenu);
265
266// m_pBrushColorToolButton->setPopup(brushColorPopupMenu);
267// m_pBrushColorToolButton->setPopupDelay(0);
255 268
256 brushColorPanel->buttonSelected(Qt::white); 269// brushColorPanel->buttonSelected(Qt::white);
257 270
258 // init pages 271 // init pages
259 272
260 QFile file(Global::applicationFileName("drawpad", "drawpad.xml")); 273 QFile file(Global::applicationFileName("drawpad", "drawpad.xml"));
261 274
262 if (file.open(IO_ReadOnly)) { 275 if (file.open(IO_ReadOnly)) {
263 m_pDrawPadCanvas->load(&file); 276 m_pDrawPadCanvas->load(&file);
264 file.close(); 277 file.close();
265 } else { 278 } else {
266 m_pDrawPadCanvas->initialPage(); 279 m_pDrawPadCanvas->initialPage();
267 } 280 }
268} 281}
@@ -477,36 +490,24 @@ void DrawPad::changePenColor(const QColor& color)
477void DrawPad::changeBrushColor(const QColor& color) 490void DrawPad::changeBrushColor(const QColor& color)
478{ 491{
479 m_brush = QBrush(color); 492 m_brush = QBrush(color);
480 493
481 QPainter painter; 494 QPainter painter;
482 painter.begin(m_pBrushColorToolButton->pixmap()); 495 painter.begin(m_pBrushColorToolButton->pixmap());
483 painter.fillRect(QRect(0, 12, 14, 2), m_brush.color()); 496 painter.fillRect(QRect(0, 12, 14, 2), m_brush.color());
484 painter.end(); 497 painter.end();
485 498
486 m_pBrushColorToolButton->popup()->hide(); 499 m_pBrushColorToolButton->popup()->hide();
487} 500}
488 501
489void DrawPad::choosePenColor()
490{
491 QColor newPenColor = QColorDialog::getColor(m_pen.color());
492 changePenColor(newPenColor);
493}
494
495void DrawPad::chooseBrushColor()
496{
497 QColor newBrushColor = QColorDialog::getColor(m_brush.color());
498 changeBrushColor(newBrushColor);
499}
500
501void DrawPad::updateUndoRedoToolButtons() 502void DrawPad::updateUndoRedoToolButtons()
502{ 503{
503 m_pUndoAction->setEnabled(m_pDrawPadCanvas->undoEnabled()); 504 m_pUndoAction->setEnabled(m_pDrawPadCanvas->undoEnabled());
504 m_pRedoAction->setEnabled(m_pDrawPadCanvas->redoEnabled()); 505 m_pRedoAction->setEnabled(m_pDrawPadCanvas->redoEnabled());
505} 506}
506 507
507void DrawPad::updateNavigationToolButtons() 508void DrawPad::updateNavigationToolButtons()
508{ 509{
509 m_pFirstPageAction->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled()); 510 m_pFirstPageAction->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled());
510 m_pPreviousPageAction->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled()); 511 m_pPreviousPageAction->setEnabled(m_pDrawPadCanvas->goPreviousPageEnabled());
511 m_pNextPageAction->setEnabled(m_pDrawPadCanvas->goNextPageEnabled()); 512 m_pNextPageAction->setEnabled(m_pDrawPadCanvas->goNextPageEnabled());
512 m_pLastPageAction->setEnabled(m_pDrawPadCanvas->goNextPageEnabled()); 513 m_pLastPageAction->setEnabled(m_pDrawPadCanvas->goNextPageEnabled());
diff --git a/noncore/graphics/drawpad/drawpad.h b/noncore/graphics/drawpad/drawpad.h
index e4fd831..0dcd5c9 100644
--- a/noncore/graphics/drawpad/drawpad.h
+++ b/noncore/graphics/drawpad/drawpad.h
@@ -18,51 +18,49 @@
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 QToolButton; 26class QToolButton;
27class QWidgetStack; 27class QWidgetStack;
28 28
29class DrawPad : public QMainWindow 29class DrawPad : public QMainWindow
30{ 30{
31 Q_OBJECT 31 Q_OBJECT
32 32
33public: 33public:
34 DrawPad(QWidget* parent = 0, const char* name = 0); 34 DrawPad(QWidget* parent = 0, const char* name = 0);
35 ~DrawPad(); 35 ~DrawPad();
36 36
37 Tool* tool() { return m_pTool; } 37 Tool* tool() { return m_pTool; }
38 QPen pen() { return m_pen; } 38 QPen pen() { return m_pen; }
39 QBrush brush() { return m_brush; } 39 QBrush brush() { return m_brush; }
40 40
41private slots: 41private slots:
42 void setPointTool(); 42 void setPointTool();
43 void setLineTool(); 43 void setLineTool();
44 void setRectangleTool(); 44 void setRectangleTool();
45 void setFilledRectangleTool(); 45 void setFilledRectangleTool();
46 void setEllipseTool(); 46 void setEllipseTool();
47 void setFilledEllipseTool(); 47 void setFilledEllipseTool();
48 void setTextTool(); 48 void setTextTool();
49 void setFillTool(); 49 void setFillTool();
50 void setEraseTool(); 50 void setEraseTool();
51 51
52 void changePenWidth(int value); 52 void changePenWidth(int value);
53 void changePenColor(const QColor& color); 53 void changePenColor(const QColor& color);
54 void changeBrushColor(const QColor& color); 54 void changeBrushColor(const QColor& color);
55 void choosePenColor();
56 void chooseBrushColor();
57 55
58 void updateUndoRedoToolButtons(); 56 void updateUndoRedoToolButtons();
59 void updateNavigationToolButtons(); 57 void updateNavigationToolButtons();
60 void updateCaption(); 58 void updateCaption();
61 59
62 void importPage(); 60 void importPage();
63 void exportPage(); 61 void exportPage();
64 62
65private: 63private:
66 DrawPadCanvas* m_pDrawPadCanvas; 64 DrawPadCanvas* m_pDrawPadCanvas;
67 65
68 Tool* m_pTool; 66 Tool* m_pTool;
diff --git a/noncore/graphics/drawpad/drawpad.pro b/noncore/graphics/drawpad/drawpad.pro
index 00eb00d..3b120c9 100644
--- a/noncore/graphics/drawpad/drawpad.pro
+++ b/noncore/graphics/drawpad/drawpad.pro
@@ -1,55 +1,51 @@
1 TEMPLATE= app 1 TEMPLATE= app
2 CONFIG = qt warn_on release 2 CONFIG = qt warn_on release
3 HEADERS = colordialog.h \ 3 HEADERS = drawpad.h \
4 colorpanel.h \
5 drawpad.h \
6 drawpadcanvas.h \ 4 drawpadcanvas.h \
7 ellipsetool.h \ 5 ellipsetool.h \
8 erasetool.h \ 6 erasetool.h \
9 exportdialog.h \ 7 exportdialog.h \
10 filltool.h \ 8 filltool.h \
11 filledellipsetool.h \ 9 filledellipsetool.h \
12 filledrectangletool.h \ 10 filledrectangletool.h \
13 importdialog.h \ 11 importdialog.h \
14 linetool.h \ 12 linetool.h \
15 newpagedialog.h \ 13 newpagedialog.h \
16 pointtool.h \ 14 pointtool.h \
17 rectangletool.h \ 15 rectangletool.h \
18 shapetool.h \ 16 shapetool.h \
19 texttool.h \ 17 texttool.h \
20 tool.h 18 tool.h
21 SOURCES = colordialog.cpp \ 19 SOURCES = drawpad.cpp \
22 colorpanel.cpp \
23 drawpad.cpp \
24 drawpadcanvas.cpp \ 20 drawpadcanvas.cpp \
25 ellipsetool.cpp \ 21 ellipsetool.cpp \
26 erasetool.cpp \ 22 erasetool.cpp \
27 exportdialog.cpp \ 23 exportdialog.cpp \
28 filltool.cpp \ 24 filltool.cpp \
29 filledellipsetool.cpp \ 25 filledellipsetool.cpp \
30 filledrectangletool.cpp \ 26 filledrectangletool.cpp \
31 importdialog.cpp \ 27 importdialog.cpp \
32 linetool.cpp \ 28 linetool.cpp \
33 main.cpp \ 29 main.cpp \
34 newpagedialog.cpp \ 30 newpagedialog.cpp \
35 pointtool.cpp \ 31 pointtool.cpp \
36 rectangletool.cpp \ 32 rectangletool.cpp \
37 shapetool.cpp \ 33 shapetool.cpp \
38 texttool.cpp \ 34 texttool.cpp \
39 tool.cpp 35 tool.cpp
40 INCLUDEPATH+= $(OPIEDIR)/include \ 36 INCLUDEPATH+= $(OPIEDIR)/include \
41 $(QTDIR)/src/3rdparty/zlib 37 $(QTDIR)/src/3rdparty/zlib
42 DEPENDPATH+= $(OPIEDIR)/include 38 DEPENDPATH+= $(OPIEDIR)/include
43 LIBS += -lqpe 39 LIBS += -lqpe -lopie
44 DESTDIR = $(OPIEDIR)/bin 40 DESTDIR = $(OPIEDIR)/bin
45 TARGET = drawpad 41 TARGET = drawpad
46 42
47TRANSLATIONS = ../../i18n/pt_BR/drawpad.ts 43TRANSLATIONS = ../../i18n/pt_BR/drawpad.ts
48TRANSLATIONS += ../../i18n/de/drawpad.ts 44TRANSLATIONS += ../../i18n/de/drawpad.ts
49TRANSLATIONS += ../../i18n/en/drawpad.ts 45TRANSLATIONS += ../../i18n/en/drawpad.ts
50TRANSLATIONS += ../../i18n/hu/drawpad.ts 46TRANSLATIONS += ../../i18n/hu/drawpad.ts
51TRANSLATIONS += ../../i18n/pl/drawpad.ts 47TRANSLATIONS += ../../i18n/pl/drawpad.ts
52TRANSLATIONS += ../../i18n/ja/drawpad.ts 48TRANSLATIONS += ../../i18n/ja/drawpad.ts
53TRANSLATIONS += ../../i18n/sl/drawpad.ts 49TRANSLATIONS += ../../i18n/sl/drawpad.ts
54TRANSLATIONS += ../../i18n/fr/drawpad.ts 50TRANSLATIONS += ../../i18n/fr/drawpad.ts
55TRANSLATIONS += ../../i18n/ko/drawpad.ts 51TRANSLATIONS += ../../i18n/ko/drawpad.ts