forked from qt-creator/qt-creator
Git: Reduce indirection in submit editor
Change-Id: Ic4e897d5c8ec82dbbffd5bd9fe9af84491c4402f Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
eb375d734d
commit
70958c4c07
@@ -639,16 +639,6 @@ GitVersionControl *GitPlugin::gitVersionControl() const
|
||||
return static_cast<GitVersionControl *>(versionControl());
|
||||
}
|
||||
|
||||
void GitPlugin::submitEditorDiff(const QStringList &unstaged, const QStringList &staged)
|
||||
{
|
||||
m_gitClient->diffFiles(m_submitRepository, unstaged, staged);
|
||||
}
|
||||
|
||||
void GitPlugin::submitEditorMerge(const QStringList &unmerged)
|
||||
{
|
||||
m_gitClient->merge(m_submitRepository, unmerged);
|
||||
}
|
||||
|
||||
void GitPlugin::diffCurrentFile()
|
||||
{
|
||||
const VcsBasePluginState state = currentState();
|
||||
@@ -960,10 +950,6 @@ IEditor *GitPlugin::openSubmitEditor(const QString &fileName, const CommitData &
|
||||
IDocument *document = submitEditor->document();
|
||||
document->setPreferredDisplayName(title);
|
||||
VcsBasePlugin::setSource(document, m_submitRepository);
|
||||
connect(submitEditor, &GitSubmitEditor::diff, this, &GitPlugin::submitEditorDiff);
|
||||
connect(submitEditor, &GitSubmitEditor::merge, this, &GitPlugin::submitEditorMerge);
|
||||
connect(submitEditor, &GitSubmitEditor::show,
|
||||
m_gitClient, [this](const QString &wd, const QString &c) { m_gitClient->show(wd, c); });
|
||||
return editor;
|
||||
}
|
||||
|
||||
|
@@ -113,8 +113,6 @@ private slots:
|
||||
private:
|
||||
void diffCurrentFile();
|
||||
void diffCurrentProject();
|
||||
void submitEditorDiff(const QStringList &unstaged, const QStringList &staged);
|
||||
void submitEditorMerge(const QStringList &unmerged);
|
||||
void submitCurrentLog();
|
||||
void logFile();
|
||||
void blameFile();
|
||||
|
@@ -132,7 +132,8 @@ GitSubmitEditor::GitSubmitEditor(const VcsBaseSubmitEditorParameters *parameters
|
||||
m_commitEncoding(0),
|
||||
m_commitType(SimpleCommit),
|
||||
m_firstUpdate(true),
|
||||
m_commitDataFetcher(0)
|
||||
m_commitDataFetcher(0),
|
||||
m_gitClient(GitPlugin::instance()->client())
|
||||
{
|
||||
connect(this, &VcsBaseSubmitEditor::diffSelectedRows, this, &GitSubmitEditor::slotDiffSelected);
|
||||
connect(submitEditorWidget(), &GitSubmitEditorWidget::show, this, &GitSubmitEditor::showCommit);
|
||||
@@ -242,15 +243,15 @@ void GitSubmitEditor::slotDiffSelected(const QList<int> &rows)
|
||||
}
|
||||
}
|
||||
if (!unstagedFiles.empty() || !stagedFiles.empty())
|
||||
emit diff(unstagedFiles, stagedFiles);
|
||||
m_gitClient->diffFiles(m_workingDirectory, unstagedFiles, stagedFiles);
|
||||
if (!unmergedFiles.empty())
|
||||
emit merge(unmergedFiles);
|
||||
m_gitClient->merge(m_workingDirectory, unmergedFiles);
|
||||
}
|
||||
|
||||
void GitSubmitEditor::showCommit(const QString &commit)
|
||||
{
|
||||
if (!m_workingDirectory.isEmpty())
|
||||
emit show(m_workingDirectory, commit);
|
||||
m_gitClient->show(m_workingDirectory, commit);
|
||||
}
|
||||
|
||||
void GitSubmitEditor::updateFileModel()
|
||||
@@ -271,7 +272,7 @@ void GitSubmitEditor::updateFileModel()
|
||||
QFuture<void> future = QtConcurrent::run(m_commitDataFetcher, &CommitDataFetcher::start);
|
||||
Core::ProgressManager::addTask(future, tr("Refreshing Commit Data"), TASK_UPDATE_COMMIT);
|
||||
|
||||
GitPlugin::instance()->client()->addFuture(future);
|
||||
m_gitClient->addFuture(future);
|
||||
}
|
||||
|
||||
void GitSubmitEditor::forceUpdateFileModel()
|
||||
|
@@ -42,6 +42,7 @@ namespace VcsBase { class SubmitFileModel; }
|
||||
namespace Git {
|
||||
namespace Internal {
|
||||
|
||||
class GitClient;
|
||||
class GitSubmitEditorWidget;
|
||||
class CommitData;
|
||||
class CommitDataFetcher;
|
||||
@@ -59,11 +60,6 @@ public:
|
||||
CommitType commitType() const { return m_commitType; }
|
||||
QString amendSHA1() const;
|
||||
|
||||
signals:
|
||||
void diff(const QStringList &unstagedFiles, const QStringList &stagedFiles);
|
||||
void merge(const QStringList &unmergedFiles);
|
||||
void show(const QString &workingDirectory, const QString &commit);
|
||||
|
||||
protected:
|
||||
QByteArray fileContents() const override;
|
||||
void updateFileModel() override;
|
||||
@@ -85,6 +81,7 @@ private:
|
||||
QString m_workingDirectory;
|
||||
bool m_firstUpdate;
|
||||
CommitDataFetcher *m_commitDataFetcher;
|
||||
GitClient *m_gitClient;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
Reference in New Issue
Block a user