X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fapplicationwindow.cpp;h=71e8a087d5618225543d37438e1e5b8c23986d53;hb=921bf050ffe5fc81a9ab377e634180e659ee5d5d;hp=8220a0eeca1138d6523c884ae70b26c828f92980;hpb=428876081ee41d40e32f5b4f2bfcfdb7a835e6e1;p=architektonas diff --git a/src/applicationwindow.cpp b/src/applicationwindow.cpp index 8220a0e..71e8a08 100644 --- a/src/applicationwindow.cpp +++ b/src/applicationwindow.cpp @@ -40,9 +40,14 @@ #include "layerwidget.h" #include "mirroraction.h" #include "painter.h" +#include "rotateaction.h" #include "settingsdialog.h" +// Class variables +DrawingView * ApplicationWindow::drawing; + + ApplicationWindow::ApplicationWindow(): baseUnitInput(new QLineEdit), dimensionSizeInput(new QLineEdit), @@ -85,6 +90,8 @@ ApplicationWindow::ApplicationWindow(): ReadSettings(); setUnifiedTitleAndToolBarOnMac(true); Object::SetFont(new QFont("Verdana", 15, QFont::Bold)); + + connect(lw, SIGNAL(LayerSelected(int)), drawing, SLOT(SetCurrentLayer(int))); } @@ -395,7 +402,6 @@ void ApplicationWindow::SetInternalToolStates(void) { Object::SetDeleteActive(deleteAct->isChecked()); Object::SetDimensionActive(addDimensionAct->isChecked()); - drawing->SetRotateToolActive(rotateAct->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 @@ -404,22 +410,20 @@ void ApplicationWindow::SetInternalToolStates(void) { delete drawing->toolAction; drawing->toolAction = NULL; + Object::ignoreClicks = false; } -#if 0 - drawing->SetAddLineToolActive(addLineAct->isChecked()); - drawing->SetAddCircleToolActive(addCircleAct->isChecked()); - drawing->SetAddArcToolActive(addArcAct->isChecked()); - drawing->SetAddDimensionToolActive(addDimensionAct->isChecked()); -#else 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(mirrorAct->isChecked() ? new MirrorAction() : NULL); -#endif + drawing->SetToolActive(rotateAct->isChecked() ? new RotateAction() : NULL); + + if (drawing->toolAction) + Object::ignoreClicks = true; - update(); + drawing->update(); }