diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0ee83d6..59de349 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,7 +31,7 @@ jobs: make INSTALL_ROOT=appdir install wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/5/linuxdeployqt-5-x86_64.AppImage" chmod a+x linuxdeployqt-5-x86_64.AppImage - ./linuxdeployqt-5-x86_64.AppImage appdir/usr/local/share/applications/SavvyCAN.desktop -appimage -extra-plugins=iconengines,platformthemes/libqgtk3.so,canbus + ./linuxdeployqt-5-x86_64.AppImage appdir/usr/share/applications/SavvyCAN.desktop -appimage -extra-plugins=iconengines,platformthemes/libqgtk3.so,canbus - uses: actions/upload-artifact@v2 with: diff --git a/SavvyCAN.pro b/SavvyCAN.pro index 789ec72..ee9ac6f 100644 --- a/SavvyCAN.pro +++ b/SavvyCAN.pro @@ -225,8 +225,7 @@ win32-g++ { } unix { - isEmpty(PREFIX) - { + isEmpty(PREFIX) { PREFIX=/usr/local } target.path = $$PREFIX/bin diff --git a/mainwindow.cpp b/mainwindow.cpp index 89e1d42..af8503d 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -535,6 +535,7 @@ void MainWindow::setupAddToNewGraph() setupSendToLatestGraphWindow(); //then call the other function to finish } + void MainWindow::setupSendToLatestGraphWindow() { if (!lastGraphingWindow) showGraphingWindow(); @@ -542,26 +543,45 @@ void MainWindow::setupSendToLatestGraphWindow() QString signalName = getSignalNameFromPosition(contextMenuPosition); param.ID = getMessageIDFromPosition(contextMenuPosition); DBC_MESSAGE *msg = dbcHandler->findMessageForFilter(param.ID, nullptr); - DBC_SIGNAL *sig = msg->sigHandler->findSignalByName(signalName); - param.associatedSignal = sig; - param.bias = sig->bias; - param.intelFormat = sig->intelByteOrder; - param.isSigned = sig->valType == SIGNED_INT ? true : false; - param.numBits = sig->signalSize; - param.scale = sig->factor; - param.startBit = sig->startBit; - param.stride = 1; - param.graphName = sig->name; - param.lineColor = QColor(QRandomGenerator::global()->bounded(160), QRandomGenerator::global()->bounded(160), QRandomGenerator::global()->bounded(160)); - param.lineWidth = 1; - param.fillColor = QColor(128, 128, 128, 0); - param.mask = 0xFFFFFFFFFFFFFFFFull; - param.drawOnlyPoints = false; - param.pointType = 0; + if(msg) + { + DBC_SIGNAL *sig = msg->sigHandler->findSignalByName(signalName); + if(sig) + { + param.associatedSignal = sig; + param.bias = sig->bias; + param.intelFormat = sig->intelByteOrder; + param.isSigned = sig->valType == SIGNED_INT ? true : false; + param.numBits = sig->signalSize; + param.scale = sig->factor; + param.startBit = sig->startBit; + param.stride = 1; + param.graphName = sig->name; + param.lineColor = QColor(QRandomGenerator::global()->bounded(160), QRandomGenerator::global()->bounded(160), QRandomGenerator::global()->bounded(160)); + param.lineWidth = 1; + param.fillColor = QColor(128, 128, 128, 0); + param.mask = 0xFFFFFFFFFFFFFFFFull; + param.drawOnlyPoints = false; + param.pointType = 0; - lastGraphingWindow->createGraph(param); //add the new graph to the window + lastGraphingWindow->createGraph(param); //add the new graph to the window + } + else + { + QMessageBox msgbox; + QString boxmsg = "Cannot find ID 0x" + QStringLiteral("%1").arg(param.ID, 3, 16, QLatin1Char('0')) + " in DBC message " + msg->name + ". Not adding graph."; + msgbox.setText(boxmsg); + msgbox.exec(); + } + } + else + { + QMessageBox msgbox; + QString boxmsg = "Cannot find ID 0x" + QStringLiteral("%1").arg(param.ID, 3, 16, QLatin1Char('0')) + " in DBC file(s). Not adding graph."; + msgbox.setText(boxmsg); + msgbox.exec(); + } } - void MainWindow::interpretToggled(bool state) { model->setInterpretMode(state);