Changeset View
Changeset View
Standalone View
Standalone View
testclient/mainwindow.cpp
Show First 20 Lines • Show All 48 Lines • ▼ Show 20 Line(s) | 42 | { | |||
---|---|---|---|---|---|
49 | 49 | | |||
50 | connect(core, &AtCore::atcoreMessage, logWidget, &LogWidget::appendLog); | 50 | connect(core, &AtCore::atcoreMessage, logWidget, &LogWidget::appendLog); | ||
51 | logWidget->appendLog(tr("Attempting to locate Serial Ports")); | 51 | logWidget->appendLog(tr("Attempting to locate Serial Ports")); | ||
52 | core->setSerialTimerInterval(1000); | 52 | core->setSerialTimerInterval(1000); | ||
53 | 53 | | |||
54 | connect(core, &AtCore::stateChanged, this, &MainWindow::printerStateChanged); | 54 | connect(core, &AtCore::stateChanged, this, &MainWindow::printerStateChanged); | ||
55 | connect(core, &AtCore::portsChanged, this, &MainWindow::locateSerialPort); | 55 | connect(core, &AtCore::portsChanged, this, &MainWindow::locateSerialPort); | ||
56 | connect(core, &AtCore::sdCardFileListChanged, sdWidget, &SdWidget::updateFilelist); | 56 | connect(core, &AtCore::sdCardFileListChanged, sdWidget, &SdWidget::updateFilelist); | ||
57 | connect(core, &AtCore::autoTemperatureReportChanged, this, &MainWindow::updateAutoTemperatureReport); | ||||
57 | comboPort->setFocus(Qt::OtherFocusReason); | 58 | comboPort->setFocus(Qt::OtherFocusReason); | ||
58 | } | 59 | } | ||
59 | 60 | | |||
60 | void MainWindow::initMenu() | 61 | void MainWindow::initMenu() | ||
61 | { | 62 | { | ||
62 | QMenu *menuFile = new QMenu(tr("File")); | 63 | QMenu *menuFile = new QMenu(tr("File")); | ||
63 | QAction *actionQuit = new QAction(style()->standardIcon(QStyle::SP_DialogCloseButton), tr("Quit")); | 64 | QAction *actionQuit = new QAction(style()->standardIcon(QStyle::SP_DialogCloseButton), tr("Quit")); | ||
64 | connect(actionQuit, &QAction::triggered, this, &MainWindow::close); | 65 | connect(actionQuit, &QAction::triggered, this, &MainWindow::close); | ||
▲ Show 20 Lines • Show All 133 Lines • ▼ Show 20 Line(s) | 174 | { | |||
198 | connect(core->temperature().get(), &Temperature::extruderTargetTemperatureChanged, this, [this] { | 199 | connect(core->temperature().get(), &Temperature::extruderTargetTemperatureChanged, this, [this] { | ||
199 | float temp = core->temperature().get()->extruderTargetTemperature(); | 200 | float temp = core->temperature().get()->extruderTargetTemperature(); | ||
200 | checkTemperature(0x03, 0, temp); | 201 | checkTemperature(0x03, 0, temp); | ||
201 | plotWidget->appendPoint(tr("Target Ext.1"), temp); | 202 | plotWidget->appendPoint(tr("Target Ext.1"), temp); | ||
202 | }); | 203 | }); | ||
203 | 204 | | |||
204 | auto timerLayout = new QHBoxLayout; | 205 | auto timerLayout = new QHBoxLayout; | ||
205 | auto lblTimer = new QLabel(tr("Seconds Between Temperature Checks"), this); | 206 | auto lblTimer = new QLabel(tr("Seconds Between Temperature Checks"), this); | ||
206 | auto sbTemperatureTimer = new QSpinBox(this); | 207 | sbTemperatureTimer = new QSpinBox(this); | ||
207 | sbTemperatureTimer->setRange(0, 90); | 208 | sbTemperatureTimer->setRange(0, 90); | ||
208 | | ||||
209 | connect(sbTemperatureTimer, QOverload<int>::of(&QSpinBox::valueChanged), this, [this](int value) { | 209 | connect(sbTemperatureTimer, QOverload<int>::of(&QSpinBox::valueChanged), this, [this](int value) { | ||
210 | core->setTemperatureTimerInterval(value * 1000); | 210 | core->setTemperatureTimerInterval(value * 1000); | ||
211 | }); | 211 | }); | ||
212 | 212 | connect(core, &AtCore::temperatureTimerIntervalChanged, this, [this](int value) { | |||
213 | connect(core, &AtCore::temperatureTimerIntervalChanged, this, [sbTemperatureTimer](int value) { | | |||
214 | if (value != sbTemperatureTimer->value()) { | 213 | if (value != sbTemperatureTimer->value()) { | ||
215 | sbTemperatureTimer->blockSignals(true); | 214 | sbTemperatureTimer->blockSignals(true); | ||
216 | sbTemperatureTimer->setValue(value / 1000); | 215 | sbTemperatureTimer->setValue(value / 1000); | ||
217 | sbTemperatureTimer->blockSignals(false); | 216 | sbTemperatureTimer->blockSignals(false); | ||
218 | } | 217 | } | ||
219 | }); | 218 | }); | ||
220 | 219 | | |||
221 | timerLayout->addWidget(lblTimer); | 220 | timerLayout->addWidget(lblTimer); | ||
▲ Show 20 Lines • Show All 329 Lines • ▼ Show 20 Line(s) | 549 | case AtCore::BUSY: | |||
551 | stateString = tr("Printing"); | 550 | stateString = tr("Printing"); | ||
552 | printWidget->setPrintText(tr("Pause Print")); | 551 | printWidget->setPrintText(tr("Pause Print")); | ||
553 | break; | 552 | break; | ||
554 | 553 | | |||
555 | case AtCore::DISCONNECTED: | 554 | case AtCore::DISCONNECTED: | ||
556 | if (connectionTimer->isActive()) { | 555 | if (connectionTimer->isActive()) { | ||
557 | connectionTimer->stop(); | 556 | connectionTimer->stop(); | ||
558 | } | 557 | } | ||
558 | sbTemperatureTimer->setValue(0); | ||||
559 | stateString = QStringLiteral("Not Connected"); | 559 | stateString = QStringLiteral("Not Connected"); | ||
560 | buttonConnect->setText(tr("Connect")); | 560 | buttonConnect->setText(tr("Connect")); | ||
561 | setConnectionWidgetsEnabled(true); | 561 | setConnectionWidgetsEnabled(true); | ||
562 | setDangeriousDocksDisabled(true); | 562 | setDangeriousDocksDisabled(true); | ||
563 | break; | 563 | break; | ||
564 | 564 | | |||
565 | case AtCore::CONNECTING: | 565 | case AtCore::CONNECTING: | ||
566 | stateString = QStringLiteral("Connecting"); | 566 | stateString = QStringLiteral("Connecting"); | ||
▲ Show 20 Lines • Show All 55 Lines • ▼ Show 20 Line(s) | |||||
622 | } | 622 | } | ||
623 | 623 | | |||
624 | void MainWindow::setConnectionWidgetsEnabled(bool enabled) | 624 | void MainWindow::setConnectionWidgetsEnabled(bool enabled) | ||
625 | { | 625 | { | ||
626 | comboBAUD->setEnabled(enabled); | 626 | comboBAUD->setEnabled(enabled); | ||
627 | comboPlugin->setEnabled(enabled); | 627 | comboPlugin->setEnabled(enabled); | ||
628 | comboPort->setEnabled(enabled); | 628 | comboPort->setEnabled(enabled); | ||
629 | } | 629 | } | ||
630 | | ||||
631 | void MainWindow::updateAutoTemperatureReport(bool autoReport) | ||||
632 | { | ||||
633 | disconnect(sbTemperatureTimer, QOverload<int>::of(&QSpinBox::valueChanged), this, {}); | ||||
634 | disconnect(core, &AtCore::temperatureTimerIntervalChanged, this, {}); | ||||
635 | disconnect(core, &AtCore::autoCheckTemperatureIntervalChanged, this, {}); | ||||
636 | | ||||
637 | if (autoReport) { | ||||
638 | connect(sbTemperatureTimer, QOverload<int>::of(&QSpinBox::valueChanged), this, [this](int value) { | ||||
639 | core->setAutoCheckTemperatureInterval(value); | ||||
640 | }); | ||||
641 | connect(core, &AtCore::autoCheckTemperatureIntervalChanged, this, [this](int value) { | ||||
642 | if (value != sbTemperatureTimer->value()) { | ||||
643 | sbTemperatureTimer->blockSignals(true); | ||||
644 | sbTemperatureTimer->setValue(value); | ||||
645 | sbTemperatureTimer->blockSignals(false); | ||||
646 | } | ||||
647 | }); | ||||
648 | } else { | ||||
649 | connect(sbTemperatureTimer, QOverload<int>::of(&QSpinBox::valueChanged), this, [this](int value) { | ||||
650 | core->setTemperatureTimerInterval(value * 1000); | ||||
651 | }); | ||||
652 | connect(core, &AtCore::temperatureTimerIntervalChanged, this, [this](int value) { | ||||
653 | if (value != sbTemperatureTimer->value()) { | ||||
654 | sbTemperatureTimer->blockSignals(true); | ||||
655 | sbTemperatureTimer->setValue(value / 1000); | ||||
656 | sbTemperatureTimer->blockSignals(false); | ||||
657 | } | ||||
658 | }); | ||||
659 | } | ||||
patrickelectric: would it be easier to do the if/else with value and 1000 ? | |||||
660 | } |
would it be easier to do the if/else with value and 1000 ?