diff --git a/src/dialogs/connectsettingsdialog.cpp b/src/dialogs/connectsettingsdialog.cpp --- a/src/dialogs/connectsettingsdialog.cpp +++ b/src/dialogs/connectsettingsdialog.cpp @@ -89,6 +89,7 @@ data["bedTemp"] = settings.value(QStringLiteral("maximumTemperatureBed"), QStringLiteral("0")); data["hotendTemp"] = settings.value(QStringLiteral("maximumTemperatureExtruder"), QStringLiteral("0")); data["firmware"] = settings.value(QStringLiteral("firmware"),QStringLiteral("Auto-Detect")); + data["postPause"] = settings.value(QStringLiteral("postPause"),QStringLiteral("")); data["name"] = profile; settings.endGroup(); settings.endGroup(); diff --git a/src/dialogs/profilesdialog.cpp b/src/dialogs/profilesdialog.cpp --- a/src/dialogs/profilesdialog.cpp +++ b/src/dialogs/profilesdialog.cpp @@ -121,6 +121,7 @@ //Baud settings.setValue(QStringLiteral("bps"), ui->baudCB->currentText()); settings.setValue(QStringLiteral("firmware"),ui->firmwareCB->currentText()); + settings.setValue(QStringLiteral("postPause"), ui->postPauseLE->text()); settings.endGroup(); settings.endGroup(); @@ -164,6 +165,7 @@ //Baud ui->baudCB->setCurrentText(settings.value(QStringLiteral("bps"), QStringLiteral("115200")).toString()); ui->firmwareCB->setCurrentText(settings.value(QStringLiteral("firmware"), QStringLiteral("Auto-Detect")).toString()); + ui->postPauseLE->setText(settings.value(QStringLiteral("postPause"),QStringLiteral("")).toString()); settings.endGroup(); settings.endGroup(); diff --git a/src/dialogs/profilesdialog.ui b/src/dialogs/profilesdialog.ui --- a/src/dialogs/profilesdialog.ui +++ b/src/dialogs/profilesdialog.ui @@ -268,18 +268,18 @@ Advanced - - + + Firmware - + - + Qt::Vertical @@ -292,6 +292,16 @@ + + + + PostPause + + + + + + diff --git a/src/widgets/atcoreinstancewidget.h b/src/widgets/atcoreinstancewidget.h --- a/src/widgets/atcoreinstancewidget.h +++ b/src/widgets/atcoreinstancewidget.h @@ -44,13 +44,14 @@ * Destructor */ ~AtCoreInstanceWidget(); - void startConnection(const QString& serialPort, const QMap& profiles); + void startConnection(const QString& serialPort, const QMap& profile); bool connected(); private: Ui::AtCoreInstanceWidget* ui; AtCore m_core; QToolBar *toolBar; + QMap profileData; void initConnectsToAtCore(); void printFile(const QUrl& fileName); void pausePrint(); diff --git a/src/widgets/atcoreinstancewidget.cpp b/src/widgets/atcoreinstancewidget.cpp --- a/src/widgets/atcoreinstancewidget.cpp +++ b/src/widgets/atcoreinstancewidget.cpp @@ -80,8 +80,9 @@ ui->toolBarLayout->addWidget(toolBar); ui->toolBarLayout->addStretch(); } -void AtCoreInstanceWidget::startConnection(const QString& serialPort, const QMap& profiles){ - m_core.initSerial(serialPort, profiles["bps"].toInt()); +void AtCoreInstanceWidget::startConnection(const QString& serialPort, const QMap& profile){ + m_core.initSerial(serialPort, profile["bps"].toInt()); + profileData = profile; initConnectsToAtCore(); } @@ -144,7 +145,11 @@ void AtCoreInstanceWidget::pausePrint() { - m_core.pause(QString()); + if(m_core.state() == AtCore::BUSY) { + m_core.pause(profileData["postPause"].toString()); + } else if (m_core.state() == AtCore::PAUSE) { + m_core.resume(); + } } void AtCoreInstanceWidget::stopPrint()