From f27e5f92f040e3bc4106760d38cf43c5ffd5377b Mon Sep 17 00:00:00 2001 From: NeoTheFox Date: Thu, 5 Mar 2015 13:36:48 +0300 Subject: [PATCH] Ui tweaks Minor optimization of temperature parsing --- mainwindow.cpp | 36 ++++++++++++++++++++++++++---------- mainwindow.h | 2 ++ mainwindow.ui | 6 ++++++ 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index c973aa4..f605927 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -14,6 +14,8 @@ MainWindow::MainWindow(QWidget *parent) : ui->controlBox->setDisabled(true); ui->consoleGroup->setDisabled(true); ui->pauseBtn->setDisabled("true"); + ui->actionPrint_from_SD->setDisabled("true"); + ui->actionSet_SD_printing_mode->setDisabled("true"); ui->baudbox->addItem(QString::number(4800)); ui->baudbox->addItem(QString::number(9600)); @@ -210,6 +212,8 @@ void MainWindow::serialconnect() ui->progressBar->setValue(0); ui->controlBox->setDisabled(false); ui->consoleGroup->setDisabled(false); + ui->actionPrint_from_SD->setEnabled("true"); + ui->actionSet_SD_printing_mode->setEnabled("true"); if(checkingTemperature) injectCommand("M105"); } } @@ -439,6 +443,7 @@ void MainWindow::readSerial() QFuture parseSDThread = QtConcurrent::run(this, &MainWindow::parseSDStatus, data); sdWatcher.setFuture(parseSDThread); } + else if(sdprinting && data.startsWith("Not SD ")) sdprinting = false; else if(data.contains("Begin file list")) { sdFiles.clear(); @@ -616,6 +621,8 @@ void MainWindow::serialError(QSerialPort::SerialPortError error) ui->pauseBtn->setDisabled(true); ui->controlBox->setDisabled(true); ui->consoleGroup->setDisabled(true); + ui->actionPrint_from_SD->setDisabled("true"); + ui->actionSet_SD_printing_mode->setDisabled("true"); qDebug() << error; @@ -658,21 +665,24 @@ void MainWindow::serialError(QSerialPort::SerialPortError error) TemperatureReadings MainWindow::parseStatus(QByteArray data) { - QString extmp = ""; - QString btmp = ""; + QString tmp; + TemperatureReadings t; for(int i = 2; data.at(i) != '/'; i++) { - extmp+=data.at(i); - } - for(int i = data.indexOf("B:")+2; data.at(i) != '/'; i++) - { - btmp+=data.at(i); + tmp+=data.at(i); } - TemperatureReadings t; - t.e = extmp.toDouble(); - t.b = btmp.toDouble(); + t.e = tmp.toDouble(); + + tmp.clear(); + + for(int i = data.indexOf("B:")+2; data.at(i) != '/'; i++) + { + tmp+=data.at(i); + } + + t.b = tmp.toDouble(); return t; } @@ -758,3 +768,9 @@ void MainWindow::on_estepspin_valueChanged(const QString &arg1) else if(arg1.toFloat() >=10) ui->estepspin->setSingleStep(10); else if(arg1.toFloat() >= 1) ui->estepspin->setSingleStep(1); } + +void MainWindow::on_actionSet_SD_printing_mode_triggered() +{ + sdprinting = true; + ui->fileBox->setDisabled(false); +} diff --git a/mainwindow.h b/mainwindow.h index 435ea41..238057a 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -131,6 +131,8 @@ private slots: void serialError(QSerialPort::SerialPortError error); void on_actionPrint_from_SD_triggered(); + void on_actionSet_SD_printing_mode_triggered(); + signals: void sdReady(); }; diff --git a/mainwindow.ui b/mainwindow.ui index 2dc0548..e2096dc 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -1063,6 +1063,7 @@ STOP Tools + @@ -1182,6 +1183,11 @@ STOP About Qt + + + Set SD printing mode + +