summaryrefslogtreecommitdiffstats
path: root/copydialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'copydialog.cpp')
-rw-r--r--copydialog.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/copydialog.cpp b/copydialog.cpp
index 7c7c757..da71494 100644
--- a/copydialog.cpp
+++ b/copydialog.cpp
@@ -5,6 +5,7 @@
#include <QLabel>
#include <QSettings>
#include <QCloseEvent>
+#include <QFileDialog>
#include "copydialog.h"
@@ -17,14 +18,13 @@ CopyDialog::CopyDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f)
mSrcE = new QLineEdit;
mSrcE->setReadOnly(true);
dirGrid->addWidget(mSrcE, 0, 1);
- QPushButton *srcB = new QPushButton(QIcon::fromTheme("folder"), tr("..."));
- dirGrid->addWidget(srcB, 0, 2);
QLabel *dstL = new QLabel(tr("Destination"));
dirGrid->addWidget(dstL, 1, 0);
mDstE = new QLineEdit;
mDstE->setReadOnly(true);
dirGrid->addWidget(mDstE, 1, 1);
QPushButton *dstB = new QPushButton(QIcon::fromTheme("folder"), tr("..."));
+ connect(dstB, &QPushButton::clicked, this, &CopyDialog::getDestination);
dirGrid->addWidget(dstB, 1, 2);
QLabel *folderL = new QLabel(tr("Folder Name"));
dirGrid->addWidget(folderL, 2, 0);
@@ -58,10 +58,21 @@ CopyDialog::CopyDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f)
void CopyDialog::readSettings(){
QSettings s;
resize(s.value("copydlgsize").toSize());
+ QString dst = s.value("copydlgdst").toString();
+ QFileInfo fi(dst);
+ if(fi.exists()){
+ mDstE->setText(dst);
+ }
+}
+
+void CopyDialog::getDestination(){
+ QString dir = QFileDialog::getExistingDirectory(this, tr("Select destination Folder"));
+ mDstE->setText(dir);
}
void CopyDialog::closeEvent(QCloseEvent *e){
QSettings s;
s.setValue("copydlgsize", size());
+ s.setValue("copydlgdst", mDstE->text());
e->accept();
}