summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnne Jan Brouwer <brouwer@annejan.com>2021-03-21 02:06:00 +0100
committerGitHub <noreply@github.com>2021-03-21 02:06:00 +0100
commitf3cb38042be9f7c27e43e0d5ff77114db7905c14 (patch)
treec33f6722cee2afe6a4786e24a362d1a6a3ad5db7
parentcfac4db87de0b55794273a80b4ea752497e11a7d (diff)
parent525cf4a48bc8da26eeb6d57c142c5a20443a9e87 (diff)
Merge pull request #559 from ichthyosaurus/fix-520
Keep suffices when moving (to) a directory while imitiating pass
-rw-r--r--src/imitatepass.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/imitatepass.cpp b/src/imitatepass.cpp
index ed926ba0..2140505b 100644
--- a/src/imitatepass.cpp
+++ b/src/imitatepass.cpp
@@ -350,6 +350,7 @@ void ImitatePass::Move(const QString src, const QString dest,
QFileInfo srcFileInfo(src);
QFileInfo destFileInfo(dest);
QString destFile;
+ QString srcFileBaseName = srcFileInfo.fileName();
if (srcFileInfo.isFile()) {
if (destFileInfo.isFile()) {
@@ -360,17 +361,17 @@ void ImitatePass::Move(const QString src, const QString dest,
return;
}
} else if (destFileInfo.isDir()) {
- destFile = QDir(dest).filePath(srcFileInfo.baseName());
+ destFile = QDir(dest).filePath(srcFileBaseName);
} else {
destFile = dest;
}
- if (!destFile.endsWith(".gpg"))
- destFile.append(".gpg");
-
+ if (destFile.endsWith(".gpg", Qt::CaseInsensitive))
+ destFile.chop(4); // make sure suffix is lowercase
+ destFile.append(".gpg");
} else if (srcFileInfo.isDir()) {
if (destFileInfo.isDir()) {
- destFile = QDir(dest).filePath(srcFileInfo.baseName());
+ destFile = QDir(dest).filePath(srcFileBaseName);
} else if (destFileInfo.isFile()) {
#ifdef QT_DEBUG
dbg() << "Destination is a file";
@@ -379,7 +380,6 @@ void ImitatePass::Move(const QString src, const QString dest,
} else {
destFile = dest;
}
-
} else {
#ifdef QT_DEBUG
dbg() << "Source file does not exist";