summaryrefslogtreecommitdiffstats
path: root/progressdialog.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2016-12-03 00:00:16 +0100
committerArno <arno@disconnect.de>2016-12-03 00:00:16 +0100
commit0432c09d7889009beb9557e0546d0c4f240bb37e (patch)
treeb401ce1815e4e33e4ef79b9a69727f70a80e6e1b /progressdialog.cpp
parentc8d8c71460c7e7d403c9dba1addc850a361d3e9c (diff)
downloadShemovCleaner-0432c09d7889009beb9557e0546d0c4f240bb37e.tar.gz
ShemovCleaner-0432c09d7889009beb9557e0546d0c4f240bb37e.tar.bz2
ShemovCleaner-0432c09d7889009beb9557e0546d0c4f240bb37e.zip
Actually use Copy Files to...
Create a FileCopier and show a custom, non-modal progress dialog when we're copying files. Turns out that a QProgressDialog always shows when it's created. This is by design, so I had to implement one that fits my needs. Also, a buffer size of 32K (as used in MKVMerger) is way too small to max out the available bandwidth, so I set it to an (arbitrary) value of 16MB.
Diffstat (limited to 'progressdialog.cpp')
-rw-r--r--progressdialog.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/progressdialog.cpp b/progressdialog.cpp
new file mode 100644
index 0000000..778a3b4
--- /dev/null
+++ b/progressdialog.cpp
@@ -0,0 +1,25 @@
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QPushButton>
+
+#include "progressdialog.h"
+
+ProgressDialog::ProgressDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f){
+ mLabel = new QLabel;
+ mProgress = new QProgressBar;
+ QPushButton *cancelBtn = new QPushButton(tr("Cancel"));
+ connect(cancelBtn, SIGNAL(clicked()), this, SIGNAL(cancelled()));
+ QHBoxLayout *btnLayout = new QHBoxLayout;
+ btnLayout->addStretch();
+ btnLayout->addWidget(cancelBtn);
+ btnLayout->addStretch();
+ QVBoxLayout *mainLayout = new QVBoxLayout;
+ mainLayout->addWidget(mLabel);
+ mainLayout->addWidget(mProgress);
+ mainLayout->addLayout(btnLayout);
+ setLayout(mainLayout);
+}
+
+void ProgressDialog::setValue(int val){
+ mProgress->setValue(val);
+}