]> Shamusworld >> Repos - architektonas/blobdiff - src/applicationwindow.cpp
Added Parallel tool + command processing.
[architektonas] / src / applicationwindow.cpp
index ef77f8b4e961f916a889fbdef162cafee57178ee..d3f014ff05a2ab51060838b5a0be4f665b800b4f 100644 (file)
@@ -31,6 +31,7 @@
 #include <QPrintPreviewDialog>
 #include "about.h"
 #include "blockwidget.h"
+#include "commandprocessor.h"
 #include "consolewidget.h"
 #include "drawingview.h"
 #include "fileio.h"
@@ -80,7 +81,7 @@ ApplicationWindow::ApplicationWindow():
        dock3->setWidget(ow);
        addDockWidget(Qt::RightDockWidgetArea, dock3);
        QDockWidget * dock4 = new QDockWidget(tr("Command"), this);
-       ConsoleWidget * cw = new ConsoleWidget;
+       cw = new ConsoleWidget;
        dock4->setWidget(cw);
        addDockWidget(Qt::BottomDockWidgetArea, dock4);
 
@@ -108,6 +109,8 @@ ApplicationWindow::ApplicationWindow():
 
        connect(drawing, SIGNAL(ObjectHovered(Object *)), ow, SLOT(ShowInfo(Object *)));
        connect(drawing, SIGNAL(NeedZoomUpdate()), this, SLOT(UpdateZoom()));
+
+       connect(cw->cmdProc, SIGNAL(UpdateNeeded()), this, SLOT(UpdateFromCommand()));
 }
 
 void ApplicationWindow::closeEvent(QCloseEvent * event)
@@ -362,6 +365,12 @@ void ApplicationWindow::MoveToLayer(void)
        drawing->update();
 }
 
+void ApplicationWindow::UpdateFromCommand(void)
+{
+       cw->SetToolPrompt();
+       drawing->update();
+}
+
 void ApplicationWindow::SnapToGridTool(void)
 {
        Global::snapToGrid = snapToGridAct->isChecked();
@@ -434,6 +443,7 @@ void ApplicationWindow::ParallelTool(void)
 {
        ClearUIToolStatesExcept(parallelAct);
        SetInternalToolStates();
+       Global::toolSuppressCrosshair = true;
 }
 
 void ApplicationWindow::TriangulateTool(void)
@@ -586,6 +596,7 @@ void ApplicationWindow::SetInternalToolStates(void)
        else
                Global::tool = TTNone;
 
+       cw->SetToolPrompt();//cw->cmdline);
        drawing->update();
 }
 
@@ -908,7 +919,7 @@ void ApplicationWindow::CreateActions(void)
        trimAct = CreateAction(tr("&Trim"), tr("Trim"), tr("Trim extraneous lines from selected objects."), QIcon(":/res/trim-tool.png"), QKeySequence("t,r"), true);
        connect(trimAct, SIGNAL(triggered()), this, SLOT(TrimTool()));
 
-       parallelAct = CreateAction(tr("&Parallel"), tr("Parallel"), tr("Create copies of objects parallel to the original."), QIcon(":/res/parallel-tool.png"), QKeySequence("p,a"), true);
+       parallelAct = CreateAction(tr("&Parallel"), tr("Parallel"), tr("Create copies of objects parallel to the original."), QIcon(":/res/parallel-tool.png"), QKeySequence("p,l"), true);
        connect(parallelAct, SIGNAL(triggered()), this, SLOT(ParallelTool()));
 
        triangulateAct = CreateAction(tr("&Triangulate"), tr("Triangulate"), tr("Make triangles from selected lines, preserving their lengths."), QIcon(":/res/triangulate-tool.png"), QKeySequence("t,g"), true);