diff --git a/src/dialogs/profilesdialog.h b/src/dialogs/profilesdialog.h --- a/src/dialogs/profilesdialog.h +++ b/src/dialogs/profilesdialog.h @@ -30,8 +30,7 @@ Q_OBJECT public: - explicit ProfilesDialog(QWidget *parent = nullptr); - void setBaudRates(const QStringList &list); + explicit ProfilesDialog(const QStringList &firmwares, const QStringList &baudList, QWidget *parent = nullptr); ~ProfilesDialog(); private: diff --git a/src/dialogs/profilesdialog.cpp b/src/dialogs/profilesdialog.cpp --- a/src/dialogs/profilesdialog.cpp +++ b/src/dialogs/profilesdialog.cpp @@ -20,12 +20,15 @@ #include #include -ProfilesDialog::ProfilesDialog(QWidget *parent) : +ProfilesDialog::ProfilesDialog(const QStringList &firmwares, const QStringList &baudList, QWidget *parent) : QDialog(parent), ui(new Ui::ProfilesDialog) { ui->setupUi(this); - + ui->firmwareCB->addItem(QStringLiteral("Auto-Detect")); + ui->firmwareCB->addItems(firmwares); + ui->baudCB->addItems(baudList); + ui->baudCB->setCurrentText(QLatin1String("115200")); ui->profileCB->setAutoCompletion(true); connect(ui->profileCB, static_cast(&QComboBox::currentIndexChanged), [ = ] { loadSettings(); @@ -67,12 +70,6 @@ #endif } -void ProfilesDialog::setBaudRates(const QStringList &list) -{ - ui->baudCB->addItems(list); - ui->baudCB->setCurrentText(QLatin1String("115200")); -} - ProfilesDialog::~ProfilesDialog() { delete ui; @@ -109,11 +106,12 @@ } settings.setValue(QStringLiteral("heatedBed"), ui->heatedBedCK->isChecked()); - settings.setValue(QStringLiteral("temperatureBed"), ui->bedTempSB->value()); + settings.setValue(QStringLiteral("maximumTemperatureBed"), ui->bedTempSB->value()); //HOTEND - settings.setValue(QStringLiteral("temperatureExtruder"), ui->extruderTempSB->value()); + settings.setValue(QStringLiteral("maximumTemperatureExtruder"), ui->extruderTempSB->value()); //Baud settings.setValue(QStringLiteral("bps"), ui->baudCB->currentText()); + settings.setValue(QStringLiteral("firmware"),ui->firmwareCB->currentText()); settings.endGroup(); settings.endGroup(); @@ -150,12 +148,13 @@ ui->heatedBedCK->setChecked(settings.value(QStringLiteral("heatedBed"), QStringLiteral("true")).toBool()); ui->bedTempSB->setEnabled(ui->heatedBedCK->isChecked()); - ui->bedTempSB->setValue(settings.value(QStringLiteral("temperatureBed"), QStringLiteral("0")).toFloat()); + ui->bedTempSB->setValue(settings.value(QStringLiteral("maximumTemperatureBed"), QStringLiteral("0")).toInt()); //HOTEND - ui->extruderTempSB->setValue(settings.value(QStringLiteral("temperatureExtruder"), QStringLiteral("0.0")).toFloat()); + ui->extruderTempSB->setValue(settings.value(QStringLiteral("maximumTemperatureExtruder"), QStringLiteral("0")).toInt()); //Baud ui->baudCB->setCurrentText(settings.value(QStringLiteral("bps"), QStringLiteral("115200")).toString()); + ui->firmwareCB->setCurrentText(settings.value(QStringLiteral("firmware"), QStringLiteral("Auto-Detect")).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 @@ -228,34 +228,34 @@ - Bed + Maximum Bed - + ºC - 200.000000000000000 + 999 - Hotend + Maximum Hotend - + ºC - 400.000000000000000 + 999 @@ -268,7 +268,31 @@ Advanced - + + + + + Firmware + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + diff --git a/src/mainwindow.h b/src/mainwindow.h --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -22,7 +22,6 @@ #include #include #include -#include #include namespace Ui { @@ -42,7 +41,6 @@ AtCore core; QStringList firmwaresList; QUrl fileName; - ProfilesDialog *profilesDialog; ConnectSettingsDialog *connectSettingsDialog; LogWidget *logWidget; QAction *_connect; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -25,11 +25,11 @@ #include #include #include +#include MainWindow::MainWindow(QWidget *parent) : KXmlGuiWindow(parent), ui(new Ui::MainWindow), - profilesDialog(new ProfilesDialog(this)), connectSettingsDialog(new ConnectSettingsDialog(this)) { ui->setupUi(this); @@ -114,11 +114,11 @@ ui->statusBar->addWidget(ui->statusBarWidget); // When a new profile is added on the Profile Dialog it needs to update the profiles on connection dialog + /* connect(profilesDialog, &ProfilesDialog::updateProfiles, connectSettingsDialog, &ConnectSettingsDialog::updateProfiles); - + */ connectSettingsDialog->setFirmwareList(core.availableFirmwarePlugins()); - profilesDialog->setBaudRates(core.serial()->validBaudRates()); ui->homeAllPB->setIcon(style()->standardIcon(QStyle::SP_DirHomeIcon)); ui->homeXPB->setIcon(style()->standardIcon(QStyle::SP_DirHomeIcon)); @@ -172,7 +172,10 @@ action = actionCollection()->addAction(QStringLiteral("profiles")); action->setText(i18n("&Profiles")); - connect(action, &QAction::triggered, profilesDialog, &ProfilesDialog::show); + connect(action, &QAction::triggered, [&] { + std::unique_ptr pd(new ProfilesDialog(core.availableFirmwarePlugins(),core.portSpeeds())); + pd.get()->exec(); + }); action = actionCollection()->addAction(QStringLiteral("print")); action->setText(i18n("&Print"));