diff --git a/src/libs/utils/pathchooser.cpp b/src/libs/utils/pathchooser.cpp
index 247a7794711d2f9ab3850912ad169e2e9be8f20b..20e3d071882d580717a9fed68a3e8ed634feeb33 100644
--- a/src/libs/utils/pathchooser.cpp
+++ b/src/libs/utils/pathchooser.cpp
@@ -309,11 +309,21 @@ QString PathChooser::rawPath() const
     return QDir::fromNativeSeparators(d->m_lineEdit->text());
 }
 
+FileName PathChooser::fileName() const
+{
+    return Utils::FileName::fromString(path());
+}
+
 void PathChooser::setPath(const QString &path)
 {
     d->m_lineEdit->setText(QDir::toNativeSeparators(path));
 }
 
+void PathChooser::setFileName(const Utils::FileName &fn)
+{
+    d->m_lineEdit->setText(fn.toUserOutput());
+}
+
 bool PathChooser::isReadOnly() const
 {
     return d->m_lineEdit->isReadOnly();
diff --git a/src/libs/utils/pathchooser.h b/src/libs/utils/pathchooser.h
index ad5032b1fc766b46d14446897b5977389a4b1278..d04266236af5337ab1de3ce42a054a0aa2a75b38 100644
--- a/src/libs/utils/pathchooser.h
+++ b/src/libs/utils/pathchooser.h
@@ -35,6 +35,8 @@
 
 #include "utils_global.h"
 
+#include "fileutils.h"
+
 #include <QtGui/QWidget>
 
 QT_BEGIN_NAMESPACE
@@ -53,6 +55,7 @@ class QTCREATOR_UTILS_EXPORT PathChooser : public QWidget
     Q_OBJECT
     Q_ENUMS(Kind)
     Q_PROPERTY(QString path READ path WRITE setPath DESIGNABLE true)
+    Q_PROPERTY(Utils::FileName fileName READ fileName WRITE setFileName DESIGNABLE true)
     Q_PROPERTY(QString promptDialogTitle READ promptDialogTitle WRITE setPromptDialogTitle DESIGNABLE true)
     Q_PROPERTY(Kind expectedKind READ expectedKind WRITE setExpectedKind DESIGNABLE true)
     Q_PROPERTY(QString baseDirectory READ baseDirectory WRITE setBaseDirectory DESIGNABLE true)
@@ -91,6 +94,7 @@ public:
 
     QString path() const;
     QString rawPath() const; // The raw unexpanded input.
+    Utils::FileName fileName() const;
 
     QString baseDirectory() const;
     void setBaseDirectory(const QString &directory);
@@ -139,6 +143,7 @@ signals:
 
 public slots:
     void setPath(const QString &);
+    void setFileName(const Utils::FileName &);
 
 private slots:
     void slotBrowse();