diff --git a/mainwindow.cpp b/mainwindow.cpp
index eefcb77e..e844fcfa 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -16,6 +16,7 @@
 #include <QSettings>
 #include <QPixmap>
 #include <QDesktopWidget>
+#include <QListView>
 
 #include "mainwindow.h"
 #include "ui_mainwindow.h"
@@ -246,15 +247,33 @@ void MainWindow::on_action_Import_Data_triggered()
     }
 
     if (asknew) {
-        newdir=QFileDialog::getExistingDirectory(this,"Select a folder to import","",QFileDialog::ShowDirsOnly);
+        QFileDialog w;
+        w.setFileMode(QFileDialog::DirectoryOnly);
+        w.setOption(QFileDialog::DontUseNativeDialog,false);
+
+        QListView *l = w.findChild<QListView*>("listView");
+        if (l) {
+            l->setSelectionMode(QAbstractItemView::MultiSelection);
+        }
+        QTreeView *t = w.findChild<QTreeView*>();
+        if (t) {
+            t->setSelectionMode(QAbstractItemView::MultiSelection);
+        }
+        if (w.exec()!=QDialog::Accepted) {
+            return;
+        }
+        for (int i=0;i<w.selectedFiles().size();i++) {
+            QString newdir=w.selectedFiles().at(i);
+            if (!importLocations.contains(newdir)) {
+                importLocations.append(newdir);
+                addnew=true;
+            }
+        }
+        /*newdir=QFileDialog::getExistingDirectory(this,"Select a folder to import","",QFileDialog::ShowDirsOnly);
         if (newdir.isEmpty()) {
             // inform the user or just abort?
             return;
-        }
-        if (!importLocations.contains(newdir)) {
-            importLocations.append(newdir);
-            addnew=true;
-        }
+        } */
     }
 
     int successful=false;