X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fapplicationwindow.cpp;h=c580cde948ab4b37535ec2b5f395600fe83cbb0d;hb=6441dd1283d8a16b9a3a02df407f20434fa9dfa1;hp=3ade28491bb30af8ec1faa3c62fc800875dfc7ae;hpb=b5981e2c452fa0ad5d922025780f9200450698dc;p=architektonas diff --git a/src/applicationwindow.cpp b/src/applicationwindow.cpp index 3ade284..c580cde 100644 --- a/src/applicationwindow.cpp +++ b/src/applicationwindow.cpp @@ -5,7 +5,7 @@ // (C) 2011 Underground Software // See the README and GPLv3 files for licensing and warranty information // -// JLH = James L. Hammons +// JLH = James Hammons // // Who When What // --- ---------- ------------------------------------------------------------- @@ -103,6 +103,24 @@ void ApplicationWindow::RotateTool(void) drawing->SetRotateToolActive(rotateAct->isChecked()); } +void ApplicationWindow::AddLineTool(void) +{ + addCircleAct->setChecked(false); + addArcAct->setChecked(false); + rotateAct->setChecked(false); + RotateTool(); + drawing->SetAddLineToolActive(addLineAct->isChecked()); +} + +void ApplicationWindow::AddCircleTool(void) +{ + addLineAct->setChecked(false); + addArcAct->setChecked(false); + rotateAct->setChecked(false); + RotateTool(); + drawing->SetAddCircleToolActive(addCircleAct->isChecked()); +} + void ApplicationWindow::ZoomInTool(void) { double zoomFactor = 2.0; @@ -198,25 +216,29 @@ void ApplicationWindow::CreateActions(void) QIcon(":/res/fix-length.png"), QKeySequence(tr("F,L")), true); connect(fixLengthAct, SIGNAL(triggered()), this, SLOT(FixLength())); - deleteAct = CreateAction(tr("&Delete"), tr("Delete Object"), tr("Deletes selected objects."), QIcon(":/res/generic-tool.png"), QKeySequence(), true); + deleteAct = CreateAction(tr("&Delete"), tr("Delete Object"), tr("Deletes selected objects."), QIcon(":/res/delete-tool.png"), QKeySequence(), true); connect(deleteAct, SIGNAL(triggered()), this, SLOT(DeleteTool())); addDimensionAct = CreateAction(tr("Add &Dimension"), tr("Add Dimension"), tr("Adds a dimension to the drawing."), QIcon(":/res/dimension-tool.png"), QKeySequence("D,I"), true); connect(addDimensionAct, SIGNAL(triggered()), this, SLOT(DimensionTool())); - addLineAct = CreateAction(tr("Add &Line"), tr("Add Line"), tr("Adds a line to the drawing."), QIcon(":/res/generic-tool.png"), QKeySequence(), true); + addLineAct = CreateAction(tr("Add &Line"), tr("Add Line"), tr("Adds lines to the drawing."), QIcon(":/res/add-line-tool.png"), QKeySequence("A,L"), true); + connect(addLineAct, SIGNAL(triggered()), this, SLOT(AddLineTool())); - addCircleAct = CreateAction(tr("Add &Circle"), tr("Add Circle"), tr("Adds a circle to the drawing."), QIcon(":/res/generic-tool.png"), QKeySequence(), true); + addCircleAct = CreateAction(tr("Add &Circle"), tr("Add Circle"), tr("Adds circles to the drawing."), QIcon(":/res/add-circle-tool.png"), QKeySequence("A,C"), true); + connect(addCircleAct, SIGNAL(triggered()), this, SLOT(AddCircleTool())); - addArcAct = CreateAction(tr("Add &Arc"), tr("Add Arc"), tr("Adds an arc to the drawing."), QIcon(":/res/generic-tool.png"), QKeySequence(), true); + addArcAct = CreateAction(tr("Add &Arc"), tr("Add Arc"), tr("Adds arcs to the drawing."), QIcon(":/res/add-arc-tool.png"), QKeySequence("A,A"), true); + + addPolygonAct = CreateAction(tr("Add &Polygon"), tr("Add Polygon"), tr("Add polygons to the drawing."), QIcon(":/res/add-polygon-tool.png"), QKeySequence("A,P"), true); aboutAct = CreateAction(tr("About &Architektonas"), tr("About Architektonas"), tr("Gives information about this program."), QIcon(":/res/generic-tool.png"), QKeySequence()); connect(aboutAct, SIGNAL(triggered()), this, SLOT(HelpAbout())); - rotateAct = CreateAction(tr("&Rotate Objects"), tr("Rotate"), tr("Rotate object(s) around an arbitrary center."), QIcon(":/res/generic-tool.png"), QKeySequence(tr("R,O")), true); + rotateAct = CreateAction(tr("&Rotate Objects"), tr("Rotate"), tr("Rotate object(s) around an arbitrary center."), QIcon(":/res/rotate-tool.png"), QKeySequence(tr("R,O")), true); connect(rotateAct, SIGNAL(triggered()), this, SLOT(RotateTool())); - zoomInAct = CreateAction2(tr("Zoom &In"), tr("Zoom In"), tr("Zoom in on the document."), QIcon(":/res/zoom-in.png"), QKeySequence(tr("+")), QKeySequence(tr("="))); + zoomInAct = CreateAction(tr("Zoom &In"), tr("Zoom In"), tr("Zoom in on the document."), QIcon(":/res/zoom-in.png"), QKeySequence(tr("+")), QKeySequence(tr("="))); connect(zoomInAct, SIGNAL(triggered()), this, SLOT(ZoomInTool())); zoomOutAct = CreateAction(tr("Zoom &Out"), tr("Zoom Out"), tr("Zoom out of the document."), QIcon(":/res/zoom-out.png"), QKeySequence(tr("-"))); @@ -263,7 +285,7 @@ QAction * ApplicationWindow::CreateAction(QString name, QString tooltip, QString // This is essentially the same as the previous function, but this allows more // than one key sequence to be added as key shortcuts. // -QAction * ApplicationWindow::CreateAction2(QString name, QString tooltip, QString statustip, +QAction * ApplicationWindow::CreateAction(QString name, QString tooltip, QString statustip, QIcon icon, QKeySequence key1, QKeySequence key2, bool checkable/*= false*/) { QAction * action = new QAction(icon, name, this); @@ -303,6 +325,7 @@ void ApplicationWindow::CreateMenus(void) menu->addAction(addLineAct); menu->addAction(addCircleAct); menu->addAction(addArcAct); + menu->addAction(addPolygonAct); menu->addAction(addDimensionAct); menu->addSeparator(); menu->addAction(settingsAct);