X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fapplicationwindow.cpp;h=825eb6dd30d451cf4cefd37438aa8c34d4558c37;hb=06456047e6476969e45be5b1f31b8336ea74c45f;hp=866750d82fc8dce1326ff8b007be6bf8045a80fd;hpb=deb5512a6b35e73dc2c19ac4d2800cff87dd2e71;p=architektonas diff --git a/src/applicationwindow.cpp b/src/applicationwindow.cpp index 866750d..825eb6d 100644 --- a/src/applicationwindow.cpp +++ b/src/applicationwindow.cpp @@ -30,26 +30,15 @@ #include "about.h" #include "blockwidget.h" -//#include "dimension.h" #include "drawingview.h" -//#include "drawarcaction.h" -//#include "drawcircleaction.h" -//#include "drawdimensionaction.h" -//#include "drawlineaction.h" -//#include "drawsplineaction.h" #include "fileio.h" #include "generaltab.h" -//#include "geometry.h" #include "global.h" #include "layerwidget.h" -//#include "line.h" -//#include "mirroraction.h" #include "painter.h" -//#include "rotateaction.h" #include "settingsdialog.h" #include "structs.h" -//#include "triangulateaction.h" -//#include "trimaction.h" +#include "utils.h" // Class variables @@ -238,7 +227,8 @@ void ApplicationWindow::DeleteTool(void) // delete those and *don't* select the delete tool. if (drawing->numSelected > 0) { - drawing->DeleteSelectedItems(); +// drawing->DeleteSelectedItems(); + DeleteSelectedObjects(drawing->document.objects); drawing->update(); deleteAct->setChecked(false); return; @@ -260,6 +250,11 @@ void ApplicationWindow::DimensionTool(void) void ApplicationWindow::RotateTool(void) { ClearUIToolStatesExcept(rotateAct); + + // Do tear-down if Rotate tool has been turned off + if (!rotateAct->isChecked()) + drawing->RotateHandler(ToolCleanup, Point(0, 0)); + SetInternalToolStates(); } @@ -414,34 +409,11 @@ void ApplicationWindow::ClearUIToolStatesExcept(QAction * exception) void ApplicationWindow::SetInternalToolStates(void) { -// Global::deleteActive = deleteAct->isChecked(); -// Global::dimensionActive = addDimensionAct->isChecked(); - // We can be sure that if we've come here, then either an active tool is // being deactivated, or a new tool is being created. In either case, the // old tool needs to be deleted. Global::toolState = TSNone; -#if 0 - if (drawing->toolAction) - { - delete drawing->toolAction; - drawing->toolAction = NULL; - Global::ignoreClicks = false; - } - drawing->SetToolActive(addLineAct->isChecked() ? new DrawLineAction() : NULL); - drawing->SetToolActive(addCircleAct->isChecked() ? new DrawCircleAction() : NULL); - drawing->SetToolActive(addArcAct->isChecked() ? new DrawArcAction() : NULL); - drawing->SetToolActive(addDimensionAct->isChecked() ? new DrawDimensionAction() : NULL); - drawing->SetToolActive(addSplineAct->isChecked() ? new DrawSplineAction() : NULL); - drawing->SetToolActive(mirrorAct->isChecked() ? new MirrorAction() : NULL); - drawing->SetToolActive(rotateAct->isChecked() ? new RotateAction() : NULL); - drawing->SetToolActive(trimAct->isChecked() ? new TrimAction() : NULL); - drawing->SetToolActive(triangulateAct->isChecked() ? new TriangulateAction() : NULL); - - if (drawing->toolAction) - Global::ignoreClicks = true; -#else if (addLineAct->isChecked()) Global::tool = TTLine; else if (addCircleAct->isChecked()) @@ -466,7 +438,6 @@ void ApplicationWindow::SetInternalToolStates(void) Global::tool = TTTriangulate; else Global::tool = TTNone; -#endif drawing->update(); }