forked from qt-creator/qt-creator
ProjectExplorer: Display build configuration specific variables again
Continues d308b86847
.
Task-number: QTCREATORBUG-31614
Change-Id: I408d96ccd6854b7bb62e13252c00ed3a29788b4c
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -69,6 +69,24 @@ class Internal::BaseAspectPrivate
|
||||
public:
|
||||
explicit BaseAspectPrivate(AspectContainer *container) : m_container(container) {}
|
||||
|
||||
MacroExpander *macroExpander()
|
||||
{
|
||||
if (!m_expander) {
|
||||
m_expander = std::make_unique<MacroExpander>();
|
||||
m_expander->setDisplayName("Variables");
|
||||
if (m_container)
|
||||
m_expander->registerSubProvider([this] { return m_container->macroExpander(); });
|
||||
}
|
||||
return m_expander.get();
|
||||
}
|
||||
|
||||
void setContainer(AspectContainer *container)
|
||||
{
|
||||
m_container = container;
|
||||
if (m_expander)
|
||||
m_expander->registerSubProvider([this] { return m_container->macroExpander(); });
|
||||
}
|
||||
|
||||
Id m_id;
|
||||
std::function<QVariant(const QVariant &)> m_toSettings;
|
||||
std::function<QVariant(const QVariant &)> m_fromSettings;
|
||||
@@ -96,8 +114,10 @@ public:
|
||||
BaseAspect::DataCloner m_dataCloner;
|
||||
QList<BaseAspect::DataExtractor> m_dataExtractors;
|
||||
|
||||
MacroExpander *m_expander = globalMacroExpander();
|
||||
QUndoStack *m_undoStack = nullptr;
|
||||
|
||||
private:
|
||||
std::unique_ptr<MacroExpander> m_expander;
|
||||
};
|
||||
|
||||
/*!
|
||||
@@ -649,6 +669,11 @@ void BaseAspect::forEachSubWidget(const std::function<void(QWidget *)> &func)
|
||||
func(w);
|
||||
}
|
||||
|
||||
void BaseAspect::setContainer(AspectContainer *container)
|
||||
{
|
||||
d->setContainer(container);
|
||||
}
|
||||
|
||||
void BaseAspect::saveToMap(Store &data, const QVariant &value,
|
||||
const QVariant &defaultValue, const Key &key)
|
||||
{
|
||||
@@ -741,12 +766,14 @@ QVariant BaseAspect::fromSettingsValue(const QVariant &val) const
|
||||
|
||||
void BaseAspect::setMacroExpander(MacroExpander *expander)
|
||||
{
|
||||
d->m_expander = expander;
|
||||
d->macroExpander()->clearSubProviders();
|
||||
if (expander)
|
||||
d->macroExpander()->registerSubProvider([expander] { return expander; });
|
||||
}
|
||||
|
||||
MacroExpander *BaseAspect::macroExpander() const
|
||||
{
|
||||
return d->m_expander;
|
||||
return d->macroExpander();
|
||||
}
|
||||
|
||||
void BaseAspect::addOnChanged(QObject *guard, const Callback &callback)
|
||||
@@ -781,15 +808,11 @@ void BaseAspect::addOnLabelPixmapChanged(QObject *guard, const Callback &callbac
|
||||
|
||||
void BaseAspect::addMacroExpansion(QWidget *w)
|
||||
{
|
||||
if (!d->m_expander)
|
||||
return;
|
||||
const auto chooser = new VariableChooser(w);
|
||||
chooser->addSupportedWidget(w);
|
||||
if (d->m_expander == globalMacroExpander()) // default for VariableChooser()
|
||||
return;
|
||||
chooser->addMacroExpanderProvider([this] { return d->m_expander; });
|
||||
chooser->addMacroExpanderProvider([this] { return d->macroExpander(); });
|
||||
if (auto pathChooser = qobject_cast<PathChooser *>(w))
|
||||
pathChooser->setMacroExpander(d->m_expander);
|
||||
pathChooser->setMacroExpander(d->macroExpander());
|
||||
}
|
||||
|
||||
namespace Internal {
|
||||
@@ -3169,6 +3192,7 @@ void AspectContainer::addToLayoutImpl(Layouting::Layout &parent)
|
||||
*/
|
||||
void AspectContainer::registerAspect(BaseAspect *aspect, bool takeOwnership)
|
||||
{
|
||||
aspect->setContainer(this);
|
||||
aspect->setAutoApply(isAutoApply());
|
||||
aspect->setEnabled(isEnabled());
|
||||
d->m_items.append(aspect);
|
||||
@@ -3333,14 +3357,6 @@ void AspectContainer::setEnabled(bool enabled)
|
||||
aspect->setEnabled(enabled);
|
||||
}
|
||||
|
||||
void AspectContainer::setMacroExpander(MacroExpander *expander)
|
||||
{
|
||||
BaseAspect::setMacroExpander(expander);
|
||||
|
||||
for (BaseAspect *aspect : std::as_const(d->m_items))
|
||||
aspect->setMacroExpander(expander);
|
||||
}
|
||||
|
||||
bool AspectContainer::equals(const AspectContainer &other) const
|
||||
{
|
||||
// FIXME: Expensive, but should not really be needed in a fully aspectified world.
|
||||
|
@@ -286,8 +286,11 @@ protected:
|
||||
}
|
||||
|
||||
private:
|
||||
std::unique_ptr<Internal::BaseAspectPrivate> d;
|
||||
friend class Internal::CheckableAspectImplementation;
|
||||
friend class AspectContainer;
|
||||
void setContainer(AspectContainer *container);
|
||||
|
||||
std::unique_ptr<Internal::BaseAspectPrivate> d;
|
||||
};
|
||||
|
||||
QTCREATOR_UTILS_EXPORT void addToLayout(Layouting::Layout *layout, const BaseAspect *aspect);
|
||||
@@ -999,8 +1002,6 @@ public:
|
||||
void setUndoStack(QUndoStack *undoStack) override;
|
||||
void setEnabled(bool enabled) override;
|
||||
|
||||
void setMacroExpander(MacroExpander *expander);
|
||||
|
||||
template <typename T> T *aspect() const
|
||||
{
|
||||
for (BaseAspect *aspect : aspects())
|
||||
|
@@ -481,6 +481,11 @@ void MacroExpander::registerSubProvider(const MacroExpanderProvider &provider)
|
||||
d->m_subProviders.append(provider);
|
||||
}
|
||||
|
||||
void MacroExpander::clearSubProviders()
|
||||
{
|
||||
d->m_subProviders.clear();
|
||||
}
|
||||
|
||||
bool MacroExpander::isAccumulating() const
|
||||
{
|
||||
return d->m_accumulating;
|
||||
|
@@ -23,7 +23,7 @@ class QTCREATOR_UTILS_EXPORT MacroExpander
|
||||
Q_DISABLE_COPY(MacroExpander)
|
||||
|
||||
public:
|
||||
explicit MacroExpander();
|
||||
MacroExpander();
|
||||
~MacroExpander();
|
||||
|
||||
bool resolveMacro(const QString &name, QString *ret) const;
|
||||
@@ -69,6 +69,7 @@ public:
|
||||
void setDisplayName(const QString &displayName);
|
||||
|
||||
void registerSubProvider(const MacroExpanderProvider &provider);
|
||||
void clearSubProviders();
|
||||
|
||||
bool isAccumulating() const;
|
||||
void setAccumulating(bool on);
|
||||
|
@@ -53,7 +53,6 @@ public:
|
||||
{
|
||||
environment.addSupportedBaseEnvironment(Tr::tr("Clean Environment"), {});
|
||||
|
||||
extraAppArgs.setMacroExpander(macroExpander());
|
||||
extraAppArgs.addOnChanged(this, [this, target] {
|
||||
if (target->buildConfigurations().first()->buildType() == BuildConfiguration::BuildType::Release) {
|
||||
const QString buildKey = target->activeBuildKey();
|
||||
|
@@ -562,7 +562,6 @@ public:
|
||||
&m_localPath,
|
||||
noMargin};
|
||||
});
|
||||
setMacroExpander(nullptr);
|
||||
}
|
||||
|
||||
void updateContent(const PathMapping &mapping)
|
||||
|
@@ -30,10 +30,6 @@ public:
|
||||
executable.setDeviceSelector(target, ExecutableAspect::RunDevice);
|
||||
executable.setPlaceHolderText(Tr::tr("Unknown"));
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
workingDir.setMacroExpander(macroExpander());
|
||||
|
||||
setUpdater([this] {
|
||||
const BuildTargetInfo bti = buildTargetInfo();
|
||||
executable.setExecutable(bti.targetFilePath);
|
||||
@@ -60,10 +56,6 @@ public:
|
||||
executable.setHistoryCompleter("BareMetal.CustomRunConfig.History");
|
||||
executable.setExpectedKind(PathChooser::Any);
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
workingDir.setMacroExpander(macroExpander());
|
||||
|
||||
setDefaultDisplayName(RunConfigurationFactory::decoratedTargetName(
|
||||
Tr::tr("Custom Executable"), target));
|
||||
setUsesEmptyBuildKeys();
|
||||
|
@@ -47,9 +47,6 @@ public:
|
||||
|
||||
environment.setDeviceSelector(target, EnvironmentAspect::RunDevice);
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
workingDir.setMacroExpander(macroExpander());
|
||||
workingDir.setEnvironment(&environment);
|
||||
|
||||
fullCommand.setLabelText(Tr::tr("Full command line:"));
|
||||
|
@@ -37,9 +37,6 @@ public:
|
||||
executable.setSettingsKey("Haskell.Executable");
|
||||
executable.setLabelText(Tr::tr("Executable"));
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
workingDir.setMacroExpander(macroExpander());
|
||||
workingDir.setEnvironment(&environment);
|
||||
workingDir.setDefaultWorkingDirectory(project()->projectDirectory());
|
||||
workingDir.setVisible(false);
|
||||
|
@@ -64,8 +64,6 @@ IosRunConfiguration::IosRunConfiguration(Target *target, Id id)
|
||||
{
|
||||
executable.setDeviceSelector(target, ExecutableAspect::RunDevice);
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
setUpdater([this, target] {
|
||||
IDevice::ConstPtr dev = DeviceKitAspect::device(target->kit());
|
||||
const QString devName = dev ? dev->displayName() : IosDevice::name();
|
||||
|
@@ -31,9 +31,6 @@ public:
|
||||
|
||||
executable.setDeviceSelector(target, ExecutableAspect::RunDevice);
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
workingDir.setMacroExpander(macroExpander());
|
||||
workingDir.setEnvironment(&environment);
|
||||
|
||||
connect(&useLibraryPaths, &BaseAspect::changed,
|
||||
|
@@ -24,7 +24,6 @@ public:
|
||||
NimbleBuildStep(BuildStepList *parentList, Id id)
|
||||
: AbstractProcessStep(parentList, id)
|
||||
{
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
arguments.setSettingsKey(Constants::C_NIMBLEBUILDSTEP_ARGUMENTS);
|
||||
arguments.setResetter([this] { return defaultArguments(); });
|
||||
arguments.setArguments(defaultArguments());
|
||||
|
@@ -28,10 +28,6 @@ public:
|
||||
|
||||
executable.setDeviceSelector(target, ExecutableAspect::RunDevice);
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
workingDir.setMacroExpander(macroExpander());
|
||||
|
||||
setUpdater([this] {
|
||||
BuildTargetInfo bti = buildTargetInfo();
|
||||
setDisplayName(bti.displayName);
|
||||
@@ -74,10 +70,8 @@ public:
|
||||
executable.setDeviceSelector(target, ExecutableAspect::BuildDevice);
|
||||
executable.setExecutable(Nim::nimblePathFromKit(kit()));
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
arguments.setArguments("test");
|
||||
|
||||
workingDir.setMacroExpander(macroExpander());
|
||||
workingDir.setDefaultWorkingDirectory(project()->projectDirectory());
|
||||
}
|
||||
|
||||
|
@@ -30,10 +30,6 @@ public:
|
||||
|
||||
executable.setDeviceSelector(target, ExecutableAspect::RunDevice);
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
workingDir.setMacroExpander(macroExpander());
|
||||
|
||||
setDisplayName(Tr::tr("Current Build Target"));
|
||||
setDefaultDisplayName(Tr::tr("Current Build Target"));
|
||||
|
||||
|
@@ -146,7 +146,6 @@ public:
|
||||
bool m_configWidgetHasFrame = false;
|
||||
QList<Utils::Id> m_initialBuildSteps;
|
||||
QList<Utils::Id> m_initialCleanSteps;
|
||||
Utils::MacroExpander m_macroExpander;
|
||||
bool m_parseStdOut = false;
|
||||
QList<Utils::Id> m_customParsers;
|
||||
|
||||
@@ -288,11 +287,6 @@ void BuildConfiguration::doInitialize(const BuildInfo &info)
|
||||
d->m_initializer(info);
|
||||
}
|
||||
|
||||
MacroExpander *BuildConfiguration::macroExpander() const
|
||||
{
|
||||
return &d->m_macroExpander;
|
||||
}
|
||||
|
||||
bool BuildConfiguration::createBuildDirectory()
|
||||
{
|
||||
const bool result = bool(buildDirectory().ensureWritableDir());
|
||||
|
@@ -111,8 +111,6 @@ public:
|
||||
|
||||
void doInitialize(const BuildInfo &info);
|
||||
|
||||
Utils::MacroExpander *macroExpander() const;
|
||||
|
||||
bool createBuildDirectory();
|
||||
|
||||
signals:
|
||||
|
@@ -15,6 +15,7 @@
|
||||
|
||||
#include <utils/fileinprojectfinder.h>
|
||||
#include <utils/layoutbuilder.h>
|
||||
#include <utils/macroexpander.h>
|
||||
#include <utils/outputformatter.h>
|
||||
#include <utils/variablechooser.h>
|
||||
|
||||
@@ -85,10 +86,8 @@ BuildStep::BuildStep(BuildStepList *bsl, Id id)
|
||||
: ProjectConfiguration(bsl->target(), id)
|
||||
, m_stepList(bsl)
|
||||
{
|
||||
if (auto bc = buildConfiguration())
|
||||
setMacroExpander(bc->macroExpander());
|
||||
|
||||
connect(this, &ProjectConfiguration::displayNameChanged, this, &BuildStep::updateSummary);
|
||||
macroExpander()->registerSubProvider([bsl] { return bsl->projectConfiguration()->macroExpander(); });
|
||||
}
|
||||
|
||||
QWidget *BuildStep::doCreateConfigWidget()
|
||||
|
@@ -32,9 +32,6 @@ CustomExecutableRunConfiguration::CustomExecutableRunConfiguration(Target *targe
|
||||
executable.setExpectedKind(PathChooser::ExistingCommand);
|
||||
executable.setEnvironment(environment.environment());
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
workingDir.setMacroExpander(macroExpander());
|
||||
workingDir.setEnvironment(&environment);
|
||||
|
||||
connect(&environment, &EnvironmentAspect::environmentChanged, this, [this] {
|
||||
|
@@ -32,9 +32,6 @@ protected:
|
||||
|
||||
executable.setDeviceSelector(target, ExecutableAspect::RunDevice);
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
workingDir.setMacroExpander(macroExpander());
|
||||
workingDir.setEnvironment(&environment);
|
||||
|
||||
connect(&useLibraryPaths, &UseLibraryPathsAspect::changed,
|
||||
|
@@ -148,28 +148,27 @@ RunConfiguration::RunConfiguration(Target *target, Utils::Id id)
|
||||
forceDisplayNameSerialization();
|
||||
connect(target, &Target::parsingFinished, this, &RunConfiguration::update);
|
||||
|
||||
setMacroExpander(&m_expander);
|
||||
|
||||
m_expander.setDisplayName(Tr::tr("Run Settings"));
|
||||
m_expander.setAccumulating(true);
|
||||
m_expander.registerSubProvider([target] {
|
||||
MacroExpander &expander = *macroExpander();
|
||||
expander.setDisplayName(Tr::tr("Run Settings"));
|
||||
expander.setAccumulating(true);
|
||||
expander.registerSubProvider([target] {
|
||||
BuildConfiguration *bc = target->activeBuildConfiguration();
|
||||
return bc ? bc->macroExpander() : target->macroExpander();
|
||||
});
|
||||
m_expander.registerPrefix("RunConfig:Env", Tr::tr("Variables in the run environment."),
|
||||
expander.registerPrefix("RunConfig:Env", Tr::tr("Variables in the run environment."),
|
||||
[this](const QString &var) {
|
||||
const auto envAspect = aspect<EnvironmentAspect>();
|
||||
return envAspect ? envAspect->environment().expandedValueForKey(var) : QString();
|
||||
});
|
||||
m_expander.registerVariable("RunConfig:WorkingDir",
|
||||
expander.registerVariable("RunConfig:WorkingDir",
|
||||
Tr::tr("The run configuration's working directory."),
|
||||
[this] {
|
||||
const auto wdAspect = aspect<WorkingDirectoryAspect>();
|
||||
return wdAspect ? wdAspect->workingDirectory().toString() : QString();
|
||||
});
|
||||
m_expander.registerVariable("RunConfig:Name", Tr::tr("The run configuration's name."),
|
||||
expander.registerVariable("RunConfig:Name", Tr::tr("The run configuration's name."),
|
||||
[this] { return displayName(); });
|
||||
m_expander.registerFileVariables("RunConfig:Executable",
|
||||
expander.registerFileVariables("RunConfig:Executable",
|
||||
Tr::tr("The run configuration's executable."),
|
||||
[this] { return commandLine().executable(); });
|
||||
|
||||
@@ -222,7 +221,7 @@ QWidget *RunConfiguration::createConfigurationWidget()
|
||||
}
|
||||
auto widget = form.emerge();
|
||||
|
||||
VariableChooser::addSupportForChildWidgets(widget, &m_expander);
|
||||
VariableChooser::addSupportForChildWidgets(widget, macroExpander());
|
||||
|
||||
auto detailsWidget = new Utils::DetailsWidget;
|
||||
detailsWidget->setState(DetailsWidget::NoSummary);
|
||||
|
@@ -203,7 +203,6 @@ private:
|
||||
CommandLineGetter m_commandLineGetter;
|
||||
RunnableModifier m_runnableModifier;
|
||||
Updater m_updater;
|
||||
Utils::MacroExpander m_expander;
|
||||
Utils::Store m_pristineState;
|
||||
bool m_customized = false;
|
||||
bool m_usesEmptyBuildKeys = false;
|
||||
|
@@ -320,11 +320,6 @@ ArgumentsAspect::ArgumentsAspect(AspectContainer *container)
|
||||
addDataExtractor(this, &ArgumentsAspect::arguments, &Data::arguments);
|
||||
}
|
||||
|
||||
void ArgumentsAspect::setMacroExpander(const MacroExpander *expander)
|
||||
{
|
||||
m_macroExpander = expander;
|
||||
}
|
||||
|
||||
/*!
|
||||
Returns the main value of this aspect.
|
||||
|
||||
@@ -332,12 +327,11 @@ void ArgumentsAspect::setMacroExpander(const MacroExpander *expander)
|
||||
*/
|
||||
QString ArgumentsAspect::arguments() const
|
||||
{
|
||||
QTC_ASSERT(m_macroExpander, return m_arguments);
|
||||
if (m_currentlyExpanding)
|
||||
return m_arguments;
|
||||
|
||||
m_currentlyExpanding = true;
|
||||
const QString expanded = m_macroExpander->expandProcessArgs(m_arguments);
|
||||
const QString expanded = macroExpander()->expandProcessArgs(m_arguments);
|
||||
m_currentlyExpanding = false;
|
||||
return expanded;
|
||||
}
|
||||
@@ -969,15 +963,9 @@ X11ForwardingAspect::X11ForwardingAspect(AspectContainer *container)
|
||||
addDataExtractor(this, &X11ForwardingAspect::display, &Data::display);
|
||||
}
|
||||
|
||||
void X11ForwardingAspect::setMacroExpander(const MacroExpander *expander)
|
||||
{
|
||||
m_macroExpander = expander;
|
||||
}
|
||||
|
||||
QString X11ForwardingAspect::display() const
|
||||
{
|
||||
QTC_ASSERT(m_macroExpander, return value());
|
||||
return !isChecked() ? QString() : m_macroExpander->expandProcessArgs(value());
|
||||
return !isChecked() ? QString() : macroExpander()->expandProcessArgs(value());
|
||||
}
|
||||
|
||||
|
||||
|
@@ -100,7 +100,6 @@ public:
|
||||
void setArguments(const QString &arguments);
|
||||
void setResetter(const std::function<QString()> &resetter);
|
||||
void resetArguments();
|
||||
void setMacroExpander(const Utils::MacroExpander *macroExpander);
|
||||
|
||||
struct Data : BaseAspect::Data
|
||||
{
|
||||
@@ -121,7 +120,6 @@ private:
|
||||
bool m_multiLine = false;
|
||||
mutable bool m_currentlyExpanding = false;
|
||||
std::function<QString()> m_resetter;
|
||||
const Utils::MacroExpander *m_macroExpander = nullptr;
|
||||
};
|
||||
|
||||
class PROJECTEXPLORER_EXPORT UseLibraryPathsAspect : public Utils::BoolAspect
|
||||
@@ -268,14 +266,9 @@ class PROJECTEXPLORER_EXPORT X11ForwardingAspect : public Utils::StringAspect
|
||||
public:
|
||||
X11ForwardingAspect(Utils::AspectContainer *container = nullptr);
|
||||
|
||||
void setMacroExpander(const Utils::MacroExpander *macroExpander);
|
||||
|
||||
struct Data : StringAspect::Data { QString display; };
|
||||
|
||||
QString display() const;
|
||||
|
||||
private:
|
||||
const Utils::MacroExpander *m_macroExpander;
|
||||
};
|
||||
|
||||
} // namespace ProjectExplorer
|
||||
|
@@ -119,11 +119,6 @@ public:
|
||||
|
||||
environment.setSupportForBuildEnvironment(target);
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
workingDir.setMacroExpander(macroExpander());
|
||||
|
||||
x11Forwarding.setMacroExpander(macroExpander());
|
||||
x11Forwarding.setVisible(HostOsInfo::isAnyUnixHost());
|
||||
|
||||
interpreter.setLabelText(Tr::tr("Python:"));
|
||||
|
@@ -518,9 +518,9 @@ QbsBuildStepConfigWidget::QbsBuildStepConfigWidget(QbsBuildStep *step)
|
||||
defaultInstallDirCheckBox->setText(QbsProjectManager::Tr::tr("Use default location"));
|
||||
|
||||
auto chooser = new VariableChooser(this);
|
||||
chooser->addMacroExpanderProvider([this] { return m_qbsStep->macroExpander(); });
|
||||
chooser->addSupportedWidget(propertyEdit);
|
||||
chooser->addSupportedWidget(installDirChooser->lineEdit());
|
||||
chooser->addMacroExpanderProvider([step] { return step->macroExpander(); });
|
||||
propertyEdit->setValidationFunction([this](FancyLineEdit *edit, QString *errorMessage) {
|
||||
return validateProperties(edit, errorMessage);
|
||||
});
|
||||
|
@@ -69,7 +69,6 @@ QMakeStep::QMakeStep(BuildStepList *bsl, Id id)
|
||||
buildType.addOption(Tr::tr("Debug"));
|
||||
buildType.addOption(Tr::tr("Release"));
|
||||
|
||||
userArguments.setMacroExpander(macroExpander());
|
||||
userArguments.setSettingsKey(QMAKE_ARGUMENTS_KEY);
|
||||
userArguments.setLabelText(Tr::tr("Additional arguments:"));
|
||||
|
||||
|
@@ -84,7 +84,6 @@ QmlProjectRunConfiguration::QmlProjectRunConfiguration(Target *target, Id id)
|
||||
qmlViewer.setHistoryCompleter("QmlProjectManager.viewer.history");
|
||||
|
||||
arguments.setSettingsKey(Constants::QML_VIEWER_ARGUMENTS_KEY);
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
setCommandLineGetter([this, target] {
|
||||
const FilePath qmlRuntime = qmlRuntimeFilePath();
|
||||
@@ -169,8 +168,6 @@ QmlProjectRunConfiguration::QmlProjectRunConfiguration(Target *target, Id id)
|
||||
return envModifier(environment);
|
||||
});
|
||||
|
||||
x11Forwarding.setMacroExpander(macroExpander());
|
||||
|
||||
setRunnableModifier([this](ProcessRunData &r) {
|
||||
const QmlBuildSystem *bs = static_cast<QmlBuildSystem *>(activeBuildSystem());
|
||||
r.workingDirectory = bs->targetDirectory();
|
||||
|
@@ -42,9 +42,6 @@ public:
|
||||
|
||||
environment.setDeviceSelector(target, EnvironmentAspect::RunDevice);
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
workingDir.setMacroExpander(macroExpander());
|
||||
workingDir.setEnvironment(&environment);
|
||||
|
||||
qtLibraries.setSettingsKey("Qt4ProjectManager.QnxRunConfiguration.QtLibPath");
|
||||
|
@@ -51,15 +51,10 @@ RemoteLinuxCustomRunConfiguration::RemoteLinuxCustomRunConfiguration(Target *tar
|
||||
symbolFile.setSettingsKey("RemoteLinux.CustomRunConfig.LocalExecutable");
|
||||
symbolFile.setLabelText(Tr::tr("Local executable:"));
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
workingDir.setMacroExpander(macroExpander());
|
||||
workingDir.setEnvironment(&environment);
|
||||
|
||||
terminal.setVisible(HostOsInfo::isAnyUnixHost());
|
||||
|
||||
x11Forwarding.setMacroExpander(macroExpander());
|
||||
|
||||
setDefaultDisplayName(runConfigDefaultDisplayName());
|
||||
setUsesEmptyBuildKeys();
|
||||
}
|
||||
|
@@ -52,15 +52,10 @@ RemoteLinuxRunConfiguration::RemoteLinuxRunConfiguration(Target *target, Id id)
|
||||
|
||||
symbolFile.setLabelText(Tr::tr("Executable on host:"));
|
||||
|
||||
arguments.setMacroExpander(macroExpander());
|
||||
|
||||
workingDir.setMacroExpander(macroExpander());
|
||||
workingDir.setEnvironment(&environment);
|
||||
|
||||
terminal.setVisible(HostOsInfo::isAnyUnixHost());
|
||||
|
||||
x11Forwarding.setMacroExpander(macroExpander());
|
||||
|
||||
connect(&useLibraryPath, &BaseAspect::changed,
|
||||
&environment, &EnvironmentAspect::environmentChanged);
|
||||
|
||||
|
Reference in New Issue
Block a user