[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [granatier] src: migrate old data to new XDG_DATA_DIR location
From: Mathias Kraus <k.hias () gmx ! de>
Date: 2015-03-02 21:09:02
Message-ID: E1YSXaI-0002jn-Jf () scm ! kde ! org
[Download RAW message or body]
Git commit af66d902db932262e8e69a2a2c0e6c302bf9143d by Mathias Kraus.
Committed on 01/03/2015 at 22:31.
Pushed by mkraus into branch 'master'.
migrate old data to new XDG_DATA_DIR location
M +35 -3 src/main.cpp
http://commits.kde.org/granatier/af66d902db932262e8e69a2a2c0e6c302bf9143d
diff --git a/src/main.cpp b/src/main.cpp
index ab7cf2a..ce0f780 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -24,16 +24,48 @@
#include <KLocalizedString>
#include <QCommandLineParser>
#include <kdelibs4configmigrator.h>
+#include <kdelibs4migration.h>
+#include <QStandardPaths>
+#include <QDir>
#include <KDBusService>
int main(int argc, char** argv)
{
- QApplication app(argc, argv);
-
Kdelibs4ConfigMigrator migrate(QStringLiteral("granatier"));
migrate.setConfigFiles(QStringList() << QStringLiteral("granatierrc"));
migrate.setUiFiles(QStringList() << QStringLiteral("granatierui.rc"));
- migrate.migrate();
+ if(migrate.migrate())
+ {
+ // migrate old data
+ Kdelibs4Migration dataMigrator;
+ const QString sourceBasePath = dataMigrator.saveLocation("data", \
"granatier"); + const QString targetBasePath = \
QStandardPaths::writableLocation(QStandardPaths::DataLocation) + \
QStringLiteral("/granatier/"); + QString targetFilePath;
+
+ QStringList dataDirs;
+ dataDirs.append("arenas");
+ dataDirs.append("players");
+ dataDirs.append("themes");
+
+ // migrate arenas, players and themes
+ foreach(const QString &dataDir, dataDirs)
+ {
+ QDir sourceDir(sourceBasePath + dataDir);
+ if(!sourceDir.exists()) continue;
+ QStringList fileNames = sourceDir.entryList(QDir::Files | QDir::Dirs | \
QDir::NoDotAndDotDot | QDir::NoSymLinks); + QDir().mkpath(targetBasePath + \
dataDir); + foreach (const QString &fileName, fileNames)
+ {
+ targetFilePath = targetBasePath + dataDir + QLatin1Char('/') + \
fileName; + if(!QFile::exists(targetFilePath))
+ {
+ QFile::copy(sourceBasePath + dataDir + QLatin1Char('/') + \
fileName, targetFilePath); + }
+ }
+ }
+ }
+
+ QApplication app(argc, argv);
app.setWindowIcon(QIcon::fromTheme(QLatin1String("granatier")));
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic