forked from qt-creator/qt-creator
Core: Use FilePath for ExternalTool working directory
Change-Id: Ifd295c3bd07b79f146b84fc27c117f42ba9b793f Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -582,7 +582,7 @@ void ExternalToolConfig::updateItem(const QModelIndex &index)
|
||||
executables << m_ui.executable->rawPath();
|
||||
tool->setExecutables(executables);
|
||||
tool->setArguments(m_ui.arguments->text());
|
||||
tool->setWorkingDirectory(m_ui.workingDirectory->rawPath());
|
||||
tool->setWorkingDirectory(m_ui.workingDirectory->rawFilePath());
|
||||
tool->setBaseEnvironmentProviderId(Id::fromSetting(m_ui.baseEnvironment->currentData()));
|
||||
tool->setEnvironmentUserChanges(m_environment);
|
||||
tool->setOutputHandling(ExternalTool::OutputHandling(m_ui.outputBehavior->currentIndex()));
|
||||
@@ -610,7 +610,7 @@ void ExternalToolConfig::showInfoForItem(const QModelIndex &index)
|
||||
m_ui.executable->setPath(tool->executables().isEmpty() ? QString()
|
||||
: tool->executables().constFirst());
|
||||
m_ui.arguments->setText(tool->arguments());
|
||||
m_ui.workingDirectory->setPath(tool->workingDirectory());
|
||||
m_ui.workingDirectory->setFilePath(tool->workingDirectory());
|
||||
m_ui.outputBehavior->setCurrentIndex(int(tool->outputHandling()));
|
||||
m_ui.errorOutputBehavior->setCurrentIndex(int(tool->errorHandling()));
|
||||
m_ui.modifiesDocumentCheckbox->setChecked(tool->modifiesCurrentDocument());
|
||||
|
@@ -169,7 +169,7 @@ QString ExternalTool::input() const
|
||||
return m_input;
|
||||
}
|
||||
|
||||
QString ExternalTool::workingDirectory() const
|
||||
FilePath ExternalTool::workingDirectory() const
|
||||
{
|
||||
return m_workingDirectory;
|
||||
}
|
||||
@@ -287,7 +287,7 @@ void ExternalTool::setInput(const QString &input)
|
||||
}
|
||||
|
||||
|
||||
void ExternalTool::setWorkingDirectory(const QString &workingDirectory)
|
||||
void ExternalTool::setWorkingDirectory(const FilePath &workingDirectory)
|
||||
{
|
||||
m_workingDirectory = workingDirectory;
|
||||
}
|
||||
@@ -435,7 +435,7 @@ ExternalTool * ExternalTool::createFromXml(const QByteArray &xml, QString *error
|
||||
reader.raiseError("only one <workingdirectory> element allowed");
|
||||
break;
|
||||
}
|
||||
tool->m_workingDirectory = reader.readElementText();
|
||||
tool->m_workingDirectory = FilePath::fromString(reader.readElementText());
|
||||
} else if (reader.name() == QLatin1String(kBaseEnvironmentId)) {
|
||||
if (tool->m_baseEnvironmentProviderId.isValid()) {
|
||||
reader.raiseError("only one <baseEnvironmentId> element allowed");
|
||||
@@ -526,7 +526,7 @@ bool ExternalTool::save(QString *errorMessage) const
|
||||
if (!m_input.isEmpty())
|
||||
out.writeTextElement(kInput, m_input);
|
||||
if (!m_workingDirectory.isEmpty())
|
||||
out.writeTextElement(kWorkingDirectory, m_workingDirectory);
|
||||
out.writeTextElement(kWorkingDirectory, m_workingDirectory.toString());
|
||||
if (m_baseEnvironmentProviderId.isValid())
|
||||
out.writeTextElement(kBaseEnvironmentId, m_baseEnvironmentProviderId.toString());
|
||||
if (!m_environment.isEmpty()) {
|
||||
|
@@ -67,7 +67,7 @@ public:
|
||||
QStringList executables() const;
|
||||
QString arguments() const;
|
||||
QString input() const;
|
||||
QString workingDirectory() const;
|
||||
Utils::FilePath workingDirectory() const;
|
||||
Utils::Id baseEnvironmentProviderId() const;
|
||||
Utils::Environment baseEnvironment() const;
|
||||
Utils::EnvironmentItems environmentUserChanges() const;
|
||||
@@ -98,7 +98,7 @@ public:
|
||||
void setExecutables(const QStringList &executables);
|
||||
void setArguments(const QString &arguments);
|
||||
void setInput(const QString &input);
|
||||
void setWorkingDirectory(const QString &workingDirectory);
|
||||
void setWorkingDirectory(const Utils::FilePath &workingDirectory);
|
||||
void setBaseEnvironmentProviderId(Utils::Id id);
|
||||
void setEnvironmentUserChanges(const Utils::EnvironmentItems &items);
|
||||
|
||||
@@ -111,7 +111,7 @@ private:
|
||||
QStringList m_executables;
|
||||
QString m_arguments;
|
||||
QString m_input;
|
||||
QString m_workingDirectory;
|
||||
Utils::FilePath m_workingDirectory;
|
||||
Utils::Id m_baseEnvironmentProviderId;
|
||||
Utils::EnvironmentItems m_environment;
|
||||
OutputHandling m_outputHandling = ShowInPane;
|
||||
@@ -146,7 +146,7 @@ private:
|
||||
Utils::FilePath m_resolvedExecutable;
|
||||
QString m_resolvedArguments;
|
||||
QString m_resolvedInput;
|
||||
QString m_resolvedWorkingDirectory;
|
||||
Utils::FilePath m_resolvedWorkingDirectory;
|
||||
Utils::Environment m_resolvedEnvironment;
|
||||
Utils::QtcProcess *m_process;
|
||||
QTextCodec *m_outputCodec;
|
||||
|
@@ -29,6 +29,7 @@
|
||||
#include <coreplugin/externaltool.h>
|
||||
|
||||
using namespace Core::Internal;
|
||||
using namespace Utils;
|
||||
|
||||
static const char TEST_XML1[] =
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
|
||||
@@ -124,7 +125,7 @@ void ExternaltoolTest::testRead1()
|
||||
QCOMPARE(tool->executables().at(1), QString::fromLatin1("lupdate"));
|
||||
QCOMPARE(tool->arguments(), QString::fromLatin1("%{CurrentProjectFilePath}"));
|
||||
QCOMPARE(tool->input(), QString());
|
||||
QCOMPARE(tool->workingDirectory(), QString::fromLatin1("%{CurrentProjectPath}"));
|
||||
QCOMPARE(tool->workingDirectory(), FilePath::fromString("%{CurrentProjectPath}"));
|
||||
QCOMPARE(tool->outputHandling(), ExternalTool::ShowInPane);
|
||||
QCOMPARE(tool->errorHandling(), ExternalTool::Ignore);
|
||||
delete tool;
|
||||
@@ -145,7 +146,7 @@ void ExternaltoolTest::testRead2()
|
||||
QCOMPARE(tool->executables().at(0), QString::fromLatin1("sort"));
|
||||
QCOMPARE(tool->arguments(), QString());
|
||||
QCOMPARE(tool->input(), QString::fromLatin1("%{CurrentSelection}"));
|
||||
QCOMPARE(tool->workingDirectory(), QString::fromLatin1("%{CurrentPath}"));
|
||||
QCOMPARE(tool->workingDirectory(), FilePath::fromString("%{CurrentPath}"));
|
||||
QCOMPARE(tool->outputHandling(), ExternalTool::ReplaceSelection);
|
||||
QCOMPARE(tool->errorHandling(), ExternalTool::ShowInPane);
|
||||
delete tool;
|
||||
@@ -166,7 +167,7 @@ void ExternaltoolTest::testRead3()
|
||||
QCOMPARE(tool->executables().at(0), QString::fromLatin1("xterm"));
|
||||
QVERIFY(tool->arguments().startsWith(QLatin1String("-geom %{")));
|
||||
QCOMPARE(tool->input(), QString());
|
||||
QCOMPARE(tool->workingDirectory(), QString::fromLatin1("%{CurrentPath}"));
|
||||
QCOMPARE(tool->workingDirectory(), FilePath::fromString("%{CurrentPath}"));
|
||||
QCOMPARE(tool->outputHandling(), ExternalTool::ShowInPane);
|
||||
QCOMPARE(tool->modifiesCurrentDocument(), true);
|
||||
QCOMPARE(tool->errorHandling(), ExternalTool::ShowInPane);
|
||||
|
Reference in New Issue
Block a user