summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/coreplugin/filemanager.cpp7
-rw-r--r--src/plugins/coreplugin/filemanager.h2
-rw-r--r--src/plugins/projectexplorer/projectexplorer.cpp5
3 files changed, 9 insertions, 5 deletions
diff --git a/src/plugins/coreplugin/filemanager.cpp b/src/plugins/coreplugin/filemanager.cpp
index 1aef4afdfe..22c0a79a8f 100644
--- a/src/plugins/coreplugin/filemanager.cpp
+++ b/src/plugins/coreplugin/filemanager.cpp
@@ -527,11 +527,12 @@ void FileManager::updateExpectedState(const QString &fileName)
/*!
\fn QList<IFile*> FileManager::saveModifiedFilesSilently(const QList<IFile*> &files)
- Tries to save the files listed in \a files . Returns the files that could not be saved.
+ Tries to save the files listed in \a files. The \a cancelled argument is set to true
+ if the user cancelled the dialog. Returns the files that could not be saved.
*/
-QList<IFile *> FileManager::saveModifiedFilesSilently(const QList<IFile *> &files)
+QList<IFile *> FileManager::saveModifiedFilesSilently(const QList<IFile *> &files, bool *cancelled)
{
- return saveModifiedFiles(files, 0, true, QString());
+ return saveModifiedFiles(files, cancelled, true, QString());
}
/*!
diff --git a/src/plugins/coreplugin/filemanager.h b/src/plugins/coreplugin/filemanager.h
index 4c789a923f..0e0686d71b 100644
--- a/src/plugins/coreplugin/filemanager.h
+++ b/src/plugins/coreplugin/filemanager.h
@@ -108,7 +108,7 @@ public:
QString getSaveAsFileName(IFile *file, const QString &filter = QString(),
QString *selectedFilter = 0);
- QList<IFile *> saveModifiedFilesSilently(const QList<IFile *> &files);
+ QList<IFile *> saveModifiedFilesSilently(const QList<IFile *> &files, bool *cancelled = 0);
QList<IFile *> saveModifiedFiles(const QList<IFile *> &files,
bool *cancelled = 0,
const QString &message = QString(),
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index c9d73be66f..478754fc17 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -1715,7 +1715,10 @@ bool ProjectExplorerPlugin::saveModifiedFiles()
QList<Core::IFile *> filesToSave = Core::ICore::instance()->fileManager()->modifiedFiles();
if (!filesToSave.isEmpty()) {
if (d->m_projectExplorerSettings.saveBeforeBuild) {
- Core::ICore::instance()->fileManager()->saveModifiedFilesSilently(filesToSave);
+ bool cancelled = false;
+ Core::ICore::instance()->fileManager()->saveModifiedFilesSilently(filesToSave, &cancelled);
+ if (cancelled)
+ return false;
} else {
bool cancelled = false;
bool alwaysSave = false;