Skip to content
Snippets Groups Projects
Commit e5c6a29f authored by Friedemann Kleint's avatar Friedemann Kleint
Browse files

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

Introduce convenience to VCSBaseSubmitEditor.
Task-number: 254644
parent 192afe08
No related branches found
No related tags found
No related merge requests found
...@@ -588,6 +588,8 @@ void GitPlugin::revertFile() ...@@ -588,6 +588,8 @@ void GitPlugin::revertFile()
void GitPlugin::startCommit() void GitPlugin::startCommit()
{ {
if (VCSBase::VCSBaseSubmitEditor::raiseSubmitEditor())
return;
if (m_changeTmpFile) { if (m_changeTmpFile) {
m_outputWindow->append(tr("Another submit is currently beeing executed.")); m_outputWindow->append(tr("Another submit is currently beeing executed."));
m_outputWindow->popup(false); m_outputWindow->popup(false);
......
...@@ -485,6 +485,9 @@ void PerforcePlugin::printOpenedFileList() ...@@ -485,6 +485,9 @@ void PerforcePlugin::printOpenedFileList()
void PerforcePlugin::submit() void PerforcePlugin::submit()
{ {
if (VCSBase::VCSBaseSubmitEditor::raiseSubmitEditor())
return;
if (!checkP4Command()) { if (!checkP4Command()) {
showOutput(tr("No p4 executable specified!"), true); showOutput(tr("No p4 executable specified!"), true);
return; return;
......
...@@ -712,7 +712,8 @@ void SubversionPlugin::startCommit(const QStringList &files) ...@@ -712,7 +712,8 @@ void SubversionPlugin::startCommit(const QStringList &files)
{ {
if (files.empty()) if (files.empty())
return; return;
if (VCSBase::VCSBaseSubmitEditor::raiseSubmitEditor())
return;
if (m_changeTmpFile) { if (m_changeTmpFile) {
showOutput(tr("Another commit is currently being executed.")); showOutput(tr("Another commit is currently being executed."));
return; return;
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include <aggregation/aggregate.h> #include <aggregation/aggregate.h>
#include <coreplugin/ifile.h> #include <coreplugin/ifile.h>
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/uniqueidmanager.h> #include <coreplugin/uniqueidmanager.h>
#include <coreplugin/actionmanager/actionmanager.h> #include <coreplugin/actionmanager/actionmanager.h>
#include <utils/submiteditorwidget.h> #include <utils/submiteditorwidget.h>
...@@ -592,4 +593,23 @@ QStringList VCSBaseSubmitEditor::currentProjectFiles(bool nativeSeparators, QStr ...@@ -592,4 +593,23 @@ QStringList VCSBaseSubmitEditor::currentProjectFiles(bool nativeSeparators, QStr
} }
return files; 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 } // namespace VCSBase
...@@ -159,7 +159,10 @@ public: ...@@ -159,7 +159,10 @@ public:
// be restricted to them // be restricted to them
static QStringList currentProjectFiles(bool nativeSeparators, QString *name = 0); 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: signals:
void diffSelectedFiles(const QStringList &files); void diffSelectedFiles(const QStringList &files);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment