From c4c0079675b3768adf32a72a7a4880c8875e0ffe Mon Sep 17 00:00:00 2001 From: Collin Kidder Date: Wed, 12 Aug 2015 20:49:31 -0400 Subject: [PATCH] Fix to add proper file extension when saving even if OS does not automatically add it for us. --- config.h | 2 +- filecomparatorwindow.cpp | 1 + flowviewwindow.cpp | 30 +++++++++++++++++++++++++----- frameplaybackwindow.cpp | 1 + graphingwindow.cpp | 19 ++++++++++++++++--- mainwindow.cpp | 38 +++++++++++++++++++++++++++++++++----- 6 files changed, 77 insertions(+), 14 deletions(-) diff --git a/config.h b/config.h index ee13ebd..2c04f17 100644 --- a/config.h +++ b/config.h @@ -1,7 +1,7 @@ #ifndef CONFIG #define CONFIG -#define VERSION 131 +#define VERSION 132 //try to keep this in sync. //SavvyCAN will complain if you connect a GVRET board with a revision diff --git a/filecomparatorwindow.cpp b/filecomparatorwindow.cpp index 02a5f02..f05c5a6 100644 --- a/filecomparatorwindow.cpp +++ b/filecomparatorwindow.cpp @@ -322,6 +322,7 @@ void FileComparatorWindow::saveDetails() if (dialog.exec() == QDialog::Accepted) { filename = dialog.selectedFiles()[0]; + if (!filename.contains('.')) filename += ".txt"; QFile *outFile = new QFile(filename); if (!outFile->open(QIODevice::WriteOnly | QIODevice::Text)) diff --git a/flowviewwindow.cpp b/flowviewwindow.cpp index 1617344..8930ccf 100644 --- a/flowviewwindow.cpp +++ b/flowviewwindow.cpp @@ -181,9 +181,21 @@ void FlowViewWindow::saveFileGraph() { filename = dialog.selectedFiles()[0]; - if (dialog.selectedNameFilter() == filters[0]) ui->graphView->savePdf(filename, true, 0, 0); - if (dialog.selectedNameFilter() == filters[1]) ui->graphView->savePng(filename, 1024, 768); - if (dialog.selectedNameFilter() == filters[2]) ui->graphView->saveJpg(filename, 1024, 768); + if (dialog.selectedNameFilter() == filters[0]) + { + if (!filename.contains('.')) filename += ".pdf"; + ui->graphView->savePdf(filename, true, 0, 0); + } + if (dialog.selectedNameFilter() == filters[1]) + { + if (!filename.contains('.')) filename += ".png"; + ui->graphView->savePng(filename, 1024, 768); + } + if (dialog.selectedNameFilter() == filters[2]) + { + if (!filename.contains('.')) filename += ".jpg"; + ui->graphView->saveJpg(filename, 1024, 768); + } } } @@ -205,8 +217,16 @@ void FlowViewWindow::saveFileFlow() { filename = dialog.selectedFiles()[0]; - if (dialog.selectedNameFilter() == filters[0]) ui->flowView->saveImage(filename, 1024, 768); - if (dialog.selectedNameFilter() == filters[1]) ui->flowView->saveImage(filename, 1024, 768); + if (dialog.selectedNameFilter() == filters[0]) + { + if (!filename.contains('.')) filename += ".png"; + ui->flowView->saveImage(filename, 1024, 768); + } + if (dialog.selectedNameFilter() == filters[1]) + { + if (!filename.contains('.')) filename += ".jpg"; + ui->flowView->saveImage(filename, 1024, 768); + } } } diff --git a/frameplaybackwindow.cpp b/frameplaybackwindow.cpp index b60dcce..86bf985 100644 --- a/frameplaybackwindow.cpp +++ b/frameplaybackwindow.cpp @@ -153,6 +153,7 @@ void FramePlaybackWindow::saveFilters() if (dialog.exec() == QDialog::Accepted) { filename = dialog.selectedFiles()[0]; + if (!filename.contains('.')) filename += ".ftl"; if (dialog.selectedNameFilter() == filters[0]) { QFile *outFile = new QFile(filename); diff --git a/graphingwindow.cpp b/graphingwindow.cpp index 390dced..68e0db2 100644 --- a/graphingwindow.cpp +++ b/graphingwindow.cpp @@ -365,9 +365,21 @@ void GraphingWindow::saveGraphs() { filename = dialog.selectedFiles()[0]; - if (dialog.selectedNameFilter() == filters[0]) ui->graphingView->savePdf(filename, true, 0, 0); - if (dialog.selectedNameFilter() == filters[1]) ui->graphingView->savePng(filename, 0, 0); - if (dialog.selectedNameFilter() == filters[2]) ui->graphingView->saveJpg(filename, 0, 0); + if (dialog.selectedNameFilter() == filters[0]) + { + if (!filename.contains('.')) filename += ".pdf"; + ui->graphingView->savePdf(filename, true, 0, 0); + } + if (dialog.selectedNameFilter() == filters[1]) + { + if (!filename.contains('.')) filename += ".png"; + ui->graphingView->savePng(filename, 0, 0); + } + if (dialog.selectedNameFilter() == filters[2]) + { + if (!filename.contains('.')) filename += ".jpg"; + ui->graphingView->saveJpg(filename, 0, 0); + } } } @@ -387,6 +399,7 @@ void GraphingWindow::saveDefinitions() if (dialog.exec() == QDialog::Accepted) { filename = dialog.selectedFiles()[0]; + if (!filename.contains('.')) filename += ".gdf"; QFile *outFile = new QFile(filename); diff --git a/mainwindow.cpp b/mainwindow.cpp index e37baf9..a2430a0 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -512,22 +512,27 @@ void MainWindow::handleSaveFile() if (dialog.selectedNameFilter() == filters[0]) { + if (!filename.contains('.')) filename += ".txt"; result = FrameFileIO::saveCRTDFile(filename, frames); } if (dialog.selectedNameFilter() == filters[1]) { + if (!filename.contains('.')) filename += ".csv"; result = FrameFileIO::saveNativeCSVFile(filename, frames); } if (dialog.selectedNameFilter() == filters[2]) { + if (!filename.contains('.')) filename += ".csv"; result = FrameFileIO::saveGenericCSVFile(filename, frames); } if (dialog.selectedNameFilter() == filters[3]) { + if (!filename.contains('.')) filename += ".log"; result = FrameFileIO::saveLogFile(filename, frames); } if (dialog.selectedNameFilter() == filters[4]) { + if (!filename.contains('.')) filename += ".log"; result = FrameFileIO::saveMicrochipFile(filename, frames); } @@ -575,11 +580,31 @@ void MainWindow::handleSaveFilteredFile() qApp->processEvents(); - if (dialog.selectedNameFilter() == filters[0]) result = FrameFileIO::saveCRTDFile(filename, frames); - if (dialog.selectedNameFilter() == filters[1]) result = FrameFileIO::saveNativeCSVFile(filename, frames); - if (dialog.selectedNameFilter() == filters[2]) result = FrameFileIO::saveGenericCSVFile(filename, frames); - if (dialog.selectedNameFilter() == filters[3]) result = FrameFileIO::saveLogFile(filename, frames); - if (dialog.selectedNameFilter() == filters[4]) result = FrameFileIO::saveMicrochipFile(filename, frames); + if (dialog.selectedNameFilter() == filters[0]) + { + if (!filename.contains('.')) filename += ".txt"; + result = FrameFileIO::saveCRTDFile(filename, frames); + } + if (dialog.selectedNameFilter() == filters[1]) + { + if (!filename.contains('.')) filename += ".csv"; + result = FrameFileIO::saveNativeCSVFile(filename, frames); + } + if (dialog.selectedNameFilter() == filters[2]) + { + if (!filename.contains('.')) filename += ".csv"; + result = FrameFileIO::saveGenericCSVFile(filename, frames); + } + if (dialog.selectedNameFilter() == filters[3]) + { + if (!filename.contains('.')) filename += ".log"; + result = FrameFileIO::saveLogFile(filename, frames); + } + if (dialog.selectedNameFilter() == filters[4]) + { + if (!filename.contains('.')) filename += ".log"; + result = FrameFileIO::saveMicrochipFile(filename, frames); + } progress.cancel(); @@ -609,6 +634,7 @@ void MainWindow::handleSaveFilters() if (dialog.exec() == QDialog::Accepted) { filename = dialog.selectedFiles()[0]; + if (!filename.contains('.')) filename += ".ftl"; if (dialog.selectedNameFilter() == filters[0]) model->saveFilterFile(filename); } } @@ -672,6 +698,7 @@ void MainWindow::handleSaveDBC() if (dialog.exec() == QDialog::Accepted) { filename = dialog.selectedFiles()[0]; + if (!filename.contains('.')) filename += ".dbc"; dbcHandler->saveDBCFile(filename); QStringList fileList = filename.split('/'); lbStatusDatabase.setText(fileList[fileList.length() - 1] + tr(" loaded.")); @@ -695,6 +722,7 @@ void MainWindow::handleSaveDecoded() if (dialog.exec() == QDialog::Accepted) { filename = dialog.selectedFiles()[0]; + if (!filename.contains('.')) filename += ".txt"; saveDecodedTextFile(filename); } }