diff --git a/app/fileoperations.cpp b/app/fileoperations.cpp --- a/app/fileoperations.cpp +++ b/app/fileoperations.cpp @@ -54,30 +54,35 @@ QFileDialog dialog(parent->nativeParentWidget(), QString()); dialog.setAcceptMode(QFileDialog::AcceptSave); + QString files; + const int numberOfFiles = urlList.count(); + if (numberOfFiles == 1) { + files = urlList.constFirst().fileName(); + dialog.setFileMode(QFileDialog::AnyFile); + dialog.selectUrl(urlList.first()); + } else { + files = i18n("%1 images", numberOfFiles); + dialog.setFileMode(QFileDialog::Directory); + dialog.setOption(QFileDialog::ShowDirsOnly, true); + } + + QString operationString; switch (operation) { case COPY: - dialog.setWindowTitle(i18nc("@title:window", "Copy To")); - dialog.setLabelText(QFileDialog::DialogLabel::Accept, i18nc("@action:button", "Copy")); + operationString = i18n("Copy"); break; case MOVE: - dialog.setWindowTitle(i18nc("@title:window", "Move To")); - dialog.setLabelText(QFileDialog::DialogLabel::Accept, i18nc("@action:button", "Move")); + operationString = i18n("Move"); break; case LINK: - dialog.setWindowTitle(i18nc("@title:window", "Link To")); - dialog.setLabelText(QFileDialog::DialogLabel::Accept, i18nc("@action:button", "Link")); + operationString = i18n("Link"); break; default: Q_ASSERT(0); } - if (urlList.count() == 1) { - dialog.setFileMode(QFileDialog::AnyFile); - dialog.selectUrl(urlList.first()); - } else { - dialog.setFileMode(QFileDialog::Directory); - dialog.setOption(QFileDialog::ShowDirsOnly, true); - } + dialog.setWindowTitle(i18nc("@title:window", "%1 %2", operationString, files)); + dialog.setLabelText(QFileDialog::DialogLabel::Accept, i18nc("@action:button", "%1", operationString)); dialog.setDirectoryUrl(contextManager->targetUrl().adjusted(QUrl::RemoveFilename)); if (!dialog.exec()) {