diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopublishedprojectmodel.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopublishedprojectmodel.cpp
index 66750ae9651e5d8405244ad2410dc98d2b5c1fa3..625f3e65a49d8a6a7e428b9bb7f20cf33adedd55 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemopublishedprojectmodel.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemopublishedprojectmodel.cpp
@@ -40,6 +40,8 @@
 ****************************************************************************/
 #include "maemopublishedprojectmodel.h"
 
+#include <QtCore/QFileInfo>
+
 namespace Qt4ProjectManager {
 namespace Internal {
 namespace {
@@ -49,6 +51,32 @@ const int IncludeColumn = 2;
 MaemoPublishedProjectModel::MaemoPublishedProjectModel(QObject *parent)
     : QFileSystemModel(parent)
 {
+    setFilter(filter() | QDir::Hidden | QDir::System);
+}
+
+void MaemoPublishedProjectModel::initFilesToExclude()
+{
+    initFilesToExclude(rootPath());
+}
+
+void MaemoPublishedProjectModel::initFilesToExclude(const QString &filePath)
+{
+    QFileInfo fi(filePath);
+    if (fi.isDir()) {
+        const QStringList fileNames = QDir(filePath).entryList(QDir::Files
+            | QDir::Dirs | QDir::NoDotAndDotDot | QDir::System | QDir::Hidden);
+        foreach (const QString &fileName, fileNames)
+            initFilesToExclude(filePath + QLatin1Char('/') + fileName);
+    } else {
+        const QString &fileName = fi.fileName();
+        if (fi.isHidden() || fileName.endsWith(QLatin1String(".o"))
+                || fileName == QLatin1String("Makefile")
+                || fileName.contains(QLatin1String(".pro.user"))
+                || fileName.contains(QLatin1String(".so"))
+                || fileName.endsWith(QLatin1String(".a"))) {
+            m_filesToExclude.insert(filePath);
+        }
+    }
 }
 
 int MaemoPublishedProjectModel::columnCount(const QModelIndex &parent) const
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopublishedprojectmodel.h b/src/plugins/qt4projectmanager/qt-maemo/maemopublishedprojectmodel.h
index e0b4cb625073d9439df409dd1b4bbc4acc9bc908..51de90c3d03a45881f2f987249fc7bbf9ae2a632 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemopublishedprojectmodel.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemopublishedprojectmodel.h
@@ -53,6 +53,7 @@ class MaemoPublishedProjectModel : public QFileSystemModel
     Q_OBJECT
 public:
     explicit MaemoPublishedProjectModel(QObject *parent = 0);
+    void initFilesToExclude();
     QStringList filesToExclude() const { return m_filesToExclude.toList(); }
 
 private:
@@ -65,6 +66,8 @@ private:
         int role);
     virtual Qt::ItemFlags flags(const QModelIndex &index) const;
 
+    void initFilesToExclude(const QString &filePath);
+
     QSet<QString> m_filesToExclude;
 };
 
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopublishingfileselectiondialog.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopublishingfileselectiondialog.cpp
index 5bc22569debdb2e42809258a42134dfe8ccf678a..ed123a76d5074a6480a3bac8a7a62f2dfd5163e7 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemopublishingfileselectiondialog.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemopublishingfileselectiondialog.cpp
@@ -54,8 +54,10 @@ MaemoPublishingFileSelectionDialog::MaemoPublishingFileSelectionDialog(const QSt
     ui->setupUi(this);
     m_projectModel = new MaemoPublishedProjectModel(this);
     const QModelIndex rootIndex = m_projectModel->setRootPath(projectPath);
+    m_projectModel->initFilesToExclude();
     ui->projectView->setModel(m_projectModel);
     ui->projectView->setRootIndex(rootIndex);
+    ui->projectView->header()->setResizeMode(0, QHeaderView::ResizeToContents);
 }
 
 MaemoPublishingFileSelectionDialog::~MaemoPublishingFileSelectionDialog()