From 003290d919171fe5bb73cbb35f3b3896c4e12db7 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 13 Oct 2018 03:42:42 +0200 Subject: Implement select destination in CopyDialog Also remember it on close. --- copydialog.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'copydialog.cpp') diff --git a/copydialog.cpp b/copydialog.cpp index 7c7c757..da71494 100644 --- a/copydialog.cpp +++ b/copydialog.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #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(); } -- cgit v1.2.3-70-g09d2