diff --git a/framefileio.cpp b/framefileio.cpp index b58adab..986523c 100644 --- a/framefileio.cpp +++ b/framefileio.cpp @@ -1,5 +1,7 @@ #include "framefileio.h" +#include + FrameFileIO::FrameFileIO() { @@ -26,11 +28,24 @@ QString FrameFileIO::loadFrameFile(QVector* frameCache) { filename = dialog.selectedFiles()[0]; + QProgressDialog progress(qApp->activeWindow()); + progress.setWindowModality(Qt::WindowModal); + progress.setLabelText("Loading file..."); + progress.setCancelButton(0); + progress.setRange(0,0); + progress.setMinimumDuration(0); + progress.show(); + + qApp->processEvents(); + if (dialog.selectedNameFilter() == filters[0]) result = loadCRTDFile(filename, frameCache); if (dialog.selectedNameFilter() == filters[1]) result = loadNativeCSVFile(filename, frameCache); if (dialog.selectedNameFilter() == filters[2]) result = loadGenericCSVFile(filename, frameCache); if (dialog.selectedNameFilter() == filters[3]) result = loadLogFile(filename, frameCache); if (dialog.selectedNameFilter() == filters[4]) result = loadMicrochipFile(filename, frameCache); + + progress.cancel(); + if (result) { QStringList fileList = filename.split('/'); diff --git a/mainwindow.cpp b/mainwindow.cpp index b51ba38..06cd71b 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -500,6 +500,17 @@ void MainWindow::handleSaveFile() { const QVector *frames = model->getListReference(); filename = dialog.selectedFiles()[0]; + + QProgressDialog progress(this); + progress.setWindowModality(Qt::WindowModal); + progress.setLabelText("Saving file..."); + progress.setCancelButton(0); + progress.setRange(0,0); + progress.setMinimumDuration(0); + progress.show(); + + qApp->processEvents(); + if (dialog.selectedNameFilter() == filters[0]) { result = FrameFileIO::saveCRTDFile(filename, frames); @@ -520,6 +531,9 @@ void MainWindow::handleSaveFile() { result = FrameFileIO::saveMicrochipFile(filename, frames); } + + progress.cancel(); + if (result) { QStringList fileList = filename.split('/'); @@ -551,11 +565,25 @@ void MainWindow::handleSaveFilteredFile() { const QVector *frames = model->getFilteredListReference(); filename = dialog.selectedFiles()[0]; + + QProgressDialog progress(this); + progress.setWindowModality(Qt::WindowModal); + progress.setLabelText("Saving filtered file..."); + progress.setCancelButton(0); + progress.setRange(0,0); + progress.setMinimumDuration(0); + progress.show(); + + 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); + + progress.cancel(); + if (result) { QStringList fileList = filename.split('/');