diff options
author | Anne Jan Brouwer <brouwer@annejan.com> | 2021-03-21 02:06:00 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-21 02:06:00 +0100 |
commit | f3cb38042be9f7c27e43e0d5ff77114db7905c14 (patch) | |
tree | c33f6722cee2afe6a4786e24a362d1a6a3ad5db7 | |
parent | cfac4db87de0b55794273a80b4ea752497e11a7d (diff) | |
parent | 525cf4a48bc8da26eeb6d57c142c5a20443a9e87 (diff) |
Merge pull request #559 from ichthyosaurus/fix-520
Keep suffices when moving (to) a directory while imitiating pass
-rw-r--r-- | src/imitatepass.cpp | 12 |
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"; |