Raise existing submit window if there is one when Submit is invoked.

Introduce convenience to VCSBaseSubmitEditor.
Task-number: 254644
This commit is contained in:
Friedemann Kleint
2009-05-27 16:17:24 +02:00
parent 192afe0825
commit e5c6a29fc4
5 changed files with 31 additions and 2 deletions

View File

@@ -36,6 +36,7 @@
#include <aggregation/aggregate.h>
#include <coreplugin/ifile.h>
#include <coreplugin/icore.h>
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanager.h>
#include <utils/submiteditorwidget.h>
@@ -592,4 +593,23 @@ QStringList VCSBaseSubmitEditor::currentProjectFiles(bool nativeSeparators, QStr
}
return files;
}
// Helper to raise an already open submit editor to prevent opening twice.
bool VCSBaseSubmitEditor::raiseSubmitEditor()
{
Core::EditorManager *em = Core::EditorManager::instance();
// Nothing to do?
if (Core::IEditor *ce = em->currentEditor())
if (qobject_cast<VCSBaseSubmitEditor*>(ce))
return true;
// Try to activate a hidden one
foreach (Core::IEditor *e, em->openedEditors()) {
if (qobject_cast<VCSBaseSubmitEditor*>(e)) {
em->activateEditor(e, Core::EditorManager::IgnoreNavigationHistory);
return true;
}
}
return false;
}
} // namespace VCSBase

View File

@@ -159,7 +159,10 @@ public:
// be restricted to them
static QStringList currentProjectFiles(bool nativeSeparators, QString *name = 0);
bool temporaryEditor() const { return true; }
virtual bool temporaryEditor() const { return true; }
// Helper to raise an already open submit editor to prevent opening twice.
static bool raiseSubmitEditor();
signals:
void diffSelectedFiles(const QStringList &files);