File: 0019-Add-a-progress-bar-for-sample-export.patch

package info (click to toggle)
inspectrum 0.2.3-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,312 kB
  • sloc: cpp: 2,675; makefile: 3
file content (55 lines) | stat: -rw-r--r-- 1,715 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
From 02157c43210db076a4b371b222943edb70e91e86 Mon Sep 17 00:00:00 2001
From: Mike Walters <mike@flomp.net>
Date: Sun, 6 Jun 2021 16:20:10 +0100
Subject: [PATCH 19/31] Add a progress bar for sample export

---
 src/plotview.cpp | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/plotview.cpp b/src/plotview.cpp
index 2240edb..914c2c9 100644
--- a/src/plotview.cpp
+++ b/src/plotview.cpp
@@ -21,17 +21,18 @@
 #include <iostream>
 #include <fstream>
 #include <QApplication>
+#include <QClipboard>
 #include <QDebug>
+#include <QFileDialog>
+#include <QGridLayout>
+#include <QGroupBox>
 #include <QMenu>
 #include <QPainter>
-#include <QScrollBar>
-#include <QFileDialog>
+#include <QProgressDialog>
 #include <QRadioButton>
-#include <QVBoxLayout>
-#include <QGroupBox>
-#include <QGridLayout>
+#include <QScrollBar>
 #include <QSpinBox>
-#include <QClipboard>
+#include <QVBoxLayout>
 #include "plots.h"
 
 PlotView::PlotView(InputSource *input) : cursors(this), viewRange({0, 0})
@@ -349,7 +350,13 @@ void PlotView::exportSamples(std::shared_ptr<AbstractSampleSource> src)
         // viewRange.length() is used as some less arbitrary step value
         size_t step = viewRange.length();
 
+        QProgressDialog progress("Exporting samples...", "Cancel", start, end, this);
+        progress.setWindowModality(Qt::WindowModal);
         for (index = start; index < end; index += step) {
+            progress.setValue(index);
+            if (progress.wasCanceled())
+                break;
+
             size_t length = std::min(step, end - index);
             auto samples = sampleSrc->getSamples(index, length);
             if (samples != nullptr) {
-- 
2.35.1