Fixed issue #319. From base-drawing to other state.

--HG--
branch : develop
This commit is contained in:
Roman Telezhynskyi 2015-06-29 18:44:36 +03:00
parent 03eb5c92a7
commit 5116261b05

View File

@ -1352,6 +1352,19 @@ void MainWindow::ActionDetails(bool checked)
{ {
if (checked) if (checked)
{ {
const QHash<quint32, VDetail> *details = pattern->DataDetails();
if(not qApp->getOpeningPattern())
{
if (details->count() == 0)
{
QMessageBox::information(this, tr("Detail mode"), tr("You can't use now the Detail mode. "
"Please, create at least one workpiece."),
QMessageBox::Ok, QMessageBox::Ok);
Layout();
return;
}
}
qCDebug(vMainWindow, "Show details scene"); qCDebug(vMainWindow, "Show details scene");
ui->actionDraw->setChecked(false); ui->actionDraw->setChecked(false);
ui->actionLayout->setChecked(false); ui->actionLayout->setChecked(false);
@ -1417,18 +1430,24 @@ void MainWindow::ActionLayout(bool checked)
{ {
if (checked) if (checked)
{ {
const QHash<quint32, VDetail> *details = pattern->DataDetails();
if(not qApp->getOpeningPattern())
{
if (details->count() == 0)
{
QMessageBox::information(this, tr("Layout mode"), tr("You can't use now the Layout mode. "
"Please, create at least one workpiece."),
QMessageBox::Ok, QMessageBox::Ok);
Layout();
return;
}
}
qCDebug(vMainWindow, "Show layout scene"); qCDebug(vMainWindow, "Show layout scene");
ui->actionDraw->setChecked(false); ui->actionDraw->setChecked(false);
ui->actionDetails->setChecked(false); ui->actionDetails->setChecked(false);
SaveCurrentScene(); SaveCurrentScene();
const QHash<quint32, VDetail> *details = pattern->DataDetails();
if (details->count() == 0)
{
Layout();
return;
}
PrepareDetailsForLayout(details); PrepareDetailsForLayout(details);
currentScene = tempSceneLayout; currentScene = tempSceneLayout;
@ -1642,9 +1661,9 @@ void MainWindow::Clear()
qCDebug(vMainWindow, "Unlocked pattern file."); qCDebug(vMainWindow, "Unlocked pattern file.");
#endif //QT_VERSION >= QT_VERSION_CHECK(5, 1, 0) #endif //QT_VERSION >= QT_VERSION_CHECK(5, 1, 0)
ui->actionDetails->setChecked(false); ui->actionDetails->setChecked(true);
ui->actionDraw->setChecked(true); ui->actionDraw->setChecked(true);
ui->actionDraw->setEnabled(false); ui->actionLayout->setEnabled(true);
qCDebug(vMainWindow, "Returned to Draw mode."); qCDebug(vMainWindow, "Returned to Draw mode.");
setCurrentFile(QString()); setCurrentFile(QString());
pattern->Clear(); pattern->Clear();
@ -1870,21 +1889,13 @@ void MainWindow::SetEnableWidgets(bool enable)
ui->actionHistory->setEnabled(enable); ui->actionHistory->setEnabled(enable);
ui->actionNewDraw->setEnabled(enable); ui->actionNewDraw->setEnabled(enable);
ui->actionDraw->setEnabled(enable); ui->actionDraw->setEnabled(enable);
ui->actionDetails->setEnabled(enable);
ui->actionLayout->setEnabled(enable);
ui->actionTable->setEnabled(enable); ui->actionTable->setEnabled(enable);
ui->actionZoomFitBest->setEnabled(enable); ui->actionZoomFitBest->setEnabled(enable);
ui->actionZoomOriginal->setEnabled(enable); ui->actionZoomOriginal->setEnabled(enable);
ui->actionShowCurveDetails->setEnabled(enable); ui->actionShowCurveDetails->setEnabled(enable);
if (enable)
{
Layout();
}
else
{
ui->actionDetails->setEnabled(enable);
ui->actionLayout->setEnabled(enable);
}
//Now we don't want allow user call context menu //Now we don't want allow user call context menu
sceneDraw->SetDisableTools(!enable, doc->GetNameActivPP()); sceneDraw->SetDisableTools(!enable, doc->GetNameActivPP());
ui->view->setEnabled(enable); ui->view->setEnabled(enable);
@ -1901,15 +1912,13 @@ void MainWindow::Layout()
{ {
if (pattern->DataDetails()->size() > 0) if (pattern->DataDetails()->size() > 0)
{ {
ui->actionDetails->setEnabled(true);
ui->actionLayout->setEnabled(true);
SetLayoutModeActions(true); SetLayoutModeActions(true);
} }
else else
{ {
listDetails.clear(); listDetails.clear();
ui->actionDetails->setEnabled(false); ui->actionDetails->setChecked(false);
ui->actionLayout->setEnabled(false); ui->actionLayout->setChecked(false);
ui->actionDraw->setChecked(true); ui->actionDraw->setChecked(true);
SetLayoutModeActions(false); SetLayoutModeActions(false);
} }
@ -2875,11 +2884,11 @@ void MainWindow::LoadPattern(const QString &fileName)
helpLabel->setText(tr("File loaded")); helpLabel->setText(tr("File loaded"));
qCDebug(vMainWindow, "File loaded."); qCDebug(vMainWindow, "File loaded.");
qApp->setOpeningPattern();// End opening file
//Fit scene size to best size for first show //Fit scene size to best size for first show
ZoomFirstShow(); ZoomFirstShow();
qApp->setOpeningPattern();// End opening file
ui->actionDraw->setChecked(true); ui->actionDraw->setChecked(true);
} }
} }