More cleanup
Set parent for all QTimers
This commit is contained in:
parent
5db118ebf6
commit
a30e869e61
@ -37,6 +37,16 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
ui->baudbox->addItem(QString::number(460800));
|
ui->baudbox->addItem(QString::number(460800));
|
||||||
ui->baudbox->addItem(QString::number(500000));
|
ui->baudbox->addItem(QString::number(500000));
|
||||||
|
|
||||||
|
//Create objects
|
||||||
|
statusTimer = new QTimer(this);
|
||||||
|
progressSDTimer = new QTimer(this);
|
||||||
|
sinceLastTemp = new QElapsedTimer();
|
||||||
|
sinceLastSDStatus = new QElapsedTimer();
|
||||||
|
parserWorker = new Parser();
|
||||||
|
parserThread = new QThread(this);
|
||||||
|
senderWorker = new Sender();
|
||||||
|
senderThread = new QThread(this);
|
||||||
|
|
||||||
//Restore settings
|
//Restore settings
|
||||||
firstrun = !settings.value("core/firstrun").toBool(); //firstrun is inverted!
|
firstrun = !settings.value("core/firstrun").toBool(); //firstrun is inverted!
|
||||||
ui->baudbox->setCurrentIndex(settings.value("printer/baudrateindex", 2).toInt());
|
ui->baudbox->setCurrentIndex(settings.value("printer/baudrateindex", 2).toInt());
|
||||||
@ -46,10 +56,9 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
ui->btmpspin->setValue(settings.value("user/bedtemp", 60).toInt());
|
ui->btmpspin->setValue(settings.value("user/bedtemp", 60).toInt());
|
||||||
echo = settings.value("core/echo", 0).toBool();
|
echo = settings.value("core/echo", 0).toBool();
|
||||||
autolock = settings.value("core/lockcontrols", 0).toBool();
|
autolock = settings.value("core/lockcontrols", 0).toBool();
|
||||||
sendingChecksum = settings.value("core/checksums", 0).toBool();
|
|
||||||
chekingSDStatus = settings.value("core/checksdstatus", 1).toBool();
|
chekingSDStatus = settings.value("core/checksdstatus", 1).toBool();
|
||||||
firmware = settings.value("printer/firmware", OtherFirmware).toInt();
|
firmware = settings.value("printer/firmware", OtherFirmware).toInt();
|
||||||
statusTimer.setInterval(settings.value("core/statusinterval", 3000).toInt());
|
statusTimer->setInterval(settings.value("core/statusinterval", 3000).toInt());
|
||||||
int size = settings.beginReadArray("user/recentfiles");
|
int size = settings.beginReadArray("user/recentfiles");
|
||||||
for(int i = 0; i < size; ++i)
|
for(int i = 0; i < size; ++i)
|
||||||
{
|
{
|
||||||
@ -61,7 +70,6 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
//Init values
|
//Init values
|
||||||
sending = false;
|
sending = false;
|
||||||
paused = false;
|
paused = false;
|
||||||
readingFiles = false;
|
|
||||||
sdprinting = false;
|
sdprinting = false;
|
||||||
opened = false;
|
opened = false;
|
||||||
sdBytes = 0;
|
sdBytes = 0;
|
||||||
@ -72,15 +80,13 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
serialupdate();
|
serialupdate();
|
||||||
|
|
||||||
//Internal signal-slots
|
//Internal signal-slots
|
||||||
connect(&statusTimer, SIGNAL(timeout()), this, SLOT(checkStatus()));
|
connect(statusTimer, SIGNAL(timeout()), this, SLOT(checkStatus()));
|
||||||
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
|
//Parser thread signal-slots and init
|
||||||
qRegisterMetaType<TemperatureReadings>("TemperatureReadings");
|
qRegisterMetaType<TemperatureReadings>("TemperatureReadings");
|
||||||
qRegisterMetaType<SDProgress>("SDProgress");
|
qRegisterMetaType<SDProgress>("SDProgress");
|
||||||
parserWorker = new Parser();
|
|
||||||
parserThread = new QThread(this);
|
|
||||||
parserWorker->moveToThread(parserThread);
|
parserWorker->moveToThread(parserThread);
|
||||||
connect(parserThread, &QThread::finished, parserWorker, &QObject::deleteLater);
|
connect(parserThread, &QThread::finished, parserWorker, &QObject::deleteLater);
|
||||||
connect(this, &MainWindow::recievedData, parserWorker, &Parser::parse);
|
connect(this, &MainWindow::recievedData, parserWorker, &Parser::parse);
|
||||||
@ -99,8 +105,6 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
qRegisterMetaType< QVector<QString> >("QVector<QString>");
|
qRegisterMetaType< QVector<QString> >("QVector<QString>");
|
||||||
qRegisterMetaType<FileProgress>("FileProgress");
|
qRegisterMetaType<FileProgress>("FileProgress");
|
||||||
qRegisterMetaType<QSerialPort::SerialPortError>("QSerialPort::SerialPortError");
|
qRegisterMetaType<QSerialPort::SerialPortError>("QSerialPort::SerialPortError");
|
||||||
senderWorker = new Sender();
|
|
||||||
senderThread = new QThread(this);
|
|
||||||
senderWorker->moveToThread(senderThread);
|
senderWorker->moveToThread(senderThread);
|
||||||
connect(senderThread, &QThread::finished, senderWorker, &QObject::deleteLater);
|
connect(senderThread, &QThread::finished, senderWorker, &QObject::deleteLater);
|
||||||
connect(parserWorker, &Parser::recievedOkNum, senderWorker, &Sender::recievedOkNum);
|
connect(parserWorker, &Parser::recievedOkNum, senderWorker, &Sender::recievedOkNum);
|
||||||
@ -123,11 +127,11 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
senderThread->start();
|
senderThread->start();
|
||||||
|
|
||||||
//Timers init
|
//Timers init
|
||||||
statusTimer.start();
|
statusTimer->start();
|
||||||
progressSDTimer.setInterval(2500);
|
progressSDTimer->setInterval(2500);
|
||||||
if(chekingSDStatus) progressSDTimer.start();
|
if(chekingSDStatus) progressSDTimer->start();
|
||||||
sinceLastTemp.start();
|
sinceLastTemp->start();
|
||||||
sinceLastSDStatus.start();
|
sinceLastSDStatus->start();
|
||||||
|
|
||||||
updateRecent();
|
updateRecent();
|
||||||
}
|
}
|
||||||
@ -507,6 +511,25 @@ void MainWindow::on_releasebtn_clicked()
|
|||||||
{
|
{
|
||||||
emit injectCommand("M84");
|
emit injectCommand("M84");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionSettings_triggered()
|
||||||
|
{
|
||||||
|
SettingsWindow settingswindow(this);
|
||||||
|
|
||||||
|
settingswindow.exec();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionAbout_triggered()
|
||||||
|
{
|
||||||
|
AboutWindow aboutwindow(this);
|
||||||
|
|
||||||
|
aboutwindow.exec();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionAbout_Qt_triggered()
|
||||||
|
{
|
||||||
|
qApp->aboutQt();
|
||||||
|
}
|
||||||
/////////////////
|
/////////////////
|
||||||
//Buttons end //
|
//Buttons end //
|
||||||
/////////////////
|
/////////////////
|
||||||
@ -540,7 +563,7 @@ void MainWindow::printMsg(QString text)
|
|||||||
void MainWindow::checkStatus()
|
void MainWindow::checkStatus()
|
||||||
{
|
{
|
||||||
if(checkingTemperature
|
if(checkingTemperature
|
||||||
&&(sinceLastTemp.elapsed() > statusTimer.interval())) emit injectCommand("M105");
|
&&(sinceLastTemp->elapsed() > statusTimer->interval())) emit injectCommand("M105");
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_checktemp_stateChanged(int arg1)
|
void MainWindow::on_checktemp_stateChanged(int arg1)
|
||||||
@ -549,20 +572,6 @@ void MainWindow::on_checktemp_stateChanged(int arg1)
|
|||||||
else checkingTemperature = false;
|
else checkingTemperature = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_actionSettings_triggered()
|
|
||||||
{
|
|
||||||
SettingsWindow settingswindow(this);
|
|
||||||
|
|
||||||
settingswindow.exec();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::on_actionAbout_triggered()
|
|
||||||
{
|
|
||||||
AboutWindow aboutwindow(this);
|
|
||||||
|
|
||||||
aboutwindow.exec();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::updateRecent()
|
void MainWindow::updateRecent()
|
||||||
{
|
{
|
||||||
if(!recentFiles.isEmpty()) //If array is empty we should not be bothered
|
if(!recentFiles.isEmpty()) //If array is empty we should not be bothered
|
||||||
@ -648,12 +657,7 @@ void MainWindow::updateTemperature(TemperatureReadings r)
|
|||||||
ui->extruderlcd->display(r.e);
|
ui->extruderlcd->display(r.e);
|
||||||
ui->bedlcd->display(r.b);
|
ui->bedlcd->display(r.b);
|
||||||
ui->tempLine->setText(r.raw);
|
ui->tempLine->setText(r.raw);
|
||||||
sinceLastTemp.restart();
|
sinceLastTemp->restart();
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::on_actionAbout_Qt_triggered()
|
|
||||||
{
|
|
||||||
qApp->aboutQt();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::initSDprinting(QStringList sdFiles)
|
void MainWindow::initSDprinting(QStringList sdFiles)
|
||||||
@ -698,12 +702,12 @@ void MainWindow::updateSDStatus(SDProgress p)
|
|||||||
if(p.progress != 0) ui->progressBar->setValue(((double)p.progress/p.total) * 100);
|
if(p.progress != 0) ui->progressBar->setValue(((double)p.progress/p.total) * 100);
|
||||||
else ui->progressBar->setValue(0);
|
else ui->progressBar->setValue(0);
|
||||||
if(p.total == p.progress) sdprinting = false;
|
if(p.total == p.progress) sdprinting = false;
|
||||||
sinceLastSDStatus.restart();
|
sinceLastSDStatus->restart();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::checkSDStatus()
|
void MainWindow::checkSDStatus()
|
||||||
{
|
{
|
||||||
if(sdprinting && chekingSDStatus && sinceLastSDStatus.elapsed() > progressSDTimer.interval())
|
if(sdprinting && chekingSDStatus && sinceLastSDStatus->elapsed() > progressSDTimer->interval())
|
||||||
emit injectCommand("M27");
|
emit injectCommand("M27");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
13
mainwindow.h
13
mainwindow.h
@ -46,15 +46,15 @@ protected:
|
|||||||
QFile gfile;
|
QFile gfile;
|
||||||
QVector<QString> gcode;
|
QVector<QString> gcode;
|
||||||
QQueue <QString> userCommands;
|
QQueue <QString> userCommands;
|
||||||
QTimer progressSDTimer;
|
QTimer *progressSDTimer;
|
||||||
QTimer statusTimer;
|
QTimer *statusTimer;
|
||||||
QElapsedTimer sinceLastTemp;
|
QMenu *recentMenu;
|
||||||
QElapsedTimer sinceLastSDStatus;
|
QElapsedTimer *sinceLastTemp;
|
||||||
|
QElapsedTimer *sinceLastSDStatus;
|
||||||
QSettings settings;
|
QSettings settings;
|
||||||
QStringList recentFiles;
|
QStringList recentFiles;
|
||||||
QStringList EEPROMSettings;
|
QStringList EEPROMSettings;
|
||||||
QStringList userHistory;
|
QStringList userHistory;
|
||||||
QMenu *recentMenu;
|
|
||||||
|
|
||||||
bool eventFilter(QObject *target, QEvent *event);
|
bool eventFilter(QObject *target, QEvent *event);
|
||||||
|
|
||||||
@ -69,13 +69,10 @@ private:
|
|||||||
bool sending;
|
bool sending;
|
||||||
bool paused;
|
bool paused;
|
||||||
bool checkingTemperature;
|
bool checkingTemperature;
|
||||||
bool readingFiles;
|
|
||||||
bool sdprinting;
|
bool sdprinting;
|
||||||
bool echo;
|
bool echo;
|
||||||
bool sendingChecksum;
|
|
||||||
bool chekingSDStatus;
|
bool chekingSDStatus;
|
||||||
int firmware;
|
int firmware;
|
||||||
//unsigned long int lastRecieved;
|
|
||||||
int userHistoryPos;
|
int userHistoryPos;
|
||||||
unsigned long int sdBytes;
|
unsigned long int sdBytes;
|
||||||
|
|
||||||
|
|||||||
@ -1079,7 +1079,7 @@ STOP</string>
|
|||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>0</width>
|
<width>0</width>
|
||||||
<height>14</height>
|
<height>15</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximumSize">
|
<property name="maximumSize">
|
||||||
|
|||||||
@ -98,6 +98,9 @@
|
|||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<item row="3" column="0" colspan="3">
|
<item row="3" column="0" colspan="3">
|
||||||
<widget class="QCheckBox" name="echobox">
|
<widget class="QCheckBox" name="echobox">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Show every sent command in console</string>
|
<string>Show every sent command in console</string>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user