--- a/src/widgets/dialogs/qsidebar.cpp
+++ b/src/widgets/dialogs/qsidebar.cpp
@@ -50,6 +50,8 @@
 #include <qdebug.h>
 #include <qfileiconprovider.h>
 #include <qfiledialog.h>
+#include <qapplication.h>
+#include <qstyle.h>
 
 QT_BEGIN_NAMESPACE
 
@@ -382,7 +384,15 @@
 void QSidebar::setModelAndUrls(QFileSystemModel *model, const QList<QUrl> &newUrls)
 {
     // ### TODO make icon size dynamic
-    setIconSize(QSize(24,24));
+//    setIconSize(QSize(24,24));
+    int sz = QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize);
+         if (sz < 22 ) sz=22;
+    else if (sz < 32 ) sz=32;
+    else if (sz < 48 ) sz=48;
+    else if (sz < 64 ) sz=64;
+    else if (sz < 128) sz=128;
+    else sz=128;
+    setIconSize(QSize(sz,sz));
     setUniformItemSizes(true);
     urlModel = new QUrlModel(this);
     urlModel->setFileSystemModel(model);
