aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/mercurial
diff options
context:
space:
mode:
authorhjk <[email protected]>2021-07-30 16:46:27 +0200
committerhjk <[email protected]>2021-08-02 14:40:33 +0000
commitff57cb548d2c528a42fa2870b2486cddc08acfb7 (patch)
tree0c7f371818d436d79cd3d65fac1c98de4d2391bf /src/plugins/mercurial
parent17f907da9bd73d9b1515cbdd269c93f0061b7071 (diff)
Vcs: Use more FilePath for file paths
Change-Id: I855cde65d034a9647972a7fddf1e8266d7ccfa88 Reviewed-by: Orgad Shaneh <[email protected]>
Diffstat (limited to 'src/plugins/mercurial')
-rw-r--r--src/plugins/mercurial/mercurialclient.cpp96
-rw-r--r--src/plugins/mercurial/mercurialclient.h40
-rw-r--r--src/plugins/mercurial/mercurialeditor.cpp6
-rw-r--r--src/plugins/mercurial/mercurialplugin.cpp33
-rw-r--r--src/plugins/mercurial/srcdestdialog.cpp8
-rw-r--r--src/plugins/mercurial/srcdestdialog.h2
6 files changed, 89 insertions, 96 deletions
diff --git a/src/plugins/mercurial/mercurialclient.cpp b/src/plugins/mercurial/mercurialclient.cpp
index cefe23292c3..8fa54da42f6 100644
--- a/src/plugins/mercurial/mercurialclient.cpp
+++ b/src/plugins/mercurial/mercurialclient.cpp
@@ -91,7 +91,7 @@ MercurialClient::MercurialClient(MercurialSettings *settings) : VcsBaseClient(se
{
}
-bool MercurialClient::manifestSync(const QString &repository, const QString &relativeFilename)
+bool MercurialClient::manifestSync(const FilePath &repository, const QString &relativeFilename)
{
// This only works when called from the repo and outputs paths relative to it.
const QStringList args(QLatin1String("manifest"));
@@ -99,7 +99,7 @@ bool MercurialClient::manifestSync(const QString &repository, const QString &rel
QtcProcess proc;
vcsFullySynchronousExec(proc, repository, args);
- const QDir repositoryDir(repository);
+ const QDir repositoryDir(repository.toString());
const QFileInfo needle = QFileInfo(repositoryDir, relativeFilename);
const QStringList files = proc.stdOut().split(QLatin1Char('\n'));
@@ -112,14 +112,12 @@ bool MercurialClient::manifestSync(const QString &repository, const QString &rel
}
//bool MercurialClient::clone(const QString &directory, const QString &url)
-bool MercurialClient::synchronousClone(const FilePath &workingDir,
+bool MercurialClient::synchronousClone(const FilePath &workingDirectory,
const QString &srcLocation,
const QString &dstLocation,
const QStringList &extraOptions)
{
- Q_UNUSED(workingDir)
Q_UNUSED(extraOptions)
- QDir workingDirectory(srcLocation);
const unsigned flags = VcsCommand::SshPasswordPrompt |
VcsCommand::ShowStdOut |
VcsCommand::ShowSuccessMessage;
@@ -128,7 +126,7 @@ bool MercurialClient::synchronousClone(const FilePath &workingDir,
// Let's make first init
QStringList arguments(QLatin1String("init"));
QtcProcess proc;
- vcsFullySynchronousExec(proc, workingDirectory.path(), arguments);
+ vcsFullySynchronousExec(proc, workingDirectory, arguments);
if (proc.result() != QtcProcess::FinishedWithSuccess)
return false;
@@ -136,12 +134,12 @@ bool MercurialClient::synchronousClone(const FilePath &workingDir,
arguments.clear();
arguments << QLatin1String("pull") << dstLocation;
QtcProcess proc1;
- vcsSynchronousExec(proc1, workingDirectory.path(), arguments, flags);
+ vcsSynchronousExec(proc1, workingDirectory, arguments, flags);
if (proc1.result() != QtcProcess::FinishedWithSuccess)
return false;
// By now, there is no hgrc file -> create it
- FileSaver saver(Utils::FilePath::fromString(workingDirectory.path() + "/.hg/hgrc"));
+ FileSaver saver(workingDirectory.pathAppended(".hg/hgrc"));
const QString hgrc = QLatin1String("[paths]\ndefault = ") + dstLocation + QLatin1Char('\n');
saver.write(hgrc.toUtf8());
if (!saver.finalize()) {
@@ -153,19 +151,18 @@ bool MercurialClient::synchronousClone(const FilePath &workingDir,
arguments.clear();
arguments << QLatin1String("update");
QtcProcess proc2;
- vcsSynchronousExec(proc2, workingDirectory.path(), arguments, flags);
+ vcsSynchronousExec(proc2, workingDirectory, arguments, flags);
return proc2.result() == QtcProcess::FinishedWithSuccess;
} else {
QStringList arguments(QLatin1String("clone"));
- arguments << dstLocation << workingDirectory.dirName();
- workingDirectory.cdUp();
+ arguments << dstLocation << workingDirectory.parentDir().toString();
QtcProcess proc;
- vcsSynchronousExec(proc, workingDirectory.path(), arguments, flags);
+ vcsSynchronousExec(proc, workingDirectory.parentDir(), arguments, flags);
return proc.result() == QtcProcess::FinishedWithSuccess;
}
}
-bool MercurialClient::synchronousPull(const QString &workingDir, const QString &srcLocation, const QStringList &extraOptions)
+bool MercurialClient::synchronousPull(const FilePath &workingDir, const QString &srcLocation, const QStringList &extraOptions)
{
QStringList args;
args << vcsCommandString(PullCommand) << extraOptions << srcLocation;
@@ -202,12 +199,12 @@ QString MercurialClient::branchQuerySync(const QString &repositoryRoot)
return QLatin1String("Unknown Branch");
}
-static inline QString msgParentRevisionFailed(const QString &workingDirectory,
- const QString &revision,
- const QString &why)
+static QString msgParentRevisionFailed(const FilePath &workingDirectory,
+ const QString &revision,
+ const QString &why)
{
return MercurialClient::tr("Unable to find parent revisions of %1 in %2: %3").
- arg(revision, QDir::toNativeSeparators(workingDirectory), why);
+ arg(revision, workingDirectory.toUserOutput(), why);
}
static inline QString msgParseParentsOutputFailed(const QString &output)
@@ -215,9 +212,9 @@ static inline QString msgParseParentsOutputFailed(const QString &output)
return MercurialClient::tr("Cannot parse output: %1").arg(output);
}
-QStringList MercurialClient::parentRevisionsSync(const QString &workingDirectory,
- const QString &file /* = QString() */,
- const QString &revision)
+QStringList MercurialClient::parentRevisionsSync(const FilePath &workingDirectory,
+ const QString &file /* = QString() */,
+ const QString &revision)
{
QStringList parents;
QStringList args;
@@ -258,9 +255,9 @@ user: ...
}
// Describe a change using an optional format
-QString MercurialClient::shortDescriptionSync(const QString &workingDirectory,
- const QString &revision,
- const QString &format)
+QString MercurialClient::shortDescriptionSync(const FilePath &workingDirectory,
+ const QString &revision,
+ const QString &format)
{
QStringList args;
args << QLatin1String("log") << QLatin1String("-r") <<revision;
@@ -277,13 +274,13 @@ QString MercurialClient::shortDescriptionSync(const QString &workingDirectory,
// Default format: "SHA1 (author summmary)"
static const char defaultFormatC[] = "{node} ({author|person} {desc|firstline})";
-QString MercurialClient::shortDescriptionSync(const QString &workingDirectory,
- const QString &revision)
+QString MercurialClient::shortDescriptionSync(const FilePath &workingDirectory,
+ const QString &revision)
{
return shortDescriptionSync(workingDirectory, revision, QLatin1String(defaultFormatC));
}
-bool MercurialClient::managesFile(const QString &workingDirectory, const QString &fileName) const
+bool MercurialClient::managesFile(const FilePath &workingDirectory, const QString &fileName) const
{
QStringList args;
args << QLatin1String("status") << QLatin1String("--unknown") << fileName;
@@ -292,44 +289,43 @@ bool MercurialClient::managesFile(const QString &workingDirectory, const QString
return proc.stdOut().isEmpty();
}
-void MercurialClient::incoming(const QString &repositoryRoot, const QString &repository)
+void MercurialClient::incoming(const FilePath &repositoryRoot, const QString &repository)
{
QStringList args;
args << QLatin1String("incoming") << QLatin1String("-g") << QLatin1String("-p");
if (!repository.isEmpty())
args.append(repository);
- QString id = repositoryRoot;
+ QString id = repositoryRoot.toString();
if (!repository.isEmpty())
id += QLatin1Char('/') + repository;
const QString title = tr("Hg incoming %1").arg(id);
- VcsBaseEditorWidget *editor = createVcsEditor(Constants::DIFFLOG_ID, title, repositoryRoot,
- VcsBaseEditor::getCodec(repositoryRoot),
+ VcsBaseEditorWidget *editor = createVcsEditor(Constants::DIFFLOG_ID, title, repositoryRoot.toString(),
+ VcsBaseEditor::getCodec(repositoryRoot.toString()),
"incoming", id);
- VcsCommand *cmd = createCommand(repository, editor);
+ VcsCommand *cmd = createCommand(FilePath::fromString(repository), editor);
enqueueJob(cmd, args);
}
-void MercurialClient::outgoing(const QString &repositoryRoot)
+void MercurialClient::outgoing(const FilePath &repositoryRoot)
{
QStringList args;
args << QLatin1String("outgoing") << QLatin1String("-g") << QLatin1String("-p");
- const QString title = tr("Hg outgoing %1").
- arg(QDir::toNativeSeparators(repositoryRoot));
+ const QString title = tr("Hg outgoing %1").arg(repositoryRoot.toUserOutput());
- VcsBaseEditorWidget *editor = createVcsEditor(Constants::DIFFLOG_ID, title, repositoryRoot,
- VcsBaseEditor::getCodec(repositoryRoot),
- "outgoing", repositoryRoot);
+ VcsBaseEditorWidget *editor = createVcsEditor(Constants::DIFFLOG_ID, title, repositoryRoot.toString(),
+ VcsBaseEditor::getCodec(repositoryRoot.toString()),
+ "outgoing", repositoryRoot.toString());
VcsCommand *cmd = createCommand(repositoryRoot, editor);
enqueueJob(cmd, args);
}
VcsBaseEditorWidget *MercurialClient::annotate(
- const QString &workingDir, const QString &file, const QString &revision,
+ const FilePath &workingDir, const QString &file, const QString &revision,
int lineNumber, const QStringList &extraOptions)
{
QStringList args(extraOptions);
@@ -337,7 +333,7 @@ VcsBaseEditorWidget *MercurialClient::annotate(
return VcsBaseClient::annotate(workingDir, file, revision, lineNumber, args);
}
-void MercurialClient::commit(const QString &repositoryRoot, const QStringList &files,
+void MercurialClient::commit(const FilePath &repositoryRoot, const QStringList &files,
const QString &commitMessageFile,
const QStringList &extraOptions)
{
@@ -346,7 +342,7 @@ void MercurialClient::commit(const QString &repositoryRoot, const QStringList &f
VcsBaseClient::commit(repositoryRoot, files, commitMessageFile, args);
}
-void MercurialClient::diff(const QString &workingDir, const QStringList &files,
+void MercurialClient::diff(const FilePath &workingDir, const QStringList &files,
const QStringList &extraOptions)
{
Q_UNUSED(extraOptions)
@@ -358,41 +354,41 @@ void MercurialClient::diff(const QString &workingDir, const QStringList &files,
const QString sourceFile = VcsBaseEditor::getSource(workingDir, fileName);
const QString documentId = QString(Constants::MERCURIAL_PLUGIN)
+ ".DiffRepo." + sourceFile;
- requestReload(documentId, sourceFile, title, workingDir, {"diff"});
+ requestReload(documentId, sourceFile, title, workingDir.toString(), {"diff"});
} else if (files.size() == 1) {
fileName = files.at(0);
const QString title = tr("Mercurial Diff \"%1\"").arg(fileName);
const QString sourceFile = VcsBaseEditor::getSource(workingDir, fileName);
const QString documentId = QString(Constants::MERCURIAL_PLUGIN)
+ ".DiffFile." + sourceFile;
- requestReload(documentId, sourceFile, title, workingDir, {"diff", fileName});
+ requestReload(documentId, sourceFile, title, workingDir.toString(), {"diff", fileName});
} else {
- const QString title = tr("Mercurial Diff \"%1\"").arg(workingDir);
+ const QString title = tr("Mercurial Diff \"%1\"").arg(workingDir.toString());
const QString sourceFile = VcsBaseEditor::getSource(workingDir, fileName);
const QString documentId = QString(Constants::MERCURIAL_PLUGIN)
- + ".DiffFile." + workingDir;
- requestReload(documentId, sourceFile, title, workingDir, QStringList{"diff"} + files);
+ + ".DiffFile." + workingDir.toString();
+ requestReload(documentId, sourceFile, title, workingDir.toString(), QStringList{"diff"} + files);
}
}
-void MercurialClient::import(const QString &repositoryRoot, const QStringList &files,
+void MercurialClient::import(const FilePath &repositoryRoot, const QStringList &files,
const QStringList &extraOptions)
{
VcsBaseClient::import(repositoryRoot, files,
QStringList(extraOptions) << QLatin1String("--no-commit"));
}
-void MercurialClient::revertAll(const QString &workingDir, const QString &revision,
+void MercurialClient::revertAll(const FilePath &workingDir, const QString &revision,
const QStringList &extraOptions)
{
VcsBaseClient::revertAll(workingDir, revision,
QStringList(extraOptions) << QLatin1String("--all"));
}
-bool MercurialClient::isVcsDirectory(const FilePath &fileName) const
+bool MercurialClient::isVcsDirectory(const FilePath &filePath) const
{
- return fileName.isDir()
- && !fileName.fileName().compare(Constants::MERCURIALREPO, HostOsInfo::fileNameCaseSensitivity());
+ return filePath.isDir()
+ && !filePath.fileName().compare(Constants::MERCURIALREPO, HostOsInfo::fileNameCaseSensitivity());
}
void MercurialClient::view(const QString &source, const QString &id,
diff --git a/src/plugins/mercurial/mercurialclient.h b/src/plugins/mercurial/mercurialclient.h
index e67853c24ed..7a9bd3dabd0 100644
--- a/src/plugins/mercurial/mercurialclient.h
+++ b/src/plugins/mercurial/mercurialclient.h
@@ -45,36 +45,36 @@ public:
bool synchronousClone(const Utils::FilePath &workingDir,
const QString &srcLocation,
const QString &dstLocation,
- const QStringList &extraOptions = QStringList()) override;
- bool synchronousPull(const QString &workingDir,
+ const QStringList &extraOptions = {}) override;
+ bool synchronousPull(const Utils::FilePath &workingDir,
const QString &srcLocation,
- const QStringList &extraOptions = QStringList()) override;
- bool manifestSync(const QString &repository, const QString &filename);
+ const QStringList &extraOptions = {}) override;
+ bool manifestSync(const Utils::FilePath &repository, const QString &filename);
QString branchQuerySync(const QString &repositoryRoot);
- QStringList parentRevisionsSync(const QString &workingDirectory,
+ QStringList parentRevisionsSync(const Utils::FilePath &workingDirectory,
const QString &file /* = QString() */,
const QString &revision);
- QString shortDescriptionSync(const QString &workingDirectory, const QString &revision,
+ QString shortDescriptionSync(const Utils::FilePath &workingDirectory, const QString &revision,
const QString &format /* = QString() */);
- QString shortDescriptionSync(const QString &workingDirectory, const QString &revision);
- void incoming(const QString &repositoryRoot, const QString &repository = QString());
- void outgoing(const QString &repositoryRoot);
- bool managesFile(const QString &workingDirectory, const QString &fileName) const;
+ QString shortDescriptionSync(const Utils::FilePath &workingDirectory, const QString &revision);
+ void incoming(const Utils::FilePath &repositoryRoot, const QString &repository = {});
+ void outgoing(const Utils::FilePath &repositoryRoot);
+ bool managesFile(const Utils::FilePath &workingDirectory, const QString &fileName) const;
VcsBase::VcsBaseEditorWidget *annotate(
- const QString &workingDir, const QString &file, const QString &revision = QString(),
- int lineNumber = -1, const QStringList &extraOptions = QStringList()) override;
- void commit(const QString &repositoryRoot, const QStringList &files,
+ const Utils::FilePath &workingDir, const QString &file, const QString &revision = {},
+ int lineNumber = -1, const QStringList &extraOptions = {}) override;
+ void commit(const Utils::FilePath &repositoryRoot, const QStringList &files,
const QString &commitMessageFile,
const QStringList &extraOptions = QStringList()) override;
- void diff(const QString &workingDir, const QStringList &files = QStringList(),
- const QStringList &extraOptions = QStringList()) override;
- void import(const QString &repositoryRoot, const QStringList &files,
- const QStringList &extraOptions = QStringList()) override;
- void revertAll(const QString &workingDir, const QString &revision = QString(),
- const QStringList &extraOptions = QStringList()) override;
+ void diff(const Utils::FilePath &workingDir, const QStringList &files = {},
+ const QStringList &extraOptions = {}) override;
+ void import(const Utils::FilePath &repositoryRoot, const QStringList &files,
+ const QStringList &extraOptions = {}) override;
+ void revertAll(const Utils::FilePath &workingDir, const QString &revision = {},
+ const QStringList &extraOptions = {}) override;
- bool isVcsDirectory(const Utils::FilePath &fileName) const;
+ bool isVcsDirectory(const Utils::FilePath &filePath) const;
Utils::FilePath findTopLevelForFile(const Utils::FilePath &file) const override;
void view(const QString &source, const QString &id,
diff --git a/src/plugins/mercurial/mercurialeditor.cpp b/src/plugins/mercurial/mercurialeditor.cpp
index 3523d72efc1..83caff8f74c 100644
--- a/src/plugins/mercurial/mercurialeditor.cpp
+++ b/src/plugins/mercurial/mercurialeditor.cpp
@@ -39,6 +39,8 @@
#include <QFileInfo>
#include <QDebug>
+using namespace Utils;
+
namespace Mercurial {
namespace Internal {
@@ -80,7 +82,7 @@ QString MercurialEditorWidget::decorateVersion(const QString &revision) const
const QFileInfo fi(source());
const QString workingDirectory = fi.absolutePath();
// Format with short summary
- return m_client->shortDescriptionSync(workingDirectory, revision);
+ return m_client->shortDescriptionSync(FilePath::fromString(workingDirectory), revision);
}
QStringList MercurialEditorWidget::annotationPreviousVersions(const QString &revision) const
@@ -88,7 +90,7 @@ QStringList MercurialEditorWidget::annotationPreviousVersions(const QString &rev
const QFileInfo fi(source());
const QString workingDirectory = fi.absolutePath();
// Retrieve parent revisions
- return m_client->parentRevisionsSync(workingDirectory, fi.fileName(), revision);
+ return m_client->parentRevisionsSync(FilePath::fromString(workingDirectory), fi.fileName(), revision);
}
} // namespace Internal
diff --git a/src/plugins/mercurial/mercurialplugin.cpp b/src/plugins/mercurial/mercurialplugin.cpp
index f1ca7dfb64e..12b8cb6a186 100644
--- a/src/plugins/mercurial/mercurialplugin.cpp
+++ b/src/plugins/mercurial/mercurialplugin.cpp
@@ -215,7 +215,7 @@ private:
QAction *m_createRepositoryAction = nullptr;
QAction *m_menuAction = nullptr;
- QString m_submitRepository;
+ FilePath m_submitRepository;
bool m_submitActionTriggered = false;
@@ -657,12 +657,11 @@ void MercurialPluginPrivate::showCommitWidget(const QList<VcsBaseClient::StatusI
this, &MercurialPluginPrivate::diffFromEditorSelected);
commitEditor->setCheckScriptWorkingDirectory(m_submitRepository);
- const QString msg = tr("Commit changes for \"%1\".").
- arg(QDir::toNativeSeparators(m_submitRepository));
+ const QString msg = tr("Commit changes for \"%1\".").arg(m_submitRepository.toUserOutput());
commitEditor->document()->setPreferredDisplayName(msg);
- const QString branch = vcsTopic(FilePath::fromString(m_submitRepository));
- commitEditor->setFields(QFileInfo(m_submitRepository), branch,
+ const QString branch = vcsTopic(m_submitRepository);
+ commitEditor->setFields(QFileInfo(m_submitRepository.toString()), branch,
m_settings.userName.value(),
m_settings.userEmail.value(), status);
}
@@ -762,7 +761,7 @@ bool MercurialPluginPrivate::managesDirectory(const FilePath &filePath, FilePath
bool MercurialPluginPrivate::managesFile(const FilePath &workingDirectory, const QString &fileName) const
{
- return m_client.managesFile(workingDirectory.toString(), fileName);
+ return m_client.managesFile(workingDirectory, fileName);
}
bool MercurialPluginPrivate::isConfigured() const
@@ -800,23 +799,21 @@ bool MercurialPluginPrivate::vcsOpen(const FilePath &filePath)
bool MercurialPluginPrivate::vcsAdd(const FilePath &filePath)
{
- const QFileInfo fi = filePath.toFileInfo();
- return m_client.synchronousAdd(fi.absolutePath(), fi.fileName());
+ return m_client.synchronousAdd(filePath.parentDir(), filePath.fileName());
}
bool MercurialPluginPrivate::vcsDelete(const FilePath &filePath)
{
- const QFileInfo fi = filePath.toFileInfo();
- return m_client.synchronousRemove(fi.absolutePath(), fi.fileName());
+ return m_client.synchronousRemove(filePath.parentDir(), filePath.fileName());
}
bool MercurialPluginPrivate::vcsMove(const FilePath &from, const FilePath &to)
{
const QFileInfo fromInfo = from.toFileInfo();
const QFileInfo toInfo = to.toFileInfo();
- return m_client.synchronousMove(fromInfo.absolutePath(),
- fromInfo.absoluteFilePath(),
- toInfo.absoluteFilePath());
+ return m_client.synchronousMove(from.parentDir(),
+ fromInfo.absoluteFilePath(),
+ toInfo.absoluteFilePath());
}
bool MercurialPluginPrivate::vcsCreateRepository(const FilePath &directory)
@@ -826,8 +823,7 @@ bool MercurialPluginPrivate::vcsCreateRepository(const FilePath &directory)
void MercurialPluginPrivate::vcsAnnotate(const FilePath &filePath, int line)
{
- const QFileInfo fi = filePath.toFileInfo();
- m_client.annotate(fi.absolutePath(), fi.fileName(), QString(), line);
+ m_client.annotate(filePath.parentDir(), filePath.fileName(), QString(), line);
}
Core::ShellCommand *MercurialPluginPrivate::createInitialCheckoutCommand(const QString &url,
@@ -837,8 +833,7 @@ Core::ShellCommand *MercurialPluginPrivate::createInitialCheckoutCommand(const Q
{
QStringList args;
args << QLatin1String("clone") << extraArgs << url << localName;
- auto command = new VcsBase::VcsCommand(baseDirectory.toString(),
- m_client.processEnvironment());
+ auto command = new VcsBase::VcsCommand(baseDirectory, m_client.processEnvironment());
command->addJob({m_settings.binaryPath.filePath(), args}, -1);
return command;
}
@@ -851,14 +846,14 @@ bool MercurialPluginPrivate::sccManaged(const QString &filename)
if (!managed || topLevel.isEmpty())
return false;
const QDir topLevelDir(topLevel.toString());
- return m_client.manifestSync(topLevel.toString(), topLevelDir.relativeFilePath(filename));
+ return m_client.manifestSync(topLevel, topLevelDir.relativeFilePath(filename));
}
void MercurialPluginPrivate::changed(const QVariant &v)
{
switch (v.type()) {
case QVariant::String:
- emit repositoryChanged(v.toString());
+ emit repositoryChanged(FilePath::fromVariant(v));
break;
case QVariant::StringList:
emit filesChanged(v.toStringList());
diff --git a/src/plugins/mercurial/srcdestdialog.cpp b/src/plugins/mercurial/srcdestdialog.cpp
index 34d93391104..5d2352f0911 100644
--- a/src/plugins/mercurial/srcdestdialog.cpp
+++ b/src/plugins/mercurial/srcdestdialog.cpp
@@ -90,16 +90,16 @@ QString SrcDestDialog::getRepositoryString() const
return m_ui->urlLineEdit->text();
}
-QString SrcDestDialog::workingDir() const
+Utils::FilePath SrcDestDialog::workingDir() const
{
- return m_workingdir;
+ return Utils::FilePath::fromString(m_workingdir);
}
QUrl SrcDestDialog::getRepoUrl() const
{
// Repo to use: Default to the project repo, but use the current
- const QString projectLoc = m_state.currentProjectPath();
- const QString fileLoc = m_state.currentFileTopLevel();
+ const QString projectLoc = m_state.currentProjectPath().toString();
+ const QString fileLoc = m_state.currentFileTopLevel().toString();
m_workingdir = projectLoc;
if (!fileLoc.isEmpty())
m_workingdir = fileLoc;
diff --git a/src/plugins/mercurial/srcdestdialog.h b/src/plugins/mercurial/srcdestdialog.h
index 05506f2783c..84a2a898b6b 100644
--- a/src/plugins/mercurial/srcdestdialog.h
+++ b/src/plugins/mercurial/srcdestdialog.h
@@ -45,7 +45,7 @@ public:
void setPathChooserKind(Utils::PathChooser::Kind kind);
QString getRepositoryString() const;
- QString workingDir() const;
+ Utils::FilePath workingDir() const;
private:
QUrl getRepoUrl() const;