summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--archivebrowser.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/archivebrowser.cpp b/archivebrowser.cpp
index fbeb50d..1459dac 100644
--- a/archivebrowser.cpp
+++ b/archivebrowser.cpp
@@ -80,7 +80,9 @@ ArchiveBrowser::ArchiveBrowser(QWidget *parent) : QWidget(parent), mSelectedSize
//copyworker
mUSBProgress = 0;
mCopyWorker = new CopyWorker(this);
-
+ connect(mCopyWorker, SIGNAL(error(QString)), this, SLOT(copyError(QString)));
+ connect(mCopyWorker, SIGNAL(success(QString)), this, SLOT(copySuccess(QString)));
+ connect(mCopyWorker, SIGNAL(file(QString)), this, SLOT(setCopyFile(QString)));
}
void ArchiveBrowser::browserSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected) {
@@ -213,9 +215,6 @@ void ArchiveBrowser::moveToUSB(){
}
mUSBProgress = new QProgressDialog(this);
connect(mCopyWorker, SIGNAL(bytesRead(int)), mUSBProgress, SLOT(setValue(int)));
- connect(mCopyWorker, SIGNAL(error(QString)), this, SLOT(copyError(QString)));
- connect(mCopyWorker, SIGNAL(success(QString)), this, SLOT(copySuccess(QString)));
- connect(mCopyWorker, SIGNAL(file(QString)), this, SLOT(setCopyFile(QString)));
mUSBProgress->setLabelText(tr("Copying files..."));
mUSBProgress->setMinimum(0);
mUSBProgress->setMaximum(mCopyWorker->max());
@@ -289,15 +288,19 @@ void ArchiveBrowser::resetAll() {
void ArchiveBrowser::copyError(QString error){
mUSBProgress->hide();
QMessageBox::critical(this, tr("Copy Error"), error);
- mUSBProgress->disconnect();
- mUSBProgress->deleteLater();
+ mCopyWorker->disconnect(mUSBProgress);
+ QProgressDialog *old = mUSBProgress;
+ old->deleteLater();
+ mUSBProgress = 0;
}
void ArchiveBrowser::copySuccess(QString success){
mUSBProgress->hide();
QMessageBox::information(this, tr("Copy Success"), success);
- mUSBProgress->disconnect();
- mUSBProgress->deleteLater();
+ mCopyWorker->disconnect(mUSBProgress);
+ QProgressDialog *old = mUSBProgress;
+ old->deleteLater();
+ mUSBProgress = 0;
QString msg = QString(tr("Delete source files and update database?"));
int q = QMessageBox::question(this, tr("Question"), msg);
if(q == QMessageBox::Yes){