From 9cceb4404d31c84aa80bfe2adf2f99603732ec22 Mon Sep 17 00:00:00 2001 From: Collin Kidder Date: Tue, 20 Dec 2016 20:33:11 -0500 Subject: [PATCH] Remove some older junk code, add ability for main screen to show the number of connected buses --- connections/canconmanager.cpp | 3 +- connections/canconmanager.h | 1 + connections/canconnectionmodel.cpp | 8 +--- connections/connectionwindow.cpp | 3 +- mainwindow.cpp | 68 ++++-------------------------- mainwindow.h | 4 +- 6 files changed, 17 insertions(+), 70 deletions(-) diff --git a/connections/canconmanager.cpp b/connections/canconmanager.cpp index 4dc857d..a0a061d 100644 --- a/connections/canconmanager.cpp +++ b/connections/canconmanager.cpp @@ -40,6 +40,7 @@ void CANConManager::add(CANConnection* pConn_p) { connect(pConn_p, SIGNAL(notify()), this, SLOT(refreshCanList())); mConns.append(pConn_p); + emit connectionStatusUpdated(getNumBuses()); } @@ -47,6 +48,7 @@ void CANConManager::remove(CANConnection* pConn_p) { disconnect(pConn_p, 0, this, 0); mConns.removeOne(pConn_p); + emit connectionStatusUpdated(getNumBuses()); } //Get total number of buses currently registered with the program @@ -169,7 +171,6 @@ bool CANConManager::sendFrame(const CANFrame& pFrame) bool CANConManager::sendFrames(const QList& pFrames) { - qDebug() << "CANConManager sendFrames #" << pFrames.count(); foreach(const CANFrame& frame, pFrames) { if(!sendFrame(frame)) diff --git a/connections/canconmanager.h b/connections/canconmanager.h index dc94431..5abfae9 100644 --- a/connections/canconmanager.h +++ b/connections/canconmanager.h @@ -38,6 +38,7 @@ public: signals: void framesReceived(CANConnection* pConn_p, QVector& pFrames); + void connectionStatusUpdated(int conns); private slots: void refreshCanList(); diff --git a/connections/canconnectionmodel.cpp b/connections/canconnectionmodel.cpp index b7216aa..726c334 100644 --- a/connections/canconnectionmodel.cpp +++ b/connections/canconnectionmodel.cpp @@ -135,10 +135,8 @@ void CANConnectionModel::add(CANConnection* pConn_p) { CANConManager* manager = CANConManager::getInstance(); - connect(pConn_p, SIGNAL(notify()), manager, SLOT(refreshCanList())); - beginResetModel(); - manager->getConnections().append(pConn_p); + manager->add(pConn_p); endResetModel(); } @@ -147,10 +145,8 @@ void CANConnectionModel::remove(CANConnection* pConn_p) { CANConManager* manager = CANConManager::getInstance(); - disconnect(pConn_p, 0, manager, 0); - beginResetModel(); - manager->getConnections().removeOne(pConn_p); + manager->remove(pConn_p); endResetModel(); } diff --git a/connections/connectionwindow.cpp b/connections/connectionwindow.cpp index e8e1477..df71109 100644 --- a/connections/connectionwindow.cpp +++ b/connections/connectionwindow.cpp @@ -2,6 +2,7 @@ #include #include "connectionwindow.h" +#include "mainwindow.h" #include "ui_connectionwindow.h" #include "connections/canconfactory.h" #include "connections/canconmanager.h" @@ -38,7 +39,7 @@ ConnectionWindow::ConnectionWindow(QWidget *parent) : ui->cbSpeed->addItem(tr("250000")); ui->cbSpeed->addItem(tr("500000")); ui->cbSpeed->addItem(tr("1000000")); - ui->cbSpeed->addItem(tr("33333")); + ui->cbSpeed->addItem(tr("33333")); /* load connection configuration */ loadConnections(); diff --git a/mainwindow.cpp b/mainwindow.cpp index 0d73526..69af4e3 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -131,7 +131,7 @@ MainWindow::MainWindow(QWidget *parent) : connect(CANConManager::getInstance(), &CANConManager::framesReceived, model, &CANFrameModel::addFrames); - lbStatusConnected.setText(tr("Not connected")); + lbStatusConnected.setText(tr("Connected to 0 buses")); updateFileStatus(); lbStatusDatabase.setText(tr("No DBC database loaded")); ui->statusBar->addWidget(&lbStatusConnected); @@ -163,9 +163,13 @@ MainWindow::MainWindow(QWidget *parent) : qDebug() << "normal row height = " << normalRowHeight; model->clearFrames(); + //connect(CANConManager::getInstance(), CANConManager::connectionStatusUpdated, this, MainWindow::connectionStatusUpdated); + connect(CANConManager::getInstance(), SIGNAL(connectionStatusUpdated(int)), this, SLOT(connectionStatusUpdated(int))); + //Automatically create the connection window so it can be updated even if we never opened it. connectionWindow = new ConnectionWindow(); - connect(this, SIGNAL(suspendCapturing(bool)), connectionWindow, SLOT(setSuspendAll(bool))); + connect(this, SIGNAL(suspendCapturing(bool)), connectionWindow, SLOT(setSuspendAll(bool))); + } MainWindow::~MainWindow() @@ -720,41 +724,9 @@ void MainWindow::toggleCapture() emit suspendCapturing(!allowCapture); } -void MainWindow::connectionSucceeded(int baud0, int baud1) -{ - lbStatusConnected.setText(tr("Connected to GVRET")); - //finally, find the baud rate in the list of rates or - //add it to the bottom if needed (that'll be weird though... -/* - int idx = ui->cbSpeed1->findText(QString::number(baud0)); - if (idx > -1) ui->cbSpeed1->setCurrentIndex(idx); - else - { - ui->cbSpeed1->addItem(QString::number(baud0)); - ui->cbSpeed1->setCurrentIndex(ui->cbSpeed1->count() - 1); - } - - idx = ui->cbSpeed2->findText(QString::number(baud1)); - if (idx > -1) ui->cbSpeed2->setCurrentIndex(idx); - else - { - ui->cbSpeed2->addItem(QString::number(baud1)); - ui->cbSpeed2->setCurrentIndex(ui->cbSpeed2->count() - 1); - } - */ - if (connectionWindow) connectionWindow->setSpeed(baud0); - //ui->btnConnect->setEnabled(false); - ui->actionConnect->setText(tr("Disconnect")); - isConnected = true; -} - -void MainWindow::connectionFailed() -{ - lbStatusConnected.setText(tr("Failed to connect!")); - - QMessageBox msgBox; - msgBox.setText("Connection to the GVRET firmware failed.\nYou might have an old version of GVRET\nor may have chosen the wrong serial port."); - msgBox.exec(); +void MainWindow::connectionStatusUpdated(int conns) +{ + lbStatusConnected.setText(tr("Connected to ") + QString::number(conns) + tr(" buses")); } void MainWindow::updateFileStatus() @@ -783,28 +755,6 @@ void MainWindow::updateFileStatus() lbStatusFilename.setText(output); } -void MainWindow::gotDeviceInfo(int build, int swCAN) -{ - QString str = tr("Connected to GVRET ") + QString::number(build); - if (swCAN == 1) str += "(SW)"; - lbStatusConnected.setText(str); - - if (build < CURRENT_GVRET_VER) - { - QMessageBox msgBox; - msgBox.setText("It appears that you are not running\nan up-to-date version of GVRET\n\nYour version: " - + QString::number(build) +"\nCurrent Version: " + QString::number(CURRENT_GVRET_VER) - + "\n\nPlease upgrade your firmware version.\nOtherwise, you may experience difficulties."); - msgBox.exec(); - } - - if (connectionWindow) - { - if (swCAN == 1) connectionWindow->setSWMode(true); - else connectionWindow->setSWMode(false); - } -} - void MainWindow::showSettingsDialog() { if (!settingsDialog) diff --git a/mainwindow.h b/mainwindow.h index 97f4a07..2ad48bc 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -75,9 +75,7 @@ private slots: void showBisectWindow(); void exitApp(); void handleSaveDecoded(); - void connectionFailed(); - void gotDeviceInfo(int, int); - void connectionSucceeded(int, int); + void connectionStatusUpdated(int conns); void gridClicked(QModelIndex); void gridDoubleClicked(QModelIndex); void interpretToggled(bool);