File fix-KDE4-data-migration.patch of Package amarok5

diff --git a/src/main.cpp b/src/main.cpp
index c8ce816d60..17db43b1ec 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -30,6 +30,8 @@
 #include <KLocalizedString>
 
 #include <QCommandLineParser>
+#include <QDirIterator>
+#include <QFileInfo>
 #include <QStandardPaths>
 #include <QtGlobal>
 
@@ -65,8 +67,6 @@ int main( int argc, char *argv[] )
                                   << QStringLiteral("amarok_homerc")
                                   << QStringLiteral("amarok-appletsrc")
                                   );
-    configMigrator.migrate();
-
     if (configMigrator.migrate()) {
         Kdelibs4Migration dataMigrator;
         const QString sourceBasePath = dataMigrator.saveLocation("data", QStringLiteral("amarok"));
@@ -79,13 +79,17 @@ int main( int argc, char *argv[] )
         if (sourceDir.exists()) {
             if (!targetDir.exists()) {
                 QDir().mkpath(targetBasePath);
-            }
-            QStringList fileNames = sourceDir.entryList(
-                        QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);
-            for(const QString &fileName : fileNames) {
-                targetFilePath = targetBasePath + fileName;
-                if (!QFile::exists(targetFilePath)) {
-                    QFile::copy(sourceBasePath + fileName, targetFilePath);
+                sourceDir.setFilter(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);
+                QDirIterator it(sourceDir, QDirIterator::Subdirectories);
+                while (it.hasNext()) {
+                    QString sourceFilePath = it.next();
+                    QFileInfo entry = it.fileInfo();
+                    targetFilePath = sourceDir.relativeFilePath(sourceFilePath);
+                    if(entry.isDir()) {
+                        targetDir.mkdir(targetFilePath);
+                    } else {
+                        QFile::copy(sourceFilePath, targetBasePath + targetFilePath);
+                    }
                 }
             }
         }
openSUSE Build Service is sponsored by