diff options
-rw-r--r-- | src/plugins/coreplugin/filemanager.cpp | 7 | ||||
-rw-r--r-- | src/plugins/coreplugin/filemanager.h | 2 | ||||
-rw-r--r-- | src/plugins/projectexplorer/projectexplorer.cpp | 5 |
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; |