forked from qt-creator/qt-creator
ProjectExplorer: Pass macroexpander (again) to WorkingDirectoryAspect
Broke with 8dacb123e0.
Probably calls for a more centralized approach again. Later.
Change-Id: Ibf52487d68d7938d4b5dfb38f1f0a5b0e1a97bc3
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -192,7 +192,7 @@ public:
|
||||
EnvironmentChange m_environmentChange;
|
||||
BinaryVersionToolTipEventFilter *m_binaryVersionToolTipEventFilter = nullptr;
|
||||
QList<QAbstractButton *> m_buttons;
|
||||
MacroExpander *m_macroExpander = globalMacroExpander();
|
||||
const MacroExpander *m_macroExpander = globalMacroExpander();
|
||||
std::function<void()> m_openTerminal;
|
||||
};
|
||||
|
||||
@@ -732,7 +732,7 @@ void PathChooser::setHistoryCompleter(const QString &historyKey, bool restoreLas
|
||||
d->m_lineEdit->setHistoryCompleter(historyKey, restoreLastItemFromHistory);
|
||||
}
|
||||
|
||||
void PathChooser::setMacroExpander(MacroExpander *macroExpander)
|
||||
void PathChooser::setMacroExpander(const MacroExpander *macroExpander)
|
||||
{
|
||||
d->m_macroExpander = macroExpander;
|
||||
}
|
||||
|
||||
@@ -136,7 +136,7 @@ public:
|
||||
// Sets a macro expander that is used when producing path and fileName.
|
||||
// By default, the global expander is used.
|
||||
// nullptr can be passed to disable macro expansion.
|
||||
void setMacroExpander(MacroExpander *macroExpander);
|
||||
void setMacroExpander(const MacroExpander *macroExpander);
|
||||
|
||||
bool isReadOnly() const;
|
||||
void setReadOnly(bool b);
|
||||
|
||||
@@ -53,7 +53,7 @@ public:
|
||||
exeAspect->setPlaceHolderText(tr("Unknown"));
|
||||
|
||||
addAspect<ArgumentsAspect>(macroExpander());
|
||||
addAspect<WorkingDirectoryAspect>(nullptr);
|
||||
addAspect<WorkingDirectoryAspect>(macroExpander(), nullptr);
|
||||
|
||||
setUpdater([this, exeAspect] {
|
||||
const BuildTargetInfo bti = buildTargetInfo();
|
||||
@@ -80,7 +80,7 @@ public:
|
||||
exeAspect->setExpectedKind(PathChooser::Any);
|
||||
|
||||
addAspect<ArgumentsAspect>(macroExpander());
|
||||
addAspect<WorkingDirectoryAspect>(nullptr);
|
||||
addAspect<WorkingDirectoryAspect>(macroExpander(), nullptr);
|
||||
|
||||
setDefaultDisplayName(RunConfigurationFactory::decoratedTargetName(tr("Custom Executable"), target));
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ QdbRunConfiguration::QdbRunConfiguration(Target *target, Id id)
|
||||
auto envAspect = addAspect<RemoteLinux::RemoteLinuxEnvironmentAspect>(target);
|
||||
|
||||
addAspect<ArgumentsAspect>(macroExpander());
|
||||
addAspect<WorkingDirectoryAspect>(envAspect);
|
||||
addAspect<WorkingDirectoryAspect>(macroExpander(), envAspect);
|
||||
addAspect<FullCommandLineAspect>(this);
|
||||
|
||||
setUpdater([this, target, exeAspect, symbolsAspect] {
|
||||
|
||||
@@ -46,7 +46,7 @@ MesonRunConfiguration::MesonRunConfiguration(ProjectExplorer::Target *target, Ut
|
||||
|
||||
addAspect<ProjectExplorer::ExecutableAspect>(target);
|
||||
addAspect<ProjectExplorer::ArgumentsAspect>(macroExpander());
|
||||
addAspect<ProjectExplorer::WorkingDirectoryAspect>(envAspect);
|
||||
addAspect<ProjectExplorer::WorkingDirectoryAspect>(macroExpander(), envAspect);
|
||||
addAspect<ProjectExplorer::TerminalAspect>();
|
||||
|
||||
auto libAspect = addAspect<ProjectExplorer::UseLibraryPathsAspect>();
|
||||
|
||||
@@ -54,7 +54,7 @@ public:
|
||||
auto envAspect = addAspect<LocalEnvironmentAspect>(target);
|
||||
addAspect<ExecutableAspect>(target);
|
||||
addAspect<ArgumentsAspect>(macroExpander());
|
||||
addAspect<WorkingDirectoryAspect>(envAspect);
|
||||
addAspect<WorkingDirectoryAspect>(macroExpander(), envAspect);
|
||||
addAspect<TerminalAspect>();
|
||||
|
||||
setUpdater([this] {
|
||||
@@ -91,7 +91,8 @@ public:
|
||||
{
|
||||
addAspect<ExecutableAspect>(target)->setExecutable(Nim::nimblePathFromKit(target->kit()));
|
||||
addAspect<ArgumentsAspect>(macroExpander())->setArguments("test");
|
||||
addAspect<WorkingDirectoryAspect>(nullptr)->setDefaultWorkingDirectory(project()->projectDirectory());
|
||||
addAspect<WorkingDirectoryAspect>(macroExpander(), nullptr)
|
||||
->setDefaultWorkingDirectory(project()->projectDirectory());
|
||||
addAspect<TerminalAspect>();
|
||||
|
||||
setDisplayName(tr("Nimble Test"));
|
||||
|
||||
@@ -52,7 +52,7 @@ public:
|
||||
auto envAspect = addAspect<LocalEnvironmentAspect>(target);
|
||||
addAspect<ExecutableAspect>(target);
|
||||
addAspect<ArgumentsAspect>(macroExpander());
|
||||
addAspect<WorkingDirectoryAspect>(envAspect);
|
||||
addAspect<WorkingDirectoryAspect>(macroExpander(), envAspect);
|
||||
addAspect<TerminalAspect>();
|
||||
|
||||
setDisplayName(tr("Current Build Target"));
|
||||
|
||||
@@ -53,7 +53,7 @@ CustomExecutableRunConfiguration::CustomExecutableRunConfiguration(Target *targe
|
||||
exeAspect->setEnvironmentChange(EnvironmentChange::fromFixedEnvironment(envAspect->environment()));
|
||||
|
||||
addAspect<ArgumentsAspect>(macroExpander());
|
||||
addAspect<WorkingDirectoryAspect>(envAspect);
|
||||
addAspect<WorkingDirectoryAspect>(macroExpander(), envAspect);
|
||||
addAspect<TerminalAspect>();
|
||||
|
||||
connect(envAspect, &EnvironmentAspect::environmentChanged, this, [exeAspect, envAspect] {
|
||||
|
||||
@@ -70,7 +70,7 @@ DesktopRunConfiguration::DesktopRunConfiguration(Target *target, Id id, Kind kin
|
||||
|
||||
addAspect<ExecutableAspect>(target);
|
||||
addAspect<ArgumentsAspect>(macroExpander());
|
||||
addAspect<WorkingDirectoryAspect>(envAspect);
|
||||
addAspect<WorkingDirectoryAspect>(macroExpander(), envAspect);
|
||||
addAspect<TerminalAspect>();
|
||||
|
||||
auto libAspect = addAspect<UseLibraryPathsAspect>();
|
||||
|
||||
@@ -171,8 +171,9 @@ bool TerminalAspect::isUserSet() const
|
||||
working directory for running the executable.
|
||||
*/
|
||||
|
||||
WorkingDirectoryAspect::WorkingDirectoryAspect(EnvironmentAspect *envAspect)
|
||||
: m_envAspect(envAspect)
|
||||
WorkingDirectoryAspect::WorkingDirectoryAspect(const MacroExpander *expander,
|
||||
EnvironmentAspect *envAspect)
|
||||
: m_envAspect(envAspect), m_macroExpander(expander)
|
||||
{
|
||||
setDisplayName(tr("Working Directory"));
|
||||
setId("WorkingDirectoryAspect");
|
||||
|
||||
@@ -81,7 +81,8 @@ class PROJECTEXPLORER_EXPORT WorkingDirectoryAspect : public Utils::BaseAspect
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit WorkingDirectoryAspect(EnvironmentAspect *envAspect);
|
||||
explicit WorkingDirectoryAspect(const Utils::MacroExpander *expander,
|
||||
EnvironmentAspect *envAspect);
|
||||
|
||||
void addToLayout(Utils::LayoutBuilder &builder) override;
|
||||
|
||||
@@ -102,7 +103,7 @@ private:
|
||||
Utils::FilePath m_defaultWorkingDirectory;
|
||||
QPointer<Utils::PathChooser> m_chooser;
|
||||
QPointer<QToolButton> m_resetButton;
|
||||
Utils::MacroExpander *m_macroExpander = nullptr;
|
||||
const Utils::MacroExpander *m_macroExpander = nullptr;
|
||||
};
|
||||
|
||||
class PROJECTEXPLORER_EXPORT ArgumentsAspect : public Utils::BaseAspect
|
||||
|
||||
@@ -178,7 +178,7 @@ public:
|
||||
|
||||
auto argumentsAspect = addAspect<ArgumentsAspect>(macroExpander());
|
||||
|
||||
addAspect<WorkingDirectoryAspect>(nullptr);
|
||||
addAspect<WorkingDirectoryAspect>(macroExpander(), nullptr);
|
||||
addAspect<TerminalAspect>();
|
||||
|
||||
setCommandLineGetter([bufferedAspect, interpreterAspect, argumentsAspect, scriptAspect] {
|
||||
|
||||
@@ -61,7 +61,7 @@ QnxRunConfiguration::QnxRunConfiguration(Target *target, Id id)
|
||||
auto envAspect = addAspect<RemoteLinuxEnvironmentAspect>(target);
|
||||
|
||||
addAspect<ArgumentsAspect>(macroExpander());
|
||||
addAspect<WorkingDirectoryAspect>(envAspect);
|
||||
addAspect<WorkingDirectoryAspect>(macroExpander(), envAspect);
|
||||
addAspect<TerminalAspect>();
|
||||
|
||||
auto libAspect = addAspect<StringAspect>();
|
||||
|
||||
@@ -72,7 +72,7 @@ RemoteLinuxCustomRunConfiguration::RemoteLinuxCustomRunConfiguration(Target *tar
|
||||
symbolsAspect->setDisplayStyle(SymbolFileAspect::PathChooserDisplay);
|
||||
|
||||
addAspect<ArgumentsAspect>(macroExpander());
|
||||
addAspect<WorkingDirectoryAspect>(envAspect);
|
||||
addAspect<WorkingDirectoryAspect>(macroExpander(), envAspect);
|
||||
if (HostOsInfo::isAnyUnixHost())
|
||||
addAspect<TerminalAspect>();
|
||||
if (HostOsInfo::isAnyUnixHost())
|
||||
|
||||
@@ -71,7 +71,7 @@ RemoteLinuxRunConfiguration::RemoteLinuxRunConfiguration(Target *target, Id id)
|
||||
symbolsAspect->setDisplayStyle(SymbolFileAspect::LabelDisplay);
|
||||
|
||||
addAspect<ArgumentsAspect>(macroExpander());
|
||||
addAspect<WorkingDirectoryAspect>(envAspect);
|
||||
addAspect<WorkingDirectoryAspect>(macroExpander(), envAspect);
|
||||
if (HostOsInfo::isAnyUnixHost())
|
||||
addAspect<TerminalAspect>();
|
||||
if (HostOsInfo::isAnyUnixHost())
|
||||
|
||||
Reference in New Issue
Block a user