From f51553b2287661f115e46ee2f01f085995e1332a Mon Sep 17 00:00:00 2001
From: Orgad Shaneh <orgad.shaneh@audiocodes.com>
Date: Tue, 22 Jul 2014 12:08:43 +0300
Subject: [PATCH] Core: Enable context menu for document-less editors

Change-Id: I92edf53230d34cb222dcc82391b8046e09c7599d
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
---
 src/plugins/coreplugin/editormanager/editormanager.cpp | 5 +++--
 src/plugins/coreplugin/editortoolbar.cpp               | 6 ++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp
index a296ef16de3..a4273501247 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.cpp
+++ b/src/plugins/coreplugin/editormanager/editormanager.cpp
@@ -2031,9 +2031,10 @@ void EditorManager::updateMakeWritableWarning()
 
 void EditorManager::setupSaveActions(IDocument *document, QAction *saveAction, QAction *saveAsAction, QAction *revertToSavedAction)
 {
-    saveAction->setEnabled(document != 0 && document->isModified());
+    const bool hasFile = document != 0 && !document->filePath().isEmpty();
+    saveAction->setEnabled(hasFile && document->isModified());
     saveAsAction->setEnabled(document != 0 && document->isSaveAsAllowed());
-    revertToSavedAction->setEnabled(document != 0 && !document->filePath().isEmpty());
+    revertToSavedAction->setEnabled(hasFile);
 
     const QString documentName = document ? document->displayName() : QString();
     QString quotedName;
diff --git a/src/plugins/coreplugin/editortoolbar.cpp b/src/plugins/coreplugin/editortoolbar.cpp
index 9cc2dd82f5f..38e29bfe982 100644
--- a/src/plugins/coreplugin/editortoolbar.cpp
+++ b/src/plugins/coreplugin/editortoolbar.cpp
@@ -317,12 +317,14 @@ void EditorToolBar::listContextMenu(QPoint pos)
                 d->m_editorList->currentIndex());
     QString fileName = entry ? entry->fileName() : QString();
     QString shortFileName = entry ? QFileInfo(fileName).fileName() : QString();
-    if (fileName.isEmpty() || shortFileName.isEmpty())
-        return;
     QMenu menu;
     QAction *copyPath = menu.addAction(tr("Copy Full Path to Clipboard"));
     QAction *copyFileName = menu.addAction(tr("Copy File Name to Clipboard"));
     menu.addSeparator();
+    if (fileName.isEmpty() || shortFileName.isEmpty()) {
+        copyPath->setEnabled(false);
+        copyFileName->setEnabled(false);
+    }
     EditorManager::addSaveAndCloseEditorActions(&menu, entry);
     menu.addSeparator();
     EditorManager::addNativeDirAndOpenWithActions(&menu, entry);
-- 
GitLab