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