From e349fb48b4efd898f3eebe66e951a3e55aabdf82 Mon Sep 17 00:00:00 2001 From: Andrew Knight <andrew.knight@digia.com> Date: Sat, 13 Jul 2013 14:44:26 +0300 Subject: [PATCH] Improve property offering in Utils::PathChooser Add notifier to path property. Add promptDialogFilter to property list. Change-Id: Ic0e5dbdc1a2c1ac64477baeee5f55bc4416bc526 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> --- src/libs/utils/pathchooser.cpp | 6 ++++++ src/libs/utils/pathchooser.h | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/libs/utils/pathchooser.cpp b/src/libs/utils/pathchooser.cpp index ea60dd770d5..18e680e4acb 100644 --- a/src/libs/utils/pathchooser.cpp +++ b/src/libs/utils/pathchooser.cpp @@ -246,6 +246,7 @@ PathChooser::PathChooser(QWidget *parent) : connect(d->m_lineEdit, SIGNAL(validChanged()), this, SIGNAL(validChanged())); connect(d->m_lineEdit, SIGNAL(validChanged(bool)), this, SIGNAL(validChanged(bool))); connect(d->m_lineEdit, SIGNAL(editingFinished()), this, SIGNAL(editingFinished())); + connect(d->m_lineEdit, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged())); d->m_lineEdit->setMinimumWidth(120); d->m_hLayout->addWidget(d->m_lineEdit); @@ -421,6 +422,11 @@ void PathChooser::slotBrowse() d->m_lineEdit->triggerChanged(); } +void PathChooser::slotTextChanged() +{ + emit pathChanged(path()); +} + bool PathChooser::isValid() const { return d->m_lineEdit->isValid(); diff --git a/src/libs/utils/pathchooser.h b/src/libs/utils/pathchooser.h index fd687ca514e..2dc33c0c9d0 100644 --- a/src/libs/utils/pathchooser.h +++ b/src/libs/utils/pathchooser.h @@ -50,8 +50,9 @@ class QTCREATOR_UTILS_EXPORT PathChooser : public QWidget { Q_OBJECT Q_ENUMS(Kind) - Q_PROPERTY(QString path READ path WRITE setPath DESIGNABLE true) + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged DESIGNABLE true) Q_PROPERTY(QString promptDialogTitle READ promptDialogTitle WRITE setPromptDialogTitle DESIGNABLE true) + Q_PROPERTY(QString promptDialogFilter READ promptDialogFilter WRITE setPromptDialogFilter DESIGNABLE true) Q_PROPERTY(Kind expectedKind READ expectedKind WRITE setExpectedKind DESIGNABLE true) Q_PROPERTY(QString baseDirectory READ baseDirectory WRITE setBaseDirectory DESIGNABLE true) Q_PROPERTY(QStringList commandVersionArguments READ commandVersionArguments WRITE setCommandVersionArguments) @@ -139,6 +140,7 @@ signals: void validChanged(); void validChanged(bool validState); void changed(const QString &text); + void pathChanged(const QString &path); void editingFinished(); void beforeBrowsing(); void browsingFinished(); @@ -150,6 +152,7 @@ public slots: private slots: void slotBrowse(); + void slotTextChanged(); private: PathChooserPrivate *d; -- GitLab