diff --git a/src/zanshin/app/main.cpp b/src/zanshin/app/main.cpp --- a/src/zanshin/app/main.cpp +++ b/src/zanshin/app/main.cpp @@ -24,13 +24,17 @@ #include #include #include +#include #include #include #include +#include +#include + #include "widgets/applicationcomponents.h" #include "widgets/availablepagesview.h" #include "widgets/availablesourcesview.h" @@ -64,6 +68,22 @@ parser.process(app); aboutData.processCommandLine(&parser); + KSharedConfig::Ptr config = KSharedConfig::openConfig(QStringLiteral("zanshin-migratorrc")); + KConfigGroup group = config->group("Migrations"); + if (!group.readEntry("MigratedTags", false)) { + std::cerr << "Migrating tags, please wait..." << std::endl; + QProcess proc; + proc.start(QStringLiteral("zanshin-migrator")); + proc.waitForFinished(-1); + if (proc.exitStatus() == QProcess::CrashExit) { + std::cerr << "Migrator crashed!" << std::endl; + } else if (proc.exitCode() == 0) { + std::cerr << "Migration done" << std::endl; + } else { + std::cerr << "Migration error, code" << proc.exitCode() << std::endl; + } + } + auto widget = new QWidget; auto components = new Widgets::ApplicationComponents(widget); components->setModel(Presentation::ApplicationModel::Ptr::create());