diff options
author | wongk <kris.p.wong@gmail.com> | 2011-11-02 12:44:31 -0400 |
---|---|---|
committer | Eike Ziller <eike.ziller@nokia.com> | 2011-11-03 14:17:36 +0100 |
commit | 00ce839d0366eaac9a2c28e6bff2a407e47cbdb1 (patch) | |
tree | 9983d9a69713da5f212d401222e90f5b49bb3deb /src/plugins | |
parent | a037609c3f88046276a4e1f9420c71226a9faa4a (diff) | |
download | qt-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.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; |