summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorwongk <kris.p.wong@gmail.com>2011-11-02 12:44:31 -0400
committerEike Ziller <eike.ziller@nokia.com>2011-11-03 14:17:36 +0100
commit00ce839d0366eaac9a2c28e6bff2a407e47cbdb1 (patch)
tree9983d9a69713da5f212d401222e90f5b49bb3deb /src/plugins
parenta037609c3f88046276a4e1f9420c71226a9faa4a (diff)
downloadqt-creator-00ce839d0366eaac9a2c28e6bff2a407e47cbdb1.tar.gz
If user cancels save file prompt, cancel entire action.
Task-Number: QTCREATORBUG-6440 Change-Id: I8807de53b1a05a0abd57c140dab5ba8df441efd5 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Diffstat (limited to 'src/plugins')
-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;