diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2016-01-05 23:58:49 +0200 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2016-01-06 10:06:22 +0000 |
commit | 1dc90bcf441a7f32b06ecccbfd224074639b5d64 (patch) | |
tree | f92534188dba77e7ea0dd599dfbb0f46afa21bde /src/plugins/git/gitsubmiteditor.cpp | |
parent | 7de7eb6bcada805eff176634e8131c4914e1213d (diff) | |
download | qt-creator-1dc90bcf441a7f32b06ecccbfd224074639b5d64.tar.gz |
Git: Force update file model when mergetool is done
Flow:
* Open a commit editor with unmerged files
* Double-click an unmerged file
* Resolve the conflicts with the mergetool, save and close it
* The window is activated and the file model is refreshed immediately, before
the mergetool process has exited.
When the mergetool exits, repositoryChanged is emitted. Use it to refresh the
file model again.
Task-number: QTCREATORBUG-15569
Change-Id: Ibce7301bc46fe3a5a378a4c15b882e1bb6bbf3c3
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Diffstat (limited to 'src/plugins/git/gitsubmiteditor.cpp')
-rw-r--r-- | src/plugins/git/gitsubmiteditor.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/git/gitsubmiteditor.cpp b/src/plugins/git/gitsubmiteditor.cpp index b39fdeec33..faf16c783f 100644 --- a/src/plugins/git/gitsubmiteditor.cpp +++ b/src/plugins/git/gitsubmiteditor.cpp @@ -35,6 +35,7 @@ #include "gitsubmiteditorwidget.h" #include <coreplugin/editormanager/editormanager.h> +#include <coreplugin/iversioncontrol.h> #include <coreplugin/progressmanager/progressmanager.h> #include <utils/qtcassert.h> #include <vcsbase/submitfilemodel.h> @@ -43,6 +44,7 @@ #include <QDebug> #include <QStringList> #include <QTextCodec> +#include <QTimer> #include <QtConcurrentRun> static const char TASK_UPDATE_COMMIT[] = "Git.UpdateCommit"; @@ -134,6 +136,8 @@ GitSubmitEditor::GitSubmitEditor(const VcsBaseSubmitEditorParameters *parameters { connect(this, &VcsBaseSubmitEditor::diffSelectedRows, this, &GitSubmitEditor::slotDiffSelected); connect(submitEditorWidget(), &GitSubmitEditorWidget::show, this, &GitSubmitEditor::showCommit); + connect(GitPlugin::instance()->versionControl(), &Core::IVersionControl::repositoryChanged, + this, &GitSubmitEditor::forceUpdateFileModel); } GitSubmitEditor::~GitSubmitEditor() @@ -270,6 +274,15 @@ void GitSubmitEditor::updateFileModel() GitPlugin::instance()->client()->addFuture(future); } +void GitSubmitEditor::forceUpdateFileModel() +{ + GitSubmitEditorWidget *w = submitEditorWidget(); + if (w->updateInProgress()) + QTimer::singleShot(10, &GitSubmitEditor::forceUpdateFileModel); + else + updateFileModel(); +} + void GitSubmitEditor::commitDataRetrieved(bool success) { GitSubmitEditorWidget *w = submitEditorWidget(); |