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.cpp84
1 files changed, 62 insertions, 22 deletions
diff --git a/noncore/graphics/drawpad/drawpad.cpp b/noncore/graphics/drawpad/drawpad.cpp
index 1375792..7e6fc53 100644
--- a/noncore/graphics/drawpad/drawpad.cpp
+++ b/noncore/graphics/drawpad/drawpad.cpp
@@ -28,2 +28,3 @@
28#include "rectangletool.h" 28#include "rectangletool.h"
29#include "texttool.h"
29 30
@@ -131,11 +132,17 @@ DrawPad::DrawPad(QWidget* parent, const char* name)
131 132
132 m_pPointToolAction = new QAction(tr("Draw Point"), Resource::loadIconSet("drawpad/point.png"), QString::null, 0, this); 133 m_pLineToolButton = new QToolButton(drawModeToolBar);
133 m_pPointToolAction->setToggleAction(true); 134 m_pLineToolButton->setToggleButton(true);
135
136 QPopupMenu* linePopupMenu = new QPopupMenu(m_pLineToolButton);
137
138 m_pPointToolAction = new QAction(tr("Draw Point"), Resource::loadIconSet("drawpad/point.png"), "", 0, this);
134 connect(m_pPointToolAction, SIGNAL(activated()), this, SLOT(setPointTool())); 139 connect(m_pPointToolAction, SIGNAL(activated()), this, SLOT(setPointTool()));
135 m_pPointToolAction->addTo(drawModeToolBar); 140 m_pPointToolAction->addTo(linePopupMenu);
136 141
137 m_pLineToolAction = new QAction(tr("Draw Line"), Resource::loadIconSet("drawpad/line.png"), QString::null, 0, this); 142 m_pLineToolAction = new QAction(tr("Draw Line"), Resource::loadIconSet("drawpad/line.png"), "", 0, this);
138 m_pLineToolAction->setToggleAction(true);
139 connect(m_pLineToolAction, SIGNAL(activated()), this, SLOT(setLineTool())); 143 connect(m_pLineToolAction, SIGNAL(activated()), this, SLOT(setLineTool()));
140 m_pLineToolAction->addTo(drawModeToolBar); 144 m_pLineToolAction->addTo(linePopupMenu);
145
146 m_pLineToolButton->setPopup(linePopupMenu);
147 m_pLineToolButton->setPopupDelay(0);
141 148
@@ -173,2 +180,7 @@ DrawPad::DrawPad(QWidget* parent, const char* name)
173 180
181 m_pTextToolAction = new QAction(tr("Insert Text"), Resource::loadIconSet("drawpad/text.png"), QString::null, 0, this);
182 m_pTextToolAction->setToggleAction(true);
183 connect(m_pTextToolAction, SIGNAL(activated()), this, SLOT(setTextTool()));
184 m_pTextToolAction->addTo(drawModeToolBar);
185
174 m_pFillToolAction = new QAction(tr("Fill Region"), Resource::loadIconSet("drawpad/fill.png"), QString::null, 0, this); 186 m_pFillToolAction = new QAction(tr("Fill Region"), Resource::loadIconSet("drawpad/fill.png"), QString::null, 0, this);
@@ -275,6 +287,12 @@ void DrawPad::setPointTool()
275 287
276 m_pPointToolAction->setOn(true); 288 m_pLineToolButton->setIconSet(m_pPointToolAction->iconSet());
277 m_pLineToolAction->setOn(false); 289 QToolTip::add(m_pLineToolButton, m_pPointToolAction->text());
290
291 disconnect(m_pLineToolButton, SIGNAL(clicked()), 0, 0);
292 connect(m_pLineToolButton, SIGNAL(clicked()), m_pPointToolAction, SIGNAL(activated()));
293
294 m_pLineToolButton->setOn(true);
278 m_pRectangleToolButton->setOn(false); 295 m_pRectangleToolButton->setOn(false);
279 m_pEllipseToolButton->setOn(false); 296 m_pEllipseToolButton->setOn(false);
297 m_pTextToolAction->setOn(false);
280 m_pFillToolAction->setOn(false); 298 m_pFillToolAction->setOn(false);
@@ -291,6 +309,12 @@ void DrawPad::setLineTool()
291 309
292 m_pPointToolAction->setOn(false); 310 m_pLineToolButton->setIconSet(m_pLineToolAction->iconSet());
293 m_pLineToolAction->setOn(true); 311 QToolTip::add(m_pLineToolButton, m_pLineToolAction->text());
312
313 disconnect(m_pLineToolButton, SIGNAL(clicked()), 0, 0);
314 connect(m_pLineToolButton, SIGNAL(clicked()), m_pLineToolAction, SIGNAL(activated()));
315
316 m_pLineToolButton->setOn(true);
294 m_pRectangleToolButton->setOn(false); 317 m_pRectangleToolButton->setOn(false);
295 m_pEllipseToolButton->setOn(false); 318 m_pEllipseToolButton->setOn(false);
319 m_pTextToolAction->setOn(false);
296 m_pFillToolAction->setOn(false); 320 m_pFillToolAction->setOn(false);
@@ -313,6 +337,6 @@ void DrawPad::setRectangleTool()
313 337
314 m_pPointToolAction->setOn(false); 338 m_pLineToolButton->setOn(false);
315 m_pLineToolAction->setOn(false);
316 m_pRectangleToolButton->setOn(true); 339 m_pRectangleToolButton->setOn(true);
317 m_pEllipseToolButton->setOn(false); 340 m_pEllipseToolButton->setOn(false);
341 m_pTextToolAction->setOn(false);
318 m_pFillToolAction->setOn(false); 342 m_pFillToolAction->setOn(false);
@@ -335,6 +359,6 @@ void DrawPad::setFilledRectangleTool()
335 359
336 m_pPointToolAction->setOn(false); 360 m_pLineToolButton->setOn(false);
337 m_pLineToolAction->setOn(false);
338 m_pRectangleToolButton->setOn(true); 361 m_pRectangleToolButton->setOn(true);
339 m_pEllipseToolButton->setOn(false); 362 m_pEllipseToolButton->setOn(false);
363 m_pTextToolAction->setOn(false);
340 m_pFillToolAction->setOn(false); 364 m_pFillToolAction->setOn(false);
@@ -357,6 +381,6 @@ void DrawPad::setEllipseTool()
357 381
358 m_pPointToolAction->setOn(false); 382 m_pLineToolButton->setOn(false);
359 m_pLineToolAction->setOn(false);
360 m_pRectangleToolButton->setOn(false); 383 m_pRectangleToolButton->setOn(false);
361 m_pEllipseToolButton->setOn(true); 384 m_pEllipseToolButton->setOn(true);
385 m_pTextToolAction->setOn(false);
362 m_pFillToolAction->setOn(false); 386 m_pFillToolAction->setOn(false);
@@ -379,6 +403,22 @@ void DrawPad::setFilledEllipseTool()
379 403
380 m_pPointToolAction->setOn(false); 404 m_pLineToolButton->setOn(false);
381 m_pLineToolAction->setOn(false);
382 m_pRectangleToolButton->setOn(false); 405 m_pRectangleToolButton->setOn(false);
383 m_pEllipseToolButton->setOn(true); 406 m_pEllipseToolButton->setOn(true);
407 m_pTextToolAction->setOn(false);
408 m_pFillToolAction->setOn(false);
409 m_pEraseToolAction->setOn(false);
410}
411
412void DrawPad::setTextTool()
413{
414 if (m_pTool) {
415 delete m_pTool;
416 }
417
418 m_pTool = new TextTool(this, m_pDrawPadCanvas);
419
420 m_pLineToolButton->setOn(false);
421 m_pRectangleToolButton->setOn(false);
422 m_pEllipseToolButton->setOn(false);
423 m_pTextToolAction->setOn(true);
384 m_pFillToolAction->setOn(false); 424 m_pFillToolAction->setOn(false);
@@ -395,6 +435,6 @@ void DrawPad::setFillTool()
395 435
396 m_pPointToolAction->setOn(false); 436 m_pLineToolButton->setOn(false);
397 m_pLineToolAction->setOn(false);
398 m_pRectangleToolButton->setOn(false); 437 m_pRectangleToolButton->setOn(false);
399 m_pEllipseToolButton->setOn(false); 438 m_pEllipseToolButton->setOn(false);
439 m_pTextToolAction->setOn(false);
400 m_pFillToolAction->setOn(true); 440 m_pFillToolAction->setOn(true);
@@ -411,6 +451,6 @@ void DrawPad::setEraseTool()
411 451
412 m_pPointToolAction->setOn(false); 452 m_pLineToolButton->setOn(false);
413 m_pLineToolAction->setOn(false);
414 m_pRectangleToolButton->setOn(false); 453 m_pRectangleToolButton->setOn(false);
415 m_pEllipseToolButton->setOn(false); 454 m_pEllipseToolButton->setOn(false);
455 m_pTextToolAction->setOn(false);
416 m_pFillToolAction->setOn(false); 456 m_pFillToolAction->setOn(false);