Git: Reduce indirection in submit editor

Change-Id: Ic4e897d5c8ec82dbbffd5bd9fe9af84491c4402f
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
Orgad Shaneh
2016-01-05 23:38:08 +02:00
committed by Orgad Shaneh
parent eb375d734d
commit 70958c4c07
4 changed files with 8 additions and 26 deletions

View File

@@ -639,16 +639,6 @@ GitVersionControl *GitPlugin::gitVersionControl() const
return static_cast<GitVersionControl *>(versionControl()); 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() void GitPlugin::diffCurrentFile()
{ {
const VcsBasePluginState state = currentState(); const VcsBasePluginState state = currentState();
@@ -960,10 +950,6 @@ IEditor *GitPlugin::openSubmitEditor(const QString &fileName, const CommitData &
IDocument *document = submitEditor->document(); IDocument *document = submitEditor->document();
document->setPreferredDisplayName(title); document->setPreferredDisplayName(title);
VcsBasePlugin::setSource(document, m_submitRepository); 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; return editor;
} }

View File

@@ -113,8 +113,6 @@ private slots:
private: private:
void diffCurrentFile(); void diffCurrentFile();
void diffCurrentProject(); void diffCurrentProject();
void submitEditorDiff(const QStringList &unstaged, const QStringList &staged);
void submitEditorMerge(const QStringList &unmerged);
void submitCurrentLog(); void submitCurrentLog();
void logFile(); void logFile();
void blameFile(); void blameFile();

View File

@@ -132,7 +132,8 @@ GitSubmitEditor::GitSubmitEditor(const VcsBaseSubmitEditorParameters *parameters
m_commitEncoding(0), m_commitEncoding(0),
m_commitType(SimpleCommit), m_commitType(SimpleCommit),
m_firstUpdate(true), m_firstUpdate(true),
m_commitDataFetcher(0) m_commitDataFetcher(0),
m_gitClient(GitPlugin::instance()->client())
{ {
connect(this, &VcsBaseSubmitEditor::diffSelectedRows, this, &GitSubmitEditor::slotDiffSelected); connect(this, &VcsBaseSubmitEditor::diffSelectedRows, this, &GitSubmitEditor::slotDiffSelected);
connect(submitEditorWidget(), &GitSubmitEditorWidget::show, this, &GitSubmitEditor::showCommit); connect(submitEditorWidget(), &GitSubmitEditorWidget::show, this, &GitSubmitEditor::showCommit);
@@ -242,15 +243,15 @@ void GitSubmitEditor::slotDiffSelected(const QList<int> &rows)
} }
} }
if (!unstagedFiles.empty() || !stagedFiles.empty()) if (!unstagedFiles.empty() || !stagedFiles.empty())
emit diff(unstagedFiles, stagedFiles); m_gitClient->diffFiles(m_workingDirectory, unstagedFiles, stagedFiles);
if (!unmergedFiles.empty()) if (!unmergedFiles.empty())
emit merge(unmergedFiles); m_gitClient->merge(m_workingDirectory, unmergedFiles);
} }
void GitSubmitEditor::showCommit(const QString &commit) void GitSubmitEditor::showCommit(const QString &commit)
{ {
if (!m_workingDirectory.isEmpty()) if (!m_workingDirectory.isEmpty())
emit show(m_workingDirectory, commit); m_gitClient->show(m_workingDirectory, commit);
} }
void GitSubmitEditor::updateFileModel() void GitSubmitEditor::updateFileModel()
@@ -271,7 +272,7 @@ void GitSubmitEditor::updateFileModel()
QFuture<void> future = QtConcurrent::run(m_commitDataFetcher, &CommitDataFetcher::start); QFuture<void> future = QtConcurrent::run(m_commitDataFetcher, &CommitDataFetcher::start);
Core::ProgressManager::addTask(future, tr("Refreshing Commit Data"), TASK_UPDATE_COMMIT); Core::ProgressManager::addTask(future, tr("Refreshing Commit Data"), TASK_UPDATE_COMMIT);
GitPlugin::instance()->client()->addFuture(future); m_gitClient->addFuture(future);
} }
void GitSubmitEditor::forceUpdateFileModel() void GitSubmitEditor::forceUpdateFileModel()

View File

@@ -42,6 +42,7 @@ namespace VcsBase { class SubmitFileModel; }
namespace Git { namespace Git {
namespace Internal { namespace Internal {
class GitClient;
class GitSubmitEditorWidget; class GitSubmitEditorWidget;
class CommitData; class CommitData;
class CommitDataFetcher; class CommitDataFetcher;
@@ -59,11 +60,6 @@ public:
CommitType commitType() const { return m_commitType; } CommitType commitType() const { return m_commitType; }
QString amendSHA1() const; 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: protected:
QByteArray fileContents() const override; QByteArray fileContents() const override;
void updateFileModel() override; void updateFileModel() override;
@@ -85,6 +81,7 @@ private:
QString m_workingDirectory; QString m_workingDirectory;
bool m_firstUpdate; bool m_firstUpdate;
CommitDataFetcher *m_commitDataFetcher; CommitDataFetcher *m_commitDataFetcher;
GitClient *m_gitClient;
}; };
} // namespace Internal } // namespace Internal