diff options
author | con <qtc-committer@nokia.com> | 2009-03-24 12:51:44 +0100 |
---|---|---|
committer | con <qtc-committer@nokia.com> | 2009-03-24 12:52:20 +0100 |
commit | bd2a163f7834a1be5379ee9357309fdf717497de (patch) | |
tree | 4146381ea33ea0b74b63c76193ee0c0360bcb85c /src/plugins/coreplugin/filemanager.cpp | |
parent | 87fdacba5c75ef1d979a2e9854018e1789626010 (diff) | |
download | qt-creator-bd2a163f7834a1be5379ee9357309fdf717497de.tar.gz |
Simplify 'Save modified files' internals.
Diffstat (limited to 'src/plugins/coreplugin/filemanager.cpp')
-rw-r--r-- | src/plugins/coreplugin/filemanager.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/plugins/coreplugin/filemanager.cpp b/src/plugins/coreplugin/filemanager.cpp index e5c33c18dd..b996ed5040 100644 --- a/src/plugins/coreplugin/filemanager.cpp +++ b/src/plugins/coreplugin/filemanager.cpp @@ -314,7 +314,8 @@ QList<IFile *> FileManager::saveModifiedFiles(const QList<IFile *> &files, (*cancelled) = false; QList<IFile *> notSaved; - QMap<IFile*, QString> modifiedFiles; + QMap<IFile *, QString> modifiedFilesMap; + QList<IFile *> modifiedFiles; foreach (IFile *file, files) { if (file->isModified()) { @@ -324,17 +325,16 @@ QList<IFile *> FileManager::saveModifiedFiles(const QList<IFile *> &files, // There can be several FileInterfaces pointing to the same file // Select one that is not readonly. - if (!(modifiedFiles.values().contains(name) + if (!(modifiedFilesMap.values().contains(name) && file->isReadOnly())) - modifiedFiles.insert(file, name); + modifiedFilesMap.insert(file, name); } } - + modifiedFiles = modifiedFilesMap.keys(); if (!modifiedFiles.isEmpty()) { QList<IFile *> filesToSave; - QSet<IFile *> filesToOpen; if (silently) { - filesToSave = modifiedFiles.keys(); + filesToSave = modifiedFiles; } else { SaveItemsDialog dia(m_mainWindow, modifiedFiles); if (!message.isEmpty()) @@ -342,16 +342,15 @@ QList<IFile *> FileManager::saveModifiedFiles(const QList<IFile *> &files, if (dia.exec() != QDialog::Accepted) { if (cancelled) (*cancelled) = true; - notSaved = modifiedFiles.keys(); + notSaved = modifiedFiles; return notSaved; } filesToSave = dia.itemsToSave(); - filesToOpen = dia.itemsToOpenWithVCS(); } bool yestoall = false; foreach (IFile *file, filesToSave) { - if (file->isReadOnly() && filesToOpen.contains(file)) { + if (file->isReadOnly()) { QString directory = QFileInfo(file->fileName()).absolutePath(); IVersionControl *versionControl = m_mainWindow->vcsManager()->findVersionControlForDirectory(directory); if (versionControl) |