diff --git a/src/libs/utils/pathchooser.cpp b/src/libs/utils/pathchooser.cpp
index a1bec96cd6b..3d7ac909740 100644
--- a/src/libs/utils/pathchooser.cpp
+++ b/src/libs/utils/pathchooser.cpp
@@ -242,8 +242,7 @@ PathChooser::PathChooser(QWidget *parent) :
this,
&PathChooser::contextMenuRequested);
connect(d->m_lineEdit, &FancyLineEdit::validReturnPressed, this, &PathChooser::returnPressed);
- connect(d->m_lineEdit, &QLineEdit::textChanged, this,
- [this] { emit rawPathChanged(rawPath()); });
+ connect(d->m_lineEdit, &QLineEdit::textChanged, this, &PathChooser::rawPathChanged);
connect(d->m_lineEdit, &FancyLineEdit::validChanged, this, &PathChooser::validChanged);
connect(d->m_lineEdit, &QLineEdit::editingFinished, this, &PathChooser::editingFinished);
connect(d->m_lineEdit, &QLineEdit::textChanged, this, &PathChooser::textChanged);
@@ -313,15 +312,10 @@ void PathChooser::setEnvironmentChange(const EnvironmentChange &env)
d->m_environmentChange = env;
if (filePath().toString() != oldExpand) {
triggerChanged();
- emit rawPathChanged(rawPath());
+ emit rawPathChanged();
}
}
-QString PathChooser::rawPath() const
-{
- return rawFilePath().toString();
-}
-
FilePath PathChooser::rawFilePath() const
{
return FilePath::fromUserInput(d->m_lineEdit->text());
diff --git a/src/libs/utils/pathchooser.h b/src/libs/utils/pathchooser.h
index a46ed36bf8d..a508e589859 100644
--- a/src/libs/utils/pathchooser.h
+++ b/src/libs/utils/pathchooser.h
@@ -139,28 +139,26 @@ public:
void setAllowPathFromDevice(bool allow);
bool allowPathFromDevice() const;
-private:
- QString rawPath() const; // The raw unexpanded input.
- bool validatePath(FancyLineEdit *edit, QString *errorMessage) const;
- // Returns overridden title or the one from
- QString makeDialogTitle(const QString &title);
- void slotBrowse();
- void contextMenuRequested(const QPoint &pos);
+public slots:
+ void setPath(const QString &);
+ void setFilePath(const FilePath &);
signals:
void validChanged(bool validState);
- void rawPathChanged(const QString &text);
+ void rawPathChanged();
void textChanged(const QString &text); // Triggered from the line edit's textChanged()
void editingFinished(); // Triggered from the line edit's editingFinished()
void beforeBrowsing();
void browsingFinished();
void returnPressed();
-public slots:
- void setPath(const QString &);
- void setFilePath(const FilePath &);
-
private:
+ bool validatePath(FancyLineEdit *edit, QString *errorMessage) const;
+ // Returns overridden title or the one from
+ QString makeDialogTitle(const QString &title);
+ void slotBrowse();
+ void contextMenuRequested(const QPoint &pos);
+
PathChooserPrivate *d = nullptr;
static AboutToShowContextMenuHandler s_aboutToShowContextMenuHandler;
};
diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
index bccccbb9dc3..c5f96014000 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
+++ b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
@@ -154,7 +154,7 @@ private:
void updatePropertyEdit(const QVariantMap &data);
void changeUseDefaultInstallDir(bool useDefault);
- void changeInstallDir(const QString &dir);
+ void changeInstallDir();
void applyCachedProperties();
QbsBuildStep *qbsStep() const;
@@ -782,13 +782,13 @@ void QbsBuildStepConfigWidget::changeUseDefaultInstallDir(bool useDefault)
m_qbsStep->setQbsConfiguration(config);
}
-void QbsBuildStepConfigWidget::changeInstallDir(const QString &dir)
+void QbsBuildStepConfigWidget::changeInstallDir()
{
if (!m_qbsStep->hasCustomInstallRoot())
return;
const GuardLocker locker(m_ignoreChanges);
QVariantMap config = m_qbsStep->qbsConfiguration(QbsBuildStep::PreserveVariables);
- config.insert(Constants::QBS_INSTALL_ROOT_KEY, dir);
+ config.insert(Constants::QBS_INSTALL_ROOT_KEY, installDirChooser->rawFilePath().toString());
m_qbsStep->setQbsConfiguration(config);
}