This commit is contained in:
Joe Cool 2015-03-17 22:53:31 +01:00
commit 866aa1bc3d
4 changed files with 15 additions and 1 deletions

View File

@ -130,6 +130,7 @@ MainWindow::MainWindow(QWidget *parent) :
connect(senderWorker, &Sender::dataReceived, parserWorker, &Parser::parse, Qt::QueuedConnection);
connect(senderWorker, &Sender::dataReceived, this, &MainWindow::readSerial, Qt::QueuedConnection);
connect(senderWorker, &Sender::reportProgress, this, &MainWindow::updateFileProgress);
connect(senderWorker, &Sender::baudrateSetFailed, this, &MainWindow::baudrateSetFailed);
connect(this, &MainWindow::setFile, senderWorker, &Sender::setFile);
connect(this, &MainWindow::startPrinting, senderWorker, &Sender::startPrinting);
connect(this, &MainWindow::stopPrinting, senderWorker, &Sender::stopPrinting);
@ -860,6 +861,14 @@ void MainWindow::updateFileProgress(FileProgress p)
ui->progressBar->setValue(((float)p.P/p.T) * 100);
}
void MainWindow::baudrateSetFailed(int b)
{
ErrorWindow errorwindow(this, QString("Baudrate set failed:\n" +
QString::number(b) +
" baud"));
errorwindow.show();
}
//Needed for keypress handling
bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{

View File

@ -98,6 +98,7 @@ private slots:
void parseFile(QString filename);
void recentClicked();
void updateFileProgress(FileProgress);
void baudrateSetFailed(int b);
void xplus();
void yplus();

View File

@ -120,7 +120,6 @@ void Sender::openPort(QSerialPortInfo i)
if(!printer->isOpen() && printer->open(QIODevice::ReadWrite))
{
//Moved here to be compatible with Qt 5.2.1
switch(baudrate)
{
@ -153,8 +152,12 @@ void Sender::openPort(QSerialPortInfo i)
break;
}
if(!printer->setBaudRate(baudrate))
emit baudrateSetFailed(baudrate);
printer->setFlowControl(QSerialPort::HardwareControl);
}
readyRecieve = true;
}
void Sender::closePort()

View File

@ -42,6 +42,7 @@ signals:
void errorReceived(QSerialPort::SerialPortError error);
void dataReceived(QByteArray data);
void reportProgress(FileProgress p);
void baudrateSetFailed(int b);
public slots:
void openPort(QSerialPortInfo i);