File indexing completed on 2024-05-12 04:41:12
0001 /* AtCore KDE Libary for 3D Printers 0002 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0003 SPDX-FileCopyrightText: 2018, 2020 Chris Rizzitello <rizzitello@kde.org> 0004 SPDX-FileCopyrightText: 2018 Patrick José Pereira <patrickjp@kde.org> 0005 */ 0006 0007 #include "temperaturewidget.h" 0008 0009 #include <QCheckBox> 0010 #include <QComboBox> 0011 #include <QHBoxLayout> 0012 #include <QLabel> 0013 #include <QPushButton> 0014 #include <QSpinBox> 0015 #include <QVBoxLayout> 0016 0017 TemperatureWidget::TemperatureWidget(QWidget *parent) 0018 : QWidget(parent) 0019 { 0020 auto *mainLayout = new QVBoxLayout; 0021 checkAndWait = new QCheckBox(tr("Wait Until Temperature Stabilizes"), this); 0022 mainLayout->addWidget(checkAndWait); 0023 0024 auto label = new QLabel(tr("Bed Temp"), this); 0025 0026 sbBedTemp = new QSpinBox(this); 0027 sbBedTemp->setRange(0, 120); 0028 sbBedTemp->setSuffix(QStringLiteral("°C")); 0029 0030 auto *newButton = new QPushButton(tr("Set"), this); 0031 connect(newButton, &QPushButton::clicked, this, [this] { Q_EMIT bedTempChanged(sbBedTemp->value(), checkAndWait->isChecked()); }); 0032 0033 auto *hboxLayout = new QHBoxLayout; 0034 hboxLayout->addWidget(label, 80); 0035 hboxLayout->addWidget(sbBedTemp); 0036 hboxLayout->addWidget(newButton); 0037 mainLayout->addItem(hboxLayout); 0038 0039 comboExtruderSelect = new QComboBox(this); 0040 sbExtruderTemp = new QSpinBox(this); 0041 sbExtruderTemp->setRange(0, 275); 0042 sbExtruderTemp->setSuffix(QStringLiteral("°C")); 0043 0044 newButton = new QPushButton(tr("Set"), this); 0045 connect(newButton, &QPushButton::clicked, this, [this] { Q_EMIT extTempChanged(sbExtruderTemp->value(), comboExtruderSelect->currentIndex(), checkAndWait->isChecked()); }); 0046 0047 hboxLayout = new QHBoxLayout; 0048 hboxLayout->addWidget(comboExtruderSelect, 80); 0049 hboxLayout->addWidget(sbExtruderTemp); 0050 hboxLayout->addWidget(newButton); 0051 mainLayout->addItem(hboxLayout); 0052 0053 setLayout(mainLayout); 0054 } 0055 0056 void TemperatureWidget::updateExtruderCount(const int count) 0057 { 0058 comboExtruderSelect->clear(); 0059 for (int i = 0; i < count; i++) { 0060 comboExtruderSelect->insertItem(i, tr("Extruder %1").arg(i)); 0061 } 0062 }