aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/imageviewer/multiexportdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/imageviewer/multiexportdialog.cpp')
-rw-r--r--src/plugins/imageviewer/multiexportdialog.cpp40
1 files changed, 22 insertions, 18 deletions
diff --git a/src/plugins/imageviewer/multiexportdialog.cpp b/src/plugins/imageviewer/multiexportdialog.cpp
index 0befd2fe37..1b526c9b11 100644
--- a/src/plugins/imageviewer/multiexportdialog.cpp
+++ b/src/plugins/imageviewer/multiexportdialog.cpp
@@ -15,8 +15,6 @@
#include <utils/utilsicons.h>
#include <QDialogButtonBox>
-#include <QDir>
-#include <QFileInfo>
#include <QFormLayout>
#include <QLabel>
#include <QLineEdit>
@@ -27,6 +25,8 @@
#include <QToolButton>
#include <QWidgetAction>
+using namespace Utils;
+
namespace ImageViewer::Internal {
static const int standardIconSizesValues[] = {16, 24, 32, 48, 64, 128, 256};
@@ -95,11 +95,11 @@ static QVector<QSize> stringToSizes(const QString &s)
return result;
}
-static QString fileNameForSize(QString pattern, const QSize &s)
+static FilePath fileNameForSize(QString pattern, const QSize &s)
{
pattern.replace("%1", QString::number(s.width()));
pattern.replace("%2", QString::number(s.height()));
- return pattern;
+ return FilePath::fromString(pattern);
}
// Helpers for writing/reading the user-specified size specifications
@@ -236,7 +236,7 @@ void MultiExportDialog::suggestSizes()
QVector<ExportData> MultiExportDialog::exportData() const
{
const QVector<QSize> sizeList = sizes();
- const QString pattern = exportFileName();
+ const QString pattern = exportFileName().toString();
QVector<ExportData> result;
result.reserve(sizeList.size());
for (const QSize &s : sizeList)
@@ -268,7 +268,7 @@ void MultiExportDialog::accept()
Tr::tr("Invalid size specification: %1").arg(sizeSpec));
return;
}
- if (data.size() > 1 && data.at(0).fileName == data.at(1).fileName) {
+ if (data.size() > 1 && data.at(0).filePath == data.at(1).filePath) {
QMessageBox::warning(this, windowTitle(),
Tr::tr("The file name must contain one of the placeholders %1, %2.")
.arg(QString("%1"), QString("%2")));
@@ -277,17 +277,17 @@ void MultiExportDialog::accept()
writeSettings(m_svgSize, sizeSpec);
- QStringList existingFiles;
+ FilePaths existingFiles;
for (const ExportData &d : data) {
- if (QFileInfo::exists(d.fileName))
- existingFiles.append(d.fileName);
+ if (d.filePath.exists())
+ existingFiles.append(d.filePath);
}
if (!existingFiles.isEmpty()) {
const QString message = existingFiles.size() == 1
? Tr::tr("The file %1 already exists.\nWould you like to overwrite it?")
- .arg(QDir::toNativeSeparators(existingFiles.constFirst()))
+ .arg(existingFiles.constFirst().toUserOutput())
: Tr::tr("The files %1 already exist.\nWould you like to overwrite them?")
- .arg(QDir::toNativeSeparators(existingFiles.join(", ")));
+ .arg(FilePath::formatFilePaths(existingFiles, ", "));
QMessageBox messageBox(QMessageBox::Question, windowTitle(), message,
QMessageBox::Yes | QMessageBox::No, this);
if (messageBox.exec() != QMessageBox::Yes)
@@ -297,17 +297,21 @@ void MultiExportDialog::accept()
QDialog::accept();
}
-QString MultiExportDialog::exportFileName() const
+FilePath MultiExportDialog::exportFileName() const
{
- return m_pathChooser->filePath().toString();
+ return m_pathChooser->filePath();
}
-void MultiExportDialog::setExportFileName(QString f)
+void MultiExportDialog::setExportFileName(const FilePath &filePath)
{
- const int lastDot = f.lastIndexOf('.');
- if (lastDot != -1)
- f.insert(lastDot, "-%1");
- m_pathChooser->setFilePath(Utils::FilePath::fromString(f));
+ FilePath f = filePath;
+ QString ff = f.path();
+ const int lastDot = ff.lastIndexOf('.');
+ if (lastDot != -1) {
+ ff.insert(lastDot, "-%1");
+ f = f.withNewPath(ff);
+ };
+ m_pathChooser->setFilePath(f);
}
} // ImageViewer:Internal