From be3bb250687e90af63a0904cc879e02a86aa66ae Mon Sep 17 00:00:00 2001
From: con <qtc-committer@nokia.com>
Date: Wed, 1 Dec 2010 12:52:17 +0100
Subject: [PATCH] Only show save as button for files that allow it.

---
 src/plugins/coreplugin/editormanager/editormanager.cpp | 3 ++-
 src/plugins/coreplugin/filemanager.cpp                 | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp
index b6a5a7187e3..13ddb6a66bf 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.cpp
+++ b/src/plugins/coreplugin/editormanager/editormanager.cpp
@@ -1411,7 +1411,7 @@ EditorManager::makeFileWritable(IFile *file)
     IVersionControl *versionControl = m_d->m_core->vcsManager()->findVersionControlForDirectory(directory);
     const QString &fileName = file->fileName();
 
-    switch (FileManager::promptReadOnlyFile(fileName, versionControl, m_d->m_core->mainWindow(), true)) {
+    switch (FileManager::promptReadOnlyFile(fileName, versionControl, m_d->m_core->mainWindow(), file->isSaveAsAllowed())) {
     case FileManager::RO_OpenVCS:
         if (!versionControl->vcsOpen(fileName)) {
             QMessageBox::warning(m_d->m_core->mainWindow(), tr("Failed!"), tr("Could not open the file for editing with SCC."));
@@ -1479,6 +1479,7 @@ bool EditorManager::saveFileAs(IFile *fileParam)
     return success;
 }
 
+/* Adds the file name to the recent files if there is at least one non-temporary editor for it */
 void EditorManager::addFileToRecentFiles(IFile *file)
 {
     bool isTemporary = true;
diff --git a/src/plugins/coreplugin/filemanager.cpp b/src/plugins/coreplugin/filemanager.cpp
index d6a1b64d654..d9887ea5328 100644
--- a/src/plugins/coreplugin/filemanager.cpp
+++ b/src/plugins/coreplugin/filemanager.cpp
@@ -840,7 +840,7 @@ FileManager::ReadOnlyAction
         return RO_OpenVCS;
     if (clickedButton == makeWritableButton)
         return RO_MakeWriteable;
-    if (clickedButton == saveAsButton)
+    if (displaySaveAsButton && clickedButton == saveAsButton)
         return RO_SaveAs;
     return  RO_Cancel;
 }
-- 
GitLab