┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNate Graham <[email protected]>2020-03-23 13:42:48 -0600
committerNate Graham <[email protected]>2020-04-05 16:48:51 -0600
commit9b82b08fb18724662c69ed288b1a36a215548539 (patch)
treef185492446b5134374a1483ce3b8dbb6fc5dc2cf
parent35a8912c5209484b8898ba86c53849b303b1f5a3 (diff)
Use same logic for "no extension" case with Duplicate feature
Summary: In the "no extension" case, we weren't separating out the path and the original filename, breaking the feature for languages where the word "copy" would be at the beginning of the filename, not after it (e.g. "copia de foo" in Spanish, and similar in other romance languages). This patch fixes that by separating the original path and filename in the no extension case as is done for the other case, which should solve the issue. BUG: 419070 FIXED-IN: 20.04.0 Test Plan: No changes in English; should fix the issue in Spanish once new translations are done (see https://bugs.kde.org/show_bug.cgi?id=419070 for details) Reviewers: #dolphin, elvisangelaccio, arojas, meven, pino, #localization Reviewed By: #dolphin, elvisangelaccio Subscribers: aacid, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D28227
-rw-r--r--src/views/dolphinview.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
index 2f9f2a386..d8f2aab93 100644
--- a/src/views/dolphinview.cpp
+++ b/src/views/dolphinview.cpp
@@ -719,24 +719,25 @@ void DolphinView::duplicateSelectedItems()
QList<QUrl> newSelection;
for (const auto &item : itemList) {
const QUrl originalURL = item.url();
+ const QString originalDirectoryPath = originalURL.adjusted(QUrl::RemoveFilename).path();
const QString originalFileName = item.name();
+
QString extension = db.suffixForFileName(originalFileName);
QUrl duplicateURL = originalURL;
// No extension; new filename is "<oldfilename> copy"
if (extension.isEmpty()) {
- duplicateURL.setPath(i18nc("<file path> copy", "%1 copy", originalURL.path()));
+ duplicateURL.setPath(originalDirectoryPath + i18nc("<filename> copy", "%1 copy", originalFileName));
// There's an extension; new filename is "<oldfilename> copy.<extension>"
} else {
// Need to add a dot since QMimeDatabase::suffixForFileName() doesn't include it
extension = QLatin1String(".") + extension;
- const QString directoryPath = originalURL.adjusted(QUrl::RemoveFilename).path();
const QString originalFilenameWithoutExtension = originalFileName.chopped(extension.size());
// Preserve file's original filename extension in case the casing differs
// from what QMimeDatabase::suffixForFileName() returned
const QString originalExtension = originalFileName.right(extension.size());
- duplicateURL.setPath(i18nc("<file path><filename> copy.<extension>", "%1%2 copy%3", directoryPath, originalFilenameWithoutExtension, originalExtension));
+ duplicateURL.setPath(originalDirectoryPath + i18nc("<filename> copy", "%1 copy", originalFilenameWithoutExtension) + originalExtension);
}
KIO::CopyJob* job = KIO::copyAs(originalURL, duplicateURL, KIO::HideProgressInfo);