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 <title> + 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); }