X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fapplicationwindow.cpp;h=b91177de80d0454b718c94bd51ce39ddf5d559a2;hb=dacd9dc2c1ac093e4945f7befaeb5ff1801a0f52;hp=d3f014ff05a2ab51060838b5a0be4f665b800b4f;hpb=b8bab716d9302fbb04d97679ee499eac781f1b22;p=architektonas diff --git a/src/applicationwindow.cpp b/src/applicationwindow.cpp index d3f014f..b91177d 100644 --- a/src/applicationwindow.cpp +++ b/src/applicationwindow.cpp @@ -33,6 +33,7 @@ #include "blockwidget.h" #include "commandprocessor.h" #include "consolewidget.h" +#include "drawingsettingsdlg.h" #include "drawingview.h" #include "fileio.h" #include "generaltab.h" @@ -550,7 +551,7 @@ void ApplicationWindow::ClearUIToolStatesExcept(QAction * exception) QAction * actionList[] = { addArcAct, addLineAct, addCircleAct, addDimensionAct, addPolygonAct, addSplineAct, deleteAct, rotateAct, mirrorAct, trimAct, - triangulateAct, 0 + triangulateAct, parallelAct, 0 }; for(int i=0; actionList[i]!=0; i++) @@ -596,7 +597,7 @@ void ApplicationWindow::SetInternalToolStates(void) else Global::tool = TTNone; - cw->SetToolPrompt();//cw->cmdline); + cw->SetToolPrompt(); drawing->update(); } @@ -618,6 +619,25 @@ void ApplicationWindow::Settings(void) WriteSettings(); } +void ApplicationWindow::DrawingSettings(void) +{ + DrawingSettingsDlg dlg(this); + dlg.baseUnit->setCurrentIndex(drawing->document.baseUnit); + dlg.unitStyle->setCurrentIndex(drawing->document.unitStyle); + dlg.decimalPrecision->setCurrentIndex(drawing->document.decimalPrecision); + dlg.fractionalPrecision->setCurrentIndex(drawing->document.fractionalPrecision); + + if (dlg.exec() == false) + return; + + // Deal with stuff here (since user hit "OK" button...) + drawing->document.baseUnit = dlg.baseUnit->currentIndex(); + drawing->document.unitStyle = dlg.unitStyle->currentIndex(); + drawing->document.decimalPrecision= dlg.decimalPrecision->currentIndex(); + drawing->document.fractionalPrecision = dlg.fractionalPrecision->currentIndex(); + drawing->update(); +} + // // Group a bunch of selected objects (which can include other groups) together // or ungroup a selected group. @@ -904,6 +924,9 @@ void ApplicationWindow::CreateActions(void) settingsAct = CreateAction(tr("&Settings"), tr("Settings"), tr("Change certain defaults for Architektonas."), QIcon(":/res/settings.png"), QKeySequence()); connect(settingsAct, SIGNAL(triggered()), this, SLOT(Settings())); + drawingSettingsAct = CreateAction(tr("&Drawing Settings"), tr("Drawing settings"), tr("Change certain defaults for the current drawing."), QIcon(":/res/settings.png"), QKeySequence()); + connect(drawingSettingsAct, SIGNAL(triggered()), this, SLOT(DrawingSettings())); + groupAct = CreateAction(tr("&Group"), tr("Group"), tr("Group/ungroup selected objects."), QIcon(":/res/group-tool.png"), QKeySequence("g")); connect(groupAct, SIGNAL(triggered()), this, SLOT(HandleGrouping())); @@ -1044,6 +1067,7 @@ void ApplicationWindow::CreateMenus(void) menu->addAction(addSplineAct); menu->addAction(addDimensionAct); menu->addSeparator(); + menu->addAction(drawingSettingsAct); menu->addAction(settingsAct); menu = menuBar()->addMenu(tr("&Help")); @@ -1116,7 +1140,8 @@ void ApplicationWindow::ReadSettings(void) QPoint pos = settings.value("pos", QPoint(200, 200)).toPoint(); QSize size = settings.value("size", QSize(400, 400)).toSize(); drawing->useAntialiasing = settings.value("useAntialiasing", true).toBool(); - snapToGridAct->setChecked(settings.value("snapToGrid", true).toBool()); + Global::snapToGrid = settings.value("snapToGrid", true).toBool(); + snapToGridAct->setChecked(Global::snapToGrid); resize(size); move(pos); restoreState(settings.value("windowState").toByteArray());