summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--copydialog.cpp15
-rw-r--r--copydialog.h3
2 files changed, 16 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();
}
diff --git a/copydialog.h b/copydialog.h
index cf022b3..fd101ce 100644
--- a/copydialog.h
+++ b/copydialog.h
@@ -9,7 +9,10 @@ class QLabel;
class CopyDialog : public QDialog {
public:
explicit CopyDialog(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
+
+ public slots:
void readSettings();
+ void getDestination();
protected:
virtual void closeEvent(QCloseEvent *e);