diff --git a/src/libs/utils/pathchooser.cpp b/src/libs/utils/pathchooser.cpp
index ea60dd770d5c2dec811bb24df30605bd149edd37..18e680e4acb78a98150083919a463bc57ed8813a 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 fd687ca514e79c9cbe56e55b0babdea8387ef853..2dc33c0c9d02f4ea20ea32ff049a1d28406922ce 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;