Diffstat (limited to 'noncore/graphics/drawpad/drawpad.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/graphics/drawpad/drawpad.cpp | 84 |
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 @@ #include "rectangletool.h" +#include "texttool.h" @@ -131,11 +132,17 @@ DrawPad::DrawPad(QWidget* parent, const char* name) - m_pPointToolAction = new QAction(tr("Draw Point"), Resource::loadIconSet("drawpad/point.png"), QString::null, 0, this); - m_pPointToolAction->setToggleAction(true); + m_pLineToolButton = new QToolButton(drawModeToolBar); + m_pLineToolButton->setToggleButton(true); + + QPopupMenu* linePopupMenu = new QPopupMenu(m_pLineToolButton); + + m_pPointToolAction = new QAction(tr("Draw Point"), Resource::loadIconSet("drawpad/point.png"), "", 0, this); connect(m_pPointToolAction, SIGNAL(activated()), this, SLOT(setPointTool())); - m_pPointToolAction->addTo(drawModeToolBar); + m_pPointToolAction->addTo(linePopupMenu); - m_pLineToolAction = new QAction(tr("Draw Line"), Resource::loadIconSet("drawpad/line.png"), QString::null, 0, this); - m_pLineToolAction->setToggleAction(true); + m_pLineToolAction = new QAction(tr("Draw Line"), Resource::loadIconSet("drawpad/line.png"), "", 0, this); connect(m_pLineToolAction, SIGNAL(activated()), this, SLOT(setLineTool())); - m_pLineToolAction->addTo(drawModeToolBar); + m_pLineToolAction->addTo(linePopupMenu); + + m_pLineToolButton->setPopup(linePopupMenu); + m_pLineToolButton->setPopupDelay(0); @@ -173,2 +180,7 @@ DrawPad::DrawPad(QWidget* parent, const char* name) + m_pTextToolAction = new QAction(tr("Insert Text"), Resource::loadIconSet("drawpad/text.png"), QString::null, 0, this); + m_pTextToolAction->setToggleAction(true); + connect(m_pTextToolAction, SIGNAL(activated()), this, SLOT(setTextTool())); + m_pTextToolAction->addTo(drawModeToolBar); + m_pFillToolAction = new QAction(tr("Fill Region"), Resource::loadIconSet("drawpad/fill.png"), QString::null, 0, this); @@ -275,6 +287,12 @@ void DrawPad::setPointTool() - m_pPointToolAction->setOn(true); - m_pLineToolAction->setOn(false); + m_pLineToolButton->setIconSet(m_pPointToolAction->iconSet()); + QToolTip::add(m_pLineToolButton, m_pPointToolAction->text()); + + disconnect(m_pLineToolButton, SIGNAL(clicked()), 0, 0); + connect(m_pLineToolButton, SIGNAL(clicked()), m_pPointToolAction, SIGNAL(activated())); + + m_pLineToolButton->setOn(true); m_pRectangleToolButton->setOn(false); m_pEllipseToolButton->setOn(false); + m_pTextToolAction->setOn(false); m_pFillToolAction->setOn(false); @@ -291,6 +309,12 @@ void DrawPad::setLineTool() - m_pPointToolAction->setOn(false); - m_pLineToolAction->setOn(true); + m_pLineToolButton->setIconSet(m_pLineToolAction->iconSet()); + QToolTip::add(m_pLineToolButton, m_pLineToolAction->text()); + + disconnect(m_pLineToolButton, SIGNAL(clicked()), 0, 0); + connect(m_pLineToolButton, SIGNAL(clicked()), m_pLineToolAction, SIGNAL(activated())); + + m_pLineToolButton->setOn(true); m_pRectangleToolButton->setOn(false); m_pEllipseToolButton->setOn(false); + m_pTextToolAction->setOn(false); m_pFillToolAction->setOn(false); @@ -313,6 +337,6 @@ void DrawPad::setRectangleTool() - m_pPointToolAction->setOn(false); - m_pLineToolAction->setOn(false); + m_pLineToolButton->setOn(false); m_pRectangleToolButton->setOn(true); m_pEllipseToolButton->setOn(false); + m_pTextToolAction->setOn(false); m_pFillToolAction->setOn(false); @@ -335,6 +359,6 @@ void DrawPad::setFilledRectangleTool() - m_pPointToolAction->setOn(false); - m_pLineToolAction->setOn(false); + m_pLineToolButton->setOn(false); m_pRectangleToolButton->setOn(true); m_pEllipseToolButton->setOn(false); + m_pTextToolAction->setOn(false); m_pFillToolAction->setOn(false); @@ -357,6 +381,6 @@ void DrawPad::setEllipseTool() - m_pPointToolAction->setOn(false); - m_pLineToolAction->setOn(false); + m_pLineToolButton->setOn(false); m_pRectangleToolButton->setOn(false); m_pEllipseToolButton->setOn(true); + m_pTextToolAction->setOn(false); m_pFillToolAction->setOn(false); @@ -379,6 +403,22 @@ void DrawPad::setFilledEllipseTool() - m_pPointToolAction->setOn(false); - m_pLineToolAction->setOn(false); + m_pLineToolButton->setOn(false); m_pRectangleToolButton->setOn(false); m_pEllipseToolButton->setOn(true); + m_pTextToolAction->setOn(false); + m_pFillToolAction->setOn(false); + m_pEraseToolAction->setOn(false); +} + +void DrawPad::setTextTool() +{ + if (m_pTool) { + delete m_pTool; + } + + m_pTool = new TextTool(this, m_pDrawPadCanvas); + + m_pLineToolButton->setOn(false); + m_pRectangleToolButton->setOn(false); + m_pEllipseToolButton->setOn(false); + m_pTextToolAction->setOn(true); m_pFillToolAction->setOn(false); @@ -395,6 +435,6 @@ void DrawPad::setFillTool() - m_pPointToolAction->setOn(false); - m_pLineToolAction->setOn(false); + m_pLineToolButton->setOn(false); m_pRectangleToolButton->setOn(false); m_pEllipseToolButton->setOn(false); + m_pTextToolAction->setOn(false); m_pFillToolAction->setOn(true); @@ -411,6 +451,6 @@ void DrawPad::setEraseTool() - m_pPointToolAction->setOn(false); - m_pLineToolAction->setOn(false); + m_pLineToolButton->setOn(false); m_pRectangleToolButton->setOn(false); m_pEllipseToolButton->setOn(false); + m_pTextToolAction->setOn(false); m_pFillToolAction->setOn(false); |