Previos Qt versions fixes
This commit is contained in:
parent
e62bfe3949
commit
7cfd1aedb3
@ -7,6 +7,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
//Setup the UI
|
||||||
ui->fileBox->setDisabled(true);
|
ui->fileBox->setDisabled(true);
|
||||||
ui->sendBtn->setDisabled(true);
|
ui->sendBtn->setDisabled(true);
|
||||||
ui->pauseBtn->setDisabled(true);
|
ui->pauseBtn->setDisabled(true);
|
||||||
@ -17,7 +18,10 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
ui->actionPrint_from_SD->setDisabled(true);
|
ui->actionPrint_from_SD->setDisabled(true);
|
||||||
ui->actionSet_SD_printing_mode->setDisabled(true);
|
ui->actionSet_SD_printing_mode->setDisabled(true);
|
||||||
ui->actionEEPROM_editor->setDisabled(true);
|
ui->actionEEPROM_editor->setDisabled(true);
|
||||||
|
ui->extruderlcd->setPalette(Qt::red);
|
||||||
|
ui->bedlcd->setPalette(Qt::red);
|
||||||
|
|
||||||
|
//Init baudrate combobox
|
||||||
ui->baudbox->addItem(QString::number(4800));
|
ui->baudbox->addItem(QString::number(4800));
|
||||||
ui->baudbox->addItem(QString::number(9600));
|
ui->baudbox->addItem(QString::number(9600));
|
||||||
ui->baudbox->addItem(QString::number(115200));
|
ui->baudbox->addItem(QString::number(115200));
|
||||||
@ -30,37 +34,34 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
ui->baudbox->setCurrentIndex(settings.value("printer/baudrateindex").toInt());
|
ui->baudbox->setCurrentIndex(settings.value("printer/baudrateindex").toInt());
|
||||||
else ui->baudbox->setCurrentIndex(2);
|
else ui->baudbox->setCurrentIndex(2);
|
||||||
|
|
||||||
ui->extruderlcd->setPalette(Qt::red);
|
//Restore settings
|
||||||
ui->bedlcd->setPalette(Qt::red);
|
|
||||||
|
|
||||||
firstrun = !settings.value("core/firstrun").toBool(); //firstrun is inverted!
|
firstrun = !settings.value("core/firstrun").toBool(); //firstrun is inverted!
|
||||||
|
|
||||||
checkingTemperature = settings.value("core/checktemperature").toBool();
|
checkingTemperature = settings.value("core/checktemperature").toBool();
|
||||||
ui->checktemp->setChecked(checkingTemperature);
|
ui->checktemp->setChecked(checkingTemperature);
|
||||||
|
|
||||||
ui->etmpspin->setValue(settings.value("user/extrudertemp").toInt());
|
ui->etmpspin->setValue(settings.value("user/extrudertemp").toInt());
|
||||||
ui->btmpspin->setValue(settings.value("user/bedtemp").toInt());
|
ui->btmpspin->setValue(settings.value("user/bedtemp").toInt());
|
||||||
|
|
||||||
echo = settings.value("core/echo", 0).toBool();
|
echo = settings.value("core/echo", 0).toBool();
|
||||||
|
|
||||||
autolock = settings.value("core/lockcontrols").toBool();
|
autolock = settings.value("core/lockcontrols").toBool();
|
||||||
sendingChecksum = settings.value("core/checksums").toBool();
|
sendingChecksum = settings.value("core/checksums").toBool();
|
||||||
chekingSDStatus = settings.value("core/checksdstatus").toBool();
|
chekingSDStatus = settings.value("core/checksdstatus").toBool();
|
||||||
|
|
||||||
firmware = settings.value("printer/firmware", OtherFirmware).toInt();
|
firmware = settings.value("printer/firmware", OtherFirmware).toInt();
|
||||||
|
statusTimer.setInterval(settings.value("core/statusinterval", 3000).toInt());
|
||||||
|
sendTimer.setInterval(settings.value("core/senderinterval", 2).toInt());
|
||||||
|
|
||||||
|
//Init values
|
||||||
sending = false;
|
sending = false;
|
||||||
paused = false;
|
paused = false;
|
||||||
readingFiles = false;
|
readingFiles = false;
|
||||||
sdprinting = false;
|
sdprinting = false;
|
||||||
sdBytes = 0;
|
sdBytes = 0;
|
||||||
userCommand = "";
|
|
||||||
currentLine = 0;
|
currentLine = 0;
|
||||||
readyRecieve = 1;
|
readyRecieve = 1;
|
||||||
lastRecieved = 0;
|
lastRecieved = 0;
|
||||||
|
|
||||||
|
//Update serial ports
|
||||||
serialupdate();
|
serialupdate();
|
||||||
|
|
||||||
|
//Internal signal-slots
|
||||||
connect(&printer, SIGNAL(error(QSerialPort::SerialPortError)), this, SLOT(serialError(QSerialPort::SerialPortError)));
|
connect(&printer, SIGNAL(error(QSerialPort::SerialPortError)), this, SLOT(serialError(QSerialPort::SerialPortError)));
|
||||||
connect(&printer, SIGNAL(readyRead()), this, SLOT(readSerial()));
|
connect(&printer, SIGNAL(readyRead()), this, SLOT(readSerial()));
|
||||||
connect(&statusTimer, SIGNAL(timeout()), this, SLOT(checkStatus()));
|
connect(&statusTimer, SIGNAL(timeout()), this, SLOT(checkStatus()));
|
||||||
@ -68,6 +69,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
connect(&progressSDTimer, SIGNAL(timeout()), this, SLOT(checkSDStatus()));
|
connect(&progressSDTimer, SIGNAL(timeout()), this, SLOT(checkSDStatus()));
|
||||||
connect(this, SIGNAL(eepromReady()), this, SLOT(openEEPROMeditor()));
|
connect(this, SIGNAL(eepromReady()), this, SLOT(openEEPROMeditor()));
|
||||||
|
|
||||||
|
//Parser thread signal-slots and init
|
||||||
qRegisterMetaType<TemperatureReadings>("TemperatureReadings");
|
qRegisterMetaType<TemperatureReadings>("TemperatureReadings");
|
||||||
qRegisterMetaType<SDProgress>("SDProgress");
|
qRegisterMetaType<SDProgress>("SDProgress");
|
||||||
parser = new Parser();
|
parser = new Parser();
|
||||||
@ -88,34 +90,19 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
connect(parser, &Parser::recievedSDUpdate, this, &MainWindow::updateSDStatus);
|
connect(parser, &Parser::recievedSDUpdate, this, &MainWindow::updateSDStatus);
|
||||||
parserThread->start();
|
parserThread->start();
|
||||||
|
|
||||||
statusTimer.setInterval(settings.value("core/statusinterval", 3000).toInt());
|
//Timers init
|
||||||
statusTimer.start();
|
statusTimer.start();
|
||||||
|
|
||||||
sendTimer.setInterval(settings.value("core/senderinterval", 2).toInt());
|
|
||||||
sendTimer.start();
|
sendTimer.start();
|
||||||
|
|
||||||
progressSDTimer.setInterval(2100);
|
progressSDTimer.setInterval(2100);
|
||||||
|
|
||||||
if(chekingSDStatus) progressSDTimer.start();
|
if(chekingSDStatus) progressSDTimer.start();
|
||||||
|
|
||||||
sinceLastTemp.start();
|
sinceLastTemp.start();
|
||||||
|
|
||||||
#ifdef QT_DEBUG
|
|
||||||
ui->actionEEPROM_editor->setEnabled(true);
|
|
||||||
#else
|
|
||||||
ui->actionEEPROM_editor->setDisabled(true);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MainWindow::~MainWindow()
|
MainWindow::~MainWindow()
|
||||||
{
|
{
|
||||||
if(gfile.isOpen()) gfile.close();
|
//Save settings
|
||||||
if(printer.isOpen()) printer.close();
|
|
||||||
parserThread->quit();
|
|
||||||
parserThread->wait();
|
|
||||||
|
|
||||||
if(firstrun) settings.setValue("core/firstrun", true); //firstrun is inverted!
|
if(firstrun) settings.setValue("core/firstrun", true); //firstrun is inverted!
|
||||||
|
|
||||||
settings.setValue("printer/baudrateindex", ui->baudbox->currentIndex());
|
settings.setValue("printer/baudrateindex", ui->baudbox->currentIndex());
|
||||||
settings.setValue("core/checktemperature", ui->checktemp->isChecked());
|
settings.setValue("core/checktemperature", ui->checktemp->isChecked());
|
||||||
settings.setValue("user/extrudertemp", ui->etmpspin->value());
|
settings.setValue("user/extrudertemp", ui->etmpspin->value());
|
||||||
@ -129,6 +116,12 @@ MainWindow::~MainWindow()
|
|||||||
}
|
}
|
||||||
settings.endArray();
|
settings.endArray();
|
||||||
|
|
||||||
|
//Cleanup what is left
|
||||||
|
if(gfile.isOpen()) gfile.close();
|
||||||
|
if(printer.isOpen()) printer.close();
|
||||||
|
parserThread->quit();
|
||||||
|
parserThread->wait();
|
||||||
|
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -231,29 +224,30 @@ void MainWindow::serialconnect()
|
|||||||
}
|
}
|
||||||
|
|
||||||
printer.setPort(printerinfo);
|
printer.setPort(printerinfo);
|
||||||
printer.setFlowControl(QSerialPort::NoFlowControl);
|
|
||||||
|
|
||||||
switch(ui->baudbox->currentText().toInt())
|
|
||||||
{
|
|
||||||
case 4800:
|
|
||||||
printer.setBaudRate(QSerialPort::Baud4800);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 9600:
|
|
||||||
printer.setBaudRate(QSerialPort::Baud9600);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 115200:
|
|
||||||
printer.setBaudRate(QSerialPort::Baud115200);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
printer.setBaudRate(ui->baudbox->currentText().toInt());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(printer.open(QIODevice::ReadWrite))
|
if(printer.open(QIODevice::ReadWrite))
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//Moved here to be compatible with Qt 5.2.1
|
||||||
|
switch(ui->baudbox->currentText().toInt())
|
||||||
|
{
|
||||||
|
case 4800:
|
||||||
|
printer.setBaudRate(QSerialPort::Baud4800);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 9600:
|
||||||
|
printer.setBaudRate(QSerialPort::Baud9600);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 115200:
|
||||||
|
printer.setBaudRate(QSerialPort::Baud115200);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
printer.setBaudRate(ui->baudbox->currentText().toInt());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
ui->connectBtn->setText("Disconnect");
|
ui->connectBtn->setText("Disconnect");
|
||||||
ui->sendBtn->setDisabled(false);
|
ui->sendBtn->setDisabled(false);
|
||||||
//ui->pauseBtn->setDisabled(false);
|
//ui->pauseBtn->setDisabled(false);
|
||||||
@ -263,7 +257,6 @@ void MainWindow::serialconnect()
|
|||||||
ui->actionPrint_from_SD->setEnabled(true);
|
ui->actionPrint_from_SD->setEnabled(true);
|
||||||
ui->actionSet_SD_printing_mode->setEnabled(true);
|
ui->actionSet_SD_printing_mode->setEnabled(true);
|
||||||
if(firmware == Repetier) ui->actionEEPROM_editor->setDisabled(false);
|
if(firmware == Repetier) ui->actionEEPROM_editor->setDisabled(false);
|
||||||
//if(checkingTemperature) injectCommand("M105");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -712,7 +705,7 @@ void MainWindow::updateRecent()
|
|||||||
void MainWindow::serialError(QSerialPort::SerialPortError error)
|
void MainWindow::serialError(QSerialPort::SerialPortError error)
|
||||||
{
|
{
|
||||||
if(error == QSerialPort::NoError) return;
|
if(error == QSerialPort::NoError) return;
|
||||||
if(error == QSerialPort::NotOpenError) return;
|
if(error == QSerialPort::NotOpenError) return; //this error is internal
|
||||||
|
|
||||||
if(printer.isOpen()) printer.close();
|
if(printer.isOpen()) printer.close();
|
||||||
|
|
||||||
|
|||||||
@ -72,7 +72,6 @@ private:
|
|||||||
unsigned long int lastRecieved;
|
unsigned long int lastRecieved;
|
||||||
int readyRecieve;
|
int readyRecieve;
|
||||||
unsigned long int sdBytes;
|
unsigned long int sdBytes;
|
||||||
QString userCommand;
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void open();
|
void open();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user