forked from qt-creator/qt-creator
Vcs: Use FilePath for working directory in DiffEditorController
Change-Id: I7b5e1349bc679bd90b7781fbe0b40485ec653473 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
@@ -35,6 +35,8 @@
|
|||||||
|
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
|
|
||||||
|
using namespace Utils;
|
||||||
|
|
||||||
namespace DiffEditor {
|
namespace DiffEditor {
|
||||||
|
|
||||||
DiffEditorController::DiffEditorController(Core::IDocument *document) :
|
DiffEditorController::DiffEditorController(Core::IDocument *document) :
|
||||||
@@ -50,12 +52,12 @@ bool DiffEditorController::isReloading() const
|
|||||||
return m_isReloading;
|
return m_isReloading;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString DiffEditorController::baseDirectory() const
|
FilePath DiffEditorController::baseDirectory() const
|
||||||
{
|
{
|
||||||
return m_document->baseDirectory();
|
return m_document->baseDirectory();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiffEditorController::setBaseDirectory(const QString &directory)
|
void DiffEditorController::setBaseDirectory(const FilePath &directory)
|
||||||
{
|
{
|
||||||
m_document->setBaseDirectory(directory);
|
m_document->setBaseDirectory(directory);
|
||||||
}
|
}
|
||||||
@@ -94,7 +96,7 @@ DiffEditorController *DiffEditorController::controller(Core::IDocument *document
|
|||||||
}
|
}
|
||||||
|
|
||||||
void DiffEditorController::setDiffFiles(const QList<FileData> &diffFileList,
|
void DiffEditorController::setDiffFiles(const QList<FileData> &diffFileList,
|
||||||
const QString &workingDirectory,
|
const FilePath &workingDirectory,
|
||||||
const QString &startupFile)
|
const QString &startupFile)
|
||||||
{
|
{
|
||||||
m_document->setDiffFiles(diffFileList, workingDirectory, startupFile);
|
m_document->setDiffFiles(diffFileList, workingDirectory, startupFile);
|
||||||
|
@@ -49,8 +49,8 @@ public:
|
|||||||
void requestReload();
|
void requestReload();
|
||||||
bool isReloading() const;
|
bool isReloading() const;
|
||||||
|
|
||||||
QString baseDirectory() const;
|
Utils::FilePath baseDirectory() const;
|
||||||
void setBaseDirectory(const QString &directory);
|
void setBaseDirectory(const Utils::FilePath &directory);
|
||||||
int contextLineCount() const;
|
int contextLineCount() const;
|
||||||
bool ignoreWhitespace() const;
|
bool ignoreWhitespace() const;
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ protected:
|
|||||||
void reloadFinished(bool success);
|
void reloadFinished(bool success);
|
||||||
|
|
||||||
void setDiffFiles(const QList<FileData> &diffFileList,
|
void setDiffFiles(const QList<FileData> &diffFileList,
|
||||||
const QString &baseDirectory = QString(),
|
const Utils::FilePath &baseDirectory = {},
|
||||||
const QString &startupFile = QString());
|
const QString &startupFile = QString());
|
||||||
void setDescription(const QString &description);
|
void setDescription(const QString &description);
|
||||||
QString description() const;
|
QString description() const;
|
||||||
|
@@ -171,7 +171,7 @@ QString DiffEditorDocument::makePatch(int fileIndex, int chunkIndex,
|
|||||||
lastChunk && fileData.lastChunkAtTheEndOfFile);
|
lastChunk && fileData.lastChunkAtTheEndOfFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiffEditorDocument::setDiffFiles(const QList<FileData> &data, const QString &directory,
|
void DiffEditorDocument::setDiffFiles(const QList<FileData> &data, const FilePath &directory,
|
||||||
const QString &startupFile)
|
const QString &startupFile)
|
||||||
{
|
{
|
||||||
m_diffFiles = data;
|
m_diffFiles = data;
|
||||||
@@ -186,12 +186,12 @@ QList<FileData> DiffEditorDocument::diffFiles() const
|
|||||||
return m_diffFiles;
|
return m_diffFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString DiffEditorDocument::baseDirectory() const
|
FilePath DiffEditorDocument::baseDirectory() const
|
||||||
{
|
{
|
||||||
return m_baseDirectory;
|
return m_baseDirectory;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiffEditorDocument::setBaseDirectory(const QString &directory)
|
void DiffEditorDocument::setBaseDirectory(const FilePath &directory)
|
||||||
{
|
{
|
||||||
m_baseDirectory = directory;
|
m_baseDirectory = directory;
|
||||||
}
|
}
|
||||||
@@ -256,7 +256,7 @@ bool DiffEditorDocument::setContents(const QByteArray &contents)
|
|||||||
QString DiffEditorDocument::fallbackSaveAsPath() const
|
QString DiffEditorDocument::fallbackSaveAsPath() const
|
||||||
{
|
{
|
||||||
if (!m_baseDirectory.isEmpty())
|
if (!m_baseDirectory.isEmpty())
|
||||||
return m_baseDirectory;
|
return m_baseDirectory.toString();
|
||||||
return QDir::homePath();
|
return QDir::homePath();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -265,7 +265,7 @@ bool DiffEditorDocument::isSaveAsAllowed() const
|
|||||||
return state() == LoadOK;
|
return state() == LoadOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DiffEditorDocument::save(QString *errorString, const Utils::FilePath &filePath, bool autoSave)
|
bool DiffEditorDocument::save(QString *errorString, const FilePath &filePath, bool autoSave)
|
||||||
{
|
{
|
||||||
Q_UNUSED(errorString)
|
Q_UNUSED(errorString)
|
||||||
Q_UNUSED(autoSave)
|
Q_UNUSED(autoSave)
|
||||||
@@ -330,7 +330,7 @@ Core::IDocument::OpenResult DiffEditorDocument::open(QString *errorString, const
|
|||||||
setTemporary(false);
|
setTemporary(false);
|
||||||
emit temporaryStateChanged();
|
emit temporaryStateChanged();
|
||||||
setFilePath(filePath.absoluteFilePath());
|
setFilePath(filePath.absoluteFilePath());
|
||||||
setDiffFiles(fileDataList, filePath.absoluteFilePath().toString());
|
setDiffFiles(fileDataList, filePath.absoluteFilePath());
|
||||||
}
|
}
|
||||||
endReload(ok);
|
endReload(ok);
|
||||||
if (!ok && readResult == TextFileFormat::ReadEncodingError)
|
if (!ok && readResult == TextFileFormat::ReadEncodingError)
|
||||||
@@ -415,7 +415,7 @@ void DiffEditorDocument::beginReload()
|
|||||||
m_state = Reloading;
|
m_state = Reloading;
|
||||||
emit changed();
|
emit changed();
|
||||||
QSignalBlocker blocker(this);
|
QSignalBlocker blocker(this);
|
||||||
setDiffFiles(QList<FileData>(), QString());
|
setDiffFiles(QList<FileData>(), {});
|
||||||
setDescription(QString());
|
setDescription(QString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -59,11 +59,11 @@ public:
|
|||||||
bool revert, bool addPrefix = false,
|
bool revert, bool addPrefix = false,
|
||||||
const QString &overriddenFileName = QString()) const;
|
const QString &overriddenFileName = QString()) const;
|
||||||
|
|
||||||
void setDiffFiles(const QList<FileData> &data, const QString &directory,
|
void setDiffFiles(const QList<FileData> &data, const Utils::FilePath &directory,
|
||||||
const QString &startupFile = QString());
|
const QString &startupFile = QString());
|
||||||
QList<FileData> diffFiles() const;
|
QList<FileData> diffFiles() const;
|
||||||
QString baseDirectory() const;
|
Utils::FilePath baseDirectory() const;
|
||||||
void setBaseDirectory(const QString &directory);
|
void setBaseDirectory(const Utils::FilePath &directory);
|
||||||
QString startupFile() const;
|
QString startupFile() const;
|
||||||
|
|
||||||
void setDescription(const QString &description);
|
void setDescription(const QString &description);
|
||||||
@@ -103,7 +103,7 @@ private:
|
|||||||
|
|
||||||
DiffEditorController *m_controller = nullptr;
|
DiffEditorController *m_controller = nullptr;
|
||||||
QList<FileData> m_diffFiles;
|
QList<FileData> m_diffFiles;
|
||||||
QString m_baseDirectory;
|
Utils::FilePath m_baseDirectory;
|
||||||
QString m_startupFile;
|
QString m_startupFile;
|
||||||
QString m_description;
|
QString m_description;
|
||||||
int m_contextLineCount = 3;
|
int m_contextLineCount = 3;
|
||||||
|
@@ -159,12 +159,10 @@ void DiffEditorWidgetController::patch(bool revert, int fileIndex, int chunkInde
|
|||||||
? fileData.rightFileInfo.patchBehaviour
|
? fileData.rightFileInfo.patchBehaviour
|
||||||
: fileData.leftFileInfo.patchBehaviour;
|
: fileData.leftFileInfo.patchBehaviour;
|
||||||
|
|
||||||
const QString workingDirectory = m_document->baseDirectory().isEmpty()
|
const FilePath workingDirectory = m_document->baseDirectory().isEmpty()
|
||||||
? QFileInfo(fileName).absolutePath()
|
? FilePath::fromString(fileName).absolutePath()
|
||||||
: m_document->baseDirectory();
|
: m_document->baseDirectory();
|
||||||
const Utils::FilePath absFilePath = Utils::FilePath::fromString(workingDirectory)
|
const FilePath absFilePath = workingDirectory.resolvePath(fileName).absoluteFilePath();
|
||||||
.pathAppended(QFileInfo(fileName).fileName())
|
|
||||||
.absoluteFilePath();
|
|
||||||
|
|
||||||
if (patchBehaviour == DiffFileInfo::PatchFile) {
|
if (patchBehaviour == DiffFileInfo::PatchFile) {
|
||||||
const int strip = m_document->baseDirectory().isEmpty() ? -1 : 0;
|
const int strip = m_document->baseDirectory().isEmpty() ? -1 : 0;
|
||||||
@@ -176,7 +174,7 @@ void DiffEditorWidgetController::patch(bool revert, int fileIndex, int chunkInde
|
|||||||
|
|
||||||
FileChangeBlocker fileChangeBlocker(absFilePath);
|
FileChangeBlocker fileChangeBlocker(absFilePath);
|
||||||
if (PatchTool::runPatch(EditorManager::defaultTextCodec()->fromUnicode(patch),
|
if (PatchTool::runPatch(EditorManager::defaultTextCodec()->fromUnicode(patch),
|
||||||
FilePath::fromString(workingDirectory), strip, revert))
|
workingDirectory, strip, revert))
|
||||||
m_document->reload();
|
m_document->reload();
|
||||||
} else { // PatchEditor
|
} else { // PatchEditor
|
||||||
auto textDocument = qobject_cast<TextEditor::TextDocument *>(
|
auto textDocument = qobject_cast<TextEditor::TextDocument *>(
|
||||||
@@ -217,11 +215,9 @@ void DiffEditorWidgetController::jumpToOriginalFile(const QString &fileName,
|
|||||||
if (!m_document)
|
if (!m_document)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const QDir dir(m_document->baseDirectory());
|
const FilePath filePath = m_document->baseDirectory().resolvePath(fileName);
|
||||||
const QString absoluteFileName = dir.absoluteFilePath(fileName);
|
if (filePath.exists() && !filePath.isDir())
|
||||||
const QFileInfo fi(absoluteFileName);
|
EditorManager::openEditorAt(filePath.toString(), lineNumber, columnNumber);
|
||||||
if (fi.exists() && !fi.isDir())
|
|
||||||
EditorManager::openEditorAt(absoluteFileName, lineNumber, columnNumber);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiffEditorWidgetController::setFontSettings(const FontSettings &fontSettings)
|
void DiffEditorWidgetController::setFontSettings(const FontSettings &fontSettings)
|
||||||
|
@@ -27,8 +27,10 @@
|
|||||||
|
|
||||||
#include "diffeditor_global.h"
|
#include "diffeditor_global.h"
|
||||||
|
|
||||||
#include <QString>
|
#include <utils/filepath.h>
|
||||||
|
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QFutureInterfaceBase;
|
class QFutureInterfaceBase;
|
||||||
|
@@ -329,7 +329,7 @@ void GitBaseDiffEditorController::initialize()
|
|||||||
// we compare the current state of working tree to the HEAD of current branch
|
// we compare the current state of working tree to the HEAD of current branch
|
||||||
// instead of showing unsupported combined diff format.
|
// instead of showing unsupported combined diff format.
|
||||||
GitClient::CommandInProgress commandInProgress =
|
GitClient::CommandInProgress commandInProgress =
|
||||||
m_instance->checkCommandInProgress(FilePath::fromString(workingDirectory()));
|
m_instance->checkCommandInProgress(workingDirectory());
|
||||||
if (commandInProgress != GitClient::NoCommand)
|
if (commandInProgress != GitClient::NoCommand)
|
||||||
m_rightCommit = HEAD;
|
m_rightCommit = HEAD;
|
||||||
}
|
}
|
||||||
@@ -341,11 +341,11 @@ void GitBaseDiffEditorController::updateBranchList()
|
|||||||
if (revision.isEmpty())
|
if (revision.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const QString workingDirectory = baseDirectory();
|
const FilePath workingDirectory = baseDirectory();
|
||||||
VcsCommand *command = m_instance->vcsExec(
|
VcsCommand *command = m_instance->vcsExec(
|
||||||
FilePath::fromString(workingDirectory),
|
workingDirectory,
|
||||||
{"branch", noColorOption, "-a", "--contains", revision}, nullptr,
|
{"branch", noColorOption, "-a", "--contains", revision}, nullptr,
|
||||||
false, 0, workingDirectory);
|
false, 0, workingDirectory.toString());
|
||||||
connect(command, &VcsCommand::stdOutText, this, [this](const QString &text) {
|
connect(command, &VcsCommand::stdOutText, this, [this](const QString &text) {
|
||||||
const QString remotePrefix = "remotes/";
|
const QString remotePrefix = "remotes/";
|
||||||
const QString localPrefix = "<Local>";
|
const QString localPrefix = "<Local>";
|
||||||
@@ -459,7 +459,7 @@ public:
|
|||||||
setReloader([this] {
|
setReloader([this] {
|
||||||
m_state = GettingDescription;
|
m_state = GettingDescription;
|
||||||
const QStringList args = {"show", "-s", noColorOption, showFormatC, m_id};
|
const QStringList args = {"show", "-s", noColorOption, showFormatC, m_id};
|
||||||
runCommand({args}, m_instance->encoding(FilePath::fromString(workingDirectory()), "i18n.commitEncoding"));
|
runCommand({args}, m_instance->encoding(workingDirectory(), "i18n.commitEncoding"));
|
||||||
setStartupFile(VcsBase::source(this->document()));
|
setStartupFile(VcsBase::source(this->document()));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -476,7 +476,7 @@ void ShowController::processCommandOutput(const QString &output)
|
|||||||
{
|
{
|
||||||
QTC_ASSERT(m_state != Idle, return);
|
QTC_ASSERT(m_state != Idle, return);
|
||||||
if (m_state == GettingDescription) {
|
if (m_state == GettingDescription) {
|
||||||
setDescription(m_instance->extendedShowDescription(FilePath::fromString(workingDirectory()), output));
|
setDescription(m_instance->extendedShowDescription(workingDirectory(), output));
|
||||||
// stage 2
|
// stage 2
|
||||||
m_state = GettingDiff;
|
m_state = GettingDiff;
|
||||||
const QStringList args = {"show", "--format=format:", // omit header, already generated
|
const QStringList args = {"show", "--format=format:", // omit header, already generated
|
||||||
@@ -941,11 +941,11 @@ void GitClient::chunkActionsRequested(QMenu *menu, int fileIndex, int chunkIndex
|
|||||||
void GitClient::stage(DiffEditor::DiffEditorController *diffController,
|
void GitClient::stage(DiffEditor::DiffEditorController *diffController,
|
||||||
const QString &patch, bool revert)
|
const QString &patch, bool revert)
|
||||||
{
|
{
|
||||||
Utils::TemporaryFile patchFile("git-patchfile");
|
TemporaryFile patchFile("git-patchfile");
|
||||||
if (!patchFile.open())
|
if (!patchFile.open())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const FilePath baseDir = FilePath::fromString(diffController->baseDirectory());
|
const FilePath baseDir = diffController->baseDirectory();
|
||||||
QTextCodec *codec = EditorManager::defaultTextCodec();
|
QTextCodec *codec = EditorManager::defaultTextCodec();
|
||||||
const QByteArray patchData = codec
|
const QByteArray patchData = codec
|
||||||
? codec->fromUnicode(patch) : patch.toLocal8Bit();
|
? codec->fromUnicode(patch) : patch.toLocal8Bit();
|
||||||
@@ -986,7 +986,7 @@ void GitClient::requestReload(const QString &documentId, const QString &source,
|
|||||||
controller->setVcsBinary(settings().binaryPath.filePath());
|
controller->setVcsBinary(settings().binaryPath.filePath());
|
||||||
controller->setVcsTimeoutS(settings().timeout.value());
|
controller->setVcsTimeoutS(settings().timeout.value());
|
||||||
controller->setProcessEnvironment(processEnvironment());
|
controller->setProcessEnvironment(processEnvironment());
|
||||||
controller->setWorkingDirectory(workingDirectory.toString());
|
controller->setWorkingDirectory(workingDirectory);
|
||||||
controller->initialize();
|
controller->initialize();
|
||||||
|
|
||||||
connect(controller, &DiffEditorController::chunkActionsRequested,
|
connect(controller, &DiffEditorController::chunkActionsRequested,
|
||||||
|
@@ -355,20 +355,20 @@ void MercurialClient::diff(const FilePath &workingDir, const QStringList &files,
|
|||||||
const QString sourceFile = VcsBaseEditor::getSource(workingDir, fileName);
|
const QString sourceFile = VcsBaseEditor::getSource(workingDir, fileName);
|
||||||
const QString documentId = QString(Constants::MERCURIAL_PLUGIN)
|
const QString documentId = QString(Constants::MERCURIAL_PLUGIN)
|
||||||
+ ".DiffRepo." + sourceFile;
|
+ ".DiffRepo." + sourceFile;
|
||||||
requestReload(documentId, sourceFile, title, workingDir.toString(), {"diff"});
|
requestReload(documentId, sourceFile, title, workingDir, {"diff"});
|
||||||
} else if (files.size() == 1) {
|
} else if (files.size() == 1) {
|
||||||
fileName = files.at(0);
|
fileName = files.at(0);
|
||||||
const QString title = tr("Mercurial Diff \"%1\"").arg(fileName);
|
const QString title = tr("Mercurial Diff \"%1\"").arg(fileName);
|
||||||
const QString sourceFile = VcsBaseEditor::getSource(workingDir, fileName);
|
const QString sourceFile = VcsBaseEditor::getSource(workingDir, fileName);
|
||||||
const QString documentId = QString(Constants::MERCURIAL_PLUGIN)
|
const QString documentId = QString(Constants::MERCURIAL_PLUGIN)
|
||||||
+ ".DiffFile." + sourceFile;
|
+ ".DiffFile." + sourceFile;
|
||||||
requestReload(documentId, sourceFile, title, workingDir.toString(), {"diff", fileName});
|
requestReload(documentId, sourceFile, title, workingDir, {"diff", fileName});
|
||||||
} else {
|
} else {
|
||||||
const QString title = tr("Mercurial Diff \"%1\"").arg(workingDir.toString());
|
const QString title = tr("Mercurial Diff \"%1\"").arg(workingDir.toString());
|
||||||
const QString sourceFile = VcsBaseEditor::getSource(workingDir, fileName);
|
const QString sourceFile = VcsBaseEditor::getSource(workingDir, fileName);
|
||||||
const QString documentId = QString(Constants::MERCURIAL_PLUGIN)
|
const QString documentId = QString(Constants::MERCURIAL_PLUGIN)
|
||||||
+ ".DiffFile." + workingDir.toString();
|
+ ".DiffFile." + workingDir.toString();
|
||||||
requestReload(documentId, sourceFile, title, workingDir.toString(), QStringList{"diff"} + files);
|
requestReload(documentId, sourceFile, title, workingDir, QStringList{"diff"} + files);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -455,7 +455,7 @@ MercurialClient::StatusItem MercurialClient::parseStatusLine(const QString &line
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MercurialClient::requestReload(const QString &documentId, const QString &source, const QString &title,
|
void MercurialClient::requestReload(const QString &documentId, const QString &source, const QString &title,
|
||||||
const QString &workingDirectory, const QStringList &args)
|
const FilePath &workingDirectory, const QStringList &args)
|
||||||
{
|
{
|
||||||
// Creating document might change the referenced source. Store a copy and use it.
|
// Creating document might change the referenced source. Store a copy and use it.
|
||||||
const QString sourceCopy = source;
|
const QString sourceCopy = source;
|
||||||
|
@@ -91,7 +91,7 @@ signals:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void requestReload(const QString &documentId, const QString &source, const QString &title,
|
void requestReload(const QString &documentId, const QString &source, const QString &title,
|
||||||
const QString &workingDirectory,
|
const Utils::FilePath &workingDirectory,
|
||||||
const QStringList &args);
|
const QStringList &args);
|
||||||
void parsePullOutput(const QString &output);
|
void parsePullOutput(const QString &output);
|
||||||
};
|
};
|
||||||
|
@@ -260,7 +260,7 @@ void SubversionDiffEditorController::processCommandOutput(const QString &output)
|
|||||||
SubversionDiffEditorController *SubversionClient::findOrCreateDiffEditor(const QString &documentId,
|
SubversionDiffEditorController *SubversionClient::findOrCreateDiffEditor(const QString &documentId,
|
||||||
const QString &source,
|
const QString &source,
|
||||||
const QString &title,
|
const QString &title,
|
||||||
const QString &workingDirectory)
|
const FilePath &workingDirectory)
|
||||||
{
|
{
|
||||||
auto &settings = static_cast<SubversionSettings &>(this->settings());
|
auto &settings = static_cast<SubversionSettings &>(this->settings());
|
||||||
IDocument *document = DiffEditorController::findOrCreateDocument(documentId, title);
|
IDocument *document = DiffEditorController::findOrCreateDocument(documentId, title);
|
||||||
@@ -288,7 +288,7 @@ void SubversionClient::diff(const FilePath &workingDirectory, const QStringList
|
|||||||
const QString title = vcsEditorTitle(vcsCmdString, documentId);
|
const QString title = vcsEditorTitle(vcsCmdString, documentId);
|
||||||
|
|
||||||
SubversionDiffEditorController *controller =
|
SubversionDiffEditorController *controller =
|
||||||
findOrCreateDiffEditor(documentId, workingDirectory.toString(), title, workingDirectory.toString());
|
findOrCreateDiffEditor(documentId, workingDirectory.toString(), title, workingDirectory);
|
||||||
controller->setFilesList(files);
|
controller->setFilesList(files);
|
||||||
controller->requestReload();
|
controller->requestReload();
|
||||||
}
|
}
|
||||||
@@ -319,7 +319,7 @@ void SubversionClient::describe(const FilePath &workingDirectory, int changeNumb
|
|||||||
QString::number(changeNumber));
|
QString::number(changeNumber));
|
||||||
|
|
||||||
SubversionDiffEditorController *controller =
|
SubversionDiffEditorController *controller =
|
||||||
findOrCreateDiffEditor(documentId, workingDirectory.toString(), title, workingDirectory.toString());
|
findOrCreateDiffEditor(documentId, workingDirectory.toString(), title, workingDirectory);
|
||||||
controller->setChangeNumber(changeNumber);
|
controller->setChangeNumber(changeNumber);
|
||||||
controller->requestReload();
|
controller->requestReload();
|
||||||
}
|
}
|
||||||
|
@@ -77,7 +77,7 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
SubversionDiffEditorController *findOrCreateDiffEditor(const QString &documentId, const QString &source,
|
SubversionDiffEditorController *findOrCreateDiffEditor(const QString &documentId, const QString &source,
|
||||||
const QString &title, const QString &workingDirectory);
|
const QString &title, const Utils::FilePath &workingDirectory);
|
||||||
|
|
||||||
mutable Utils::FilePath m_svnVersionBinary;
|
mutable Utils::FilePath m_svnVersionBinary;
|
||||||
mutable QString m_svnVersion;
|
mutable QString m_svnVersion;
|
||||||
|
@@ -95,9 +95,9 @@ public:
|
|||||||
void commandFinished(bool success);
|
void commandFinished(bool success);
|
||||||
|
|
||||||
VcsBaseDiffEditorController *q;
|
VcsBaseDiffEditorController *q;
|
||||||
QString m_directory;
|
FilePath m_directory;
|
||||||
Environment m_processEnvironment;
|
Environment m_processEnvironment;
|
||||||
Utils::FilePath m_vcsBinary;
|
FilePath m_vcsBinary;
|
||||||
int m_vscTimeoutS;
|
int m_vscTimeoutS;
|
||||||
QString m_startupFile;
|
QString m_startupFile;
|
||||||
QString m_output;
|
QString m_output;
|
||||||
@@ -241,7 +241,7 @@ void VcsBaseDiffEditorController::runCommand(const QList<QStringList> &args, uns
|
|||||||
// and "Waiting for data..." will be shown.
|
// and "Waiting for data..." will be shown.
|
||||||
d->cancelReload();
|
d->cancelReload();
|
||||||
|
|
||||||
d->m_command = new VcsCommand(FilePath::fromString(workingDirectory()), d->m_processEnvironment);
|
d->m_command = new VcsCommand(workingDirectory(), d->m_processEnvironment);
|
||||||
d->m_command->setDisplayName(d->m_displayName);
|
d->m_command->setDisplayName(d->m_displayName);
|
||||||
d->m_command->setCodec(codec ? codec : EditorManager::defaultTextCodec());
|
d->m_command->setCodec(codec ? codec : EditorManager::defaultTextCodec());
|
||||||
d->m_commandResultProxy = new VcsCommandResultProxy(d->m_command.data(), d);
|
d->m_commandResultProxy = new VcsCommandResultProxy(d->m_command.data(), d);
|
||||||
@@ -261,7 +261,7 @@ void VcsBaseDiffEditorController::processCommandOutput(const QString &output)
|
|||||||
d->processDiff(output);
|
d->processDiff(output);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString VcsBaseDiffEditorController::workingDirectory() const
|
FilePath VcsBaseDiffEditorController::workingDirectory() const
|
||||||
{
|
{
|
||||||
return d->m_directory;
|
return d->m_directory;
|
||||||
}
|
}
|
||||||
@@ -281,7 +281,7 @@ void VcsBaseDiffEditorController::setDisplayName(const QString &displayName)
|
|||||||
d->m_displayName = displayName;
|
d->m_displayName = displayName;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VcsBase::VcsBaseDiffEditorController::setWorkingDirectory(const QString &workingDir)
|
void VcsBase::VcsBaseDiffEditorController::setWorkingDirectory(const FilePath &workingDir)
|
||||||
{
|
{
|
||||||
d->m_directory = workingDir;
|
d->m_directory = workingDir;
|
||||||
setBaseDirectory(workingDir);
|
setBaseDirectory(workingDir);
|
||||||
|
@@ -55,13 +55,13 @@ public:
|
|||||||
void setProcessEnvironment(const Utils::Environment &value);
|
void setProcessEnvironment(const Utils::Environment &value);
|
||||||
void setVcsBinary(const Utils::FilePath &path);
|
void setVcsBinary(const Utils::FilePath &path);
|
||||||
void setVcsTimeoutS(int value);
|
void setVcsTimeoutS(int value);
|
||||||
void setWorkingDirectory(const QString &workingDir);
|
void setWorkingDirectory(const Utils::FilePath &workingDir);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void runCommand(const QList<QStringList> &args, unsigned flags, QTextCodec *codec = nullptr);
|
void runCommand(const QList<QStringList> &args, unsigned flags, QTextCodec *codec = nullptr);
|
||||||
virtual void processCommandOutput(const QString &output);
|
virtual void processCommandOutput(const QString &output);
|
||||||
|
|
||||||
QString workingDirectory() const;
|
Utils::FilePath workingDirectory() const;
|
||||||
void setStartupFile(const QString &startupFile);
|
void setStartupFile(const QString &startupFile);
|
||||||
QString startupFile() const;
|
QString startupFile() const;
|
||||||
void setDisplayName(const QString &displayName);
|
void setDisplayName(const QString &displayName);
|
||||||
|
Reference in New Issue
Block a user