forked from qt-creator/qt-creator
DiffEditor: Simplify internals
Don't pass startupFile arg on every setDiffFiles. Provide a setStartupFile() separate setter inside DiffEditorDocument and call it directly from DiffEditorController::setStartupFile(). Correct updateDescription() implementation. Change-Id: Ie489431632bdabc61e2c692d09caf7b2e3990764 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -381,16 +381,16 @@ void DiffEditor::updateDescription()
|
||||
{
|
||||
QTC_ASSERT(m_toolBar, return);
|
||||
|
||||
QString description = m_document->description();
|
||||
const QString description = m_document->description();
|
||||
m_descriptionWidget->setPlainText(description);
|
||||
m_descriptionWidget->setVisible(m_showDescription && !description.isEmpty());
|
||||
|
||||
const QString actionText = m_showDescription ? tr("Hide Change Description")
|
||||
: tr("Show Change Description");
|
||||
GuardLocker guard(m_ignoreChanges);
|
||||
m_toggleDescriptionAction->setChecked(m_showDescription);
|
||||
m_toggleDescriptionAction->setToolTip(m_showDescription ? tr("Hide Change Description")
|
||||
: tr("Show Change Description"));
|
||||
m_toggleDescriptionAction->setText(m_showDescription ? tr("Hide Change Description")
|
||||
: tr("Show Change Description"));
|
||||
m_toggleDescriptionAction->setToolTip(actionText);
|
||||
m_toggleDescriptionAction->setText(actionText);
|
||||
m_toggleDescriptionAction->setVisible(!description.isEmpty());
|
||||
}
|
||||
|
||||
|
@@ -77,10 +77,9 @@ DiffEditorController *DiffEditorController::controller(Core::IDocument *document
|
||||
}
|
||||
|
||||
void DiffEditorController::setDiffFiles(const QList<FileData> &diffFileList,
|
||||
const FilePath &workingDirectory,
|
||||
const QString &startupFile)
|
||||
const FilePath &workingDirectory)
|
||||
{
|
||||
m_document->setDiffFiles(diffFileList, workingDirectory, startupFile);
|
||||
m_document->setDiffFiles(diffFileList, workingDirectory);
|
||||
}
|
||||
|
||||
void DiffEditorController::setDescription(const QString &description)
|
||||
@@ -143,6 +142,11 @@ void DiffEditorController::reloadFinished(bool success)
|
||||
m_isReloading = false;
|
||||
}
|
||||
|
||||
void DiffEditorController::setStartupFile(const QString &startupFile)
|
||||
{
|
||||
m_document->setStartupFile(startupFile);
|
||||
}
|
||||
|
||||
void DiffEditorController::requestChunkActions(QMenu *menu, int fileIndex, int chunkIndex,
|
||||
const ChunkSelection &selection)
|
||||
{
|
||||
|
@@ -66,9 +66,9 @@ protected:
|
||||
void setReloader(const std::function<void ()> &reloader);
|
||||
void reloadFinished(bool success);
|
||||
|
||||
void setStartupFile(const QString &startupFile);
|
||||
void setDiffFiles(const QList<FileData> &diffFileList,
|
||||
const Utils::FilePath &baseDirectory = {},
|
||||
const QString &startupFile = {});
|
||||
const Utils::FilePath &baseDirectory = {});
|
||||
void setDescription(const QString &description);
|
||||
QString description() const;
|
||||
void forceContextLineCount(int lines);
|
||||
|
@@ -139,13 +139,11 @@ QString DiffEditorDocument::makePatch(int fileIndex, int chunkIndex,
|
||||
lastChunk && fileData.lastChunkAtTheEndOfFile);
|
||||
}
|
||||
|
||||
void DiffEditorDocument::setDiffFiles(const QList<FileData> &data, const FilePath &directory,
|
||||
const QString &startupFile)
|
||||
void DiffEditorDocument::setDiffFiles(const QList<FileData> &data, const FilePath &directory)
|
||||
{
|
||||
m_diffFiles = data;
|
||||
if (!directory.isEmpty())
|
||||
m_baseDirectory = directory;
|
||||
m_startupFile = startupFile;
|
||||
emit documentChanged();
|
||||
}
|
||||
|
||||
@@ -164,6 +162,11 @@ void DiffEditorDocument::setBaseDirectory(const FilePath &directory)
|
||||
m_baseDirectory = directory;
|
||||
}
|
||||
|
||||
void DiffEditorDocument::setStartupFile(const QString &startupFile)
|
||||
{
|
||||
m_startupFile = startupFile;
|
||||
}
|
||||
|
||||
QString DiffEditorDocument::startupFile() const
|
||||
{
|
||||
return m_startupFile;
|
||||
|
@@ -38,11 +38,11 @@ public:
|
||||
Core::PatchAction patchAction, bool addPrefix = false,
|
||||
const QString &overriddenFileName = {}) const;
|
||||
|
||||
void setDiffFiles(const QList<FileData> &data, const Utils::FilePath &directory,
|
||||
const QString &startupFile = {});
|
||||
void setDiffFiles(const QList<FileData> &data, const Utils::FilePath &directory);
|
||||
QList<FileData> diffFiles() const;
|
||||
Utils::FilePath baseDirectory() const;
|
||||
void setBaseDirectory(const Utils::FilePath &directory);
|
||||
void setStartupFile(const QString &startupFile);
|
||||
QString startupFile() const;
|
||||
|
||||
void setDescription(const QString &description);
|
||||
|
@@ -256,10 +256,10 @@ private:
|
||||
setupDiffProcessor(async, storage->m_stagedOutput + storage->m_unstagedOutput);
|
||||
};
|
||||
const auto onProcessDiffDone = [this, storage](const AsyncTask<QList<FileData>> &async) {
|
||||
setDiffFiles(async.result(), workingDirectory(), startupFile());
|
||||
setDiffFiles(async.result(), workingDirectory());
|
||||
};
|
||||
const auto onProcessDiffError = [this, storage](const AsyncTask<QList<FileData>> &) {
|
||||
setDiffFiles({}, workingDirectory(), startupFile());
|
||||
setDiffFiles({}, workingDirectory());
|
||||
};
|
||||
|
||||
const Group root {
|
||||
@@ -474,10 +474,10 @@ Tasking::Group ShowController::reloadRecipe()
|
||||
setupDiffProcessor(async, storage->m_diffOutput);
|
||||
};
|
||||
const auto onProcessDiffDone = [this, storage](const AsyncTask<QList<FileData>> &async) {
|
||||
setDiffFiles(async.result(), workingDirectory(), startupFile());
|
||||
setDiffFiles(async.result(), workingDirectory());
|
||||
};
|
||||
const auto onProcessDiffError = [this, storage](const AsyncTask<QList<FileData>> &) {
|
||||
setDiffFiles({}, workingDirectory(), startupFile());
|
||||
setDiffFiles({}, workingDirectory());
|
||||
};
|
||||
|
||||
const Group root {
|
||||
|
@@ -50,7 +50,6 @@ public:
|
||||
Environment m_processEnvironment;
|
||||
FilePath m_vcsBinary;
|
||||
int m_vscTimeoutS;
|
||||
QString m_startupFile;
|
||||
QPointer<VcsCommand> m_command;
|
||||
QFutureWatcher<QList<FileData>> *m_processWatcher = nullptr;
|
||||
};
|
||||
@@ -76,7 +75,7 @@ void VcsBaseDiffEditorControllerPrivate::processingFinished()
|
||||
m_processWatcher->deleteLater();
|
||||
m_processWatcher = nullptr;
|
||||
|
||||
q->setDiffFiles(fileDataList, q->workingDirectory(), q->startupFile());
|
||||
q->setDiffFiles(fileDataList, q->workingDirectory());
|
||||
q->reloadFinished(success);
|
||||
}
|
||||
|
||||
@@ -186,16 +185,6 @@ FilePath VcsBaseDiffEditorController::workingDirectory() const
|
||||
return d->m_directory;
|
||||
}
|
||||
|
||||
void VcsBaseDiffEditorController::setStartupFile(const QString &startupFile)
|
||||
{
|
||||
d->m_startupFile = startupFile;
|
||||
}
|
||||
|
||||
QString VcsBaseDiffEditorController::startupFile() const
|
||||
{
|
||||
return d->m_startupFile;
|
||||
}
|
||||
|
||||
void VcsBase::VcsBaseDiffEditorController::setWorkingDirectory(const FilePath &workingDir)
|
||||
{
|
||||
d->m_directory = workingDir;
|
||||
|
@@ -46,8 +46,6 @@ protected:
|
||||
virtual void processCommandOutput(const QString &output);
|
||||
|
||||
Utils::FilePath workingDirectory() const;
|
||||
void setStartupFile(const QString &startupFile);
|
||||
QString startupFile() const;
|
||||
|
||||
private:
|
||||
friend class VcsBaseDiffEditorControllerPrivate;
|
||||
|
Reference in New Issue
Block a user