From 7b84e0c91b7fe89ba0dcceac390ac4b320c7b766 Mon Sep 17 00:00:00 2001 From: Olli Werwolff <qt-info@nokia.com> Date: Thu, 9 Apr 2009 11:57:27 +0200 Subject: [PATCH] Fixes: Changes in skipping files and suggested path in qrc editor RevBy: Thorbjorn Lindeijer Details: Renamed button "Don't Add" to "Skip". The button is only shown, if more than 1 file shall be added. In addition to that the qrc editor checks, whether there is a "Resources" directory in the qrc-file's folder and sets this directory as the suggested save dir, if present (Needed in the Visual Studio Add-in) --- src/shared/qrceditor/qrceditor.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/shared/qrceditor/qrceditor.cpp b/src/shared/qrceditor/qrceditor.cpp index 9a09761a232..d6a16e41aa3 100644 --- a/src/shared/qrceditor/qrceditor.cpp +++ b/src/shared/qrceditor/qrceditor.cpp @@ -177,6 +177,7 @@ void QrcEditor::resolveLocationIssues(QStringList &files) const QString dotdotSlash = QLatin1String("../"); int i = 0; int count = files.count(); + int initialCount = files.count(); // Find first troublesome file for (; i < count; i++) { @@ -213,10 +214,14 @@ void QrcEditor::resolveLocationIssues(QStringList &files) message.setWindowTitle(tr("Invalid file")); message.setIcon(QMessageBox::Warning); QPushButton * const copyButton = message.addButton(tr("Copy"), QMessageBox::ActionRole); - QPushButton * const skipButton = message.addButton(tr("Don't add"), QMessageBox::DestructiveRole); + QPushButton * skipButton = NULL; + if (initialCount > 1) + { + skipButton = message.addButton(tr("Skip"), QMessageBox::DestructiveRole); + message.setEscapeButton(skipButton); + } QPushButton * const abortButton = message.addButton(tr("Abort"), QMessageBox::RejectRole); message.setDefaultButton(copyButton); - message.setEscapeButton(skipButton); message.setText(tr("The file %1 is not in a subdirectory of the resource file. Continuing will result in an invalid resource file.") .arg(QDir::toNativeSeparators(file))); message.exec(); @@ -226,7 +231,12 @@ void QrcEditor::resolveLocationIssues(QStringList &files) i--; // Compensate i++ } else if (message.clickedButton() == copyButton) { const QFileInfo fi(file); - const QFileInfo suggestion(dir, fi.fileName()); + QFileInfo suggestion; + QDir tmpTarget(dir.path() + QString(QDir::separator()) + QString("Resources"));; + if (tmpTarget.exists()) + suggestion.setFile(tmpTarget, fi.fileName()); + else + suggestion.setFile(dir, fi.fileName()); const QString copyName = QFileDialog::getSaveFileName(this, tr("Choose copy location"), suggestion.absoluteFilePath()); if (!copyName.isEmpty()) { -- GitLab