diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,7 @@ find_package(KF5Archive REQUIRED) find_package(KF5XmlGui 5.1 REQUIRED) find_package(KF5Crash 5.15 REQUIRED) +find_package(KF5CoreAddons REQUIRED) set(CMAKE_MODULE_PATH ${kig_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH}) diff --git a/kig/main.cpp b/kig/main.cpp --- a/kig/main.cpp +++ b/kig/main.cpp @@ -23,10 +23,15 @@ #include #include #include +#include +#include +#include #include #include #include +#include +#include #include "aboutdata.h" #include @@ -45,10 +50,40 @@ return (*converterfunction)( file, outfile ); } -int main(int argc, char **argv) +static bool configMigration() { + Kdelibs4ConfigMigrator migrator( QStringLiteral( "kig" ) ); + + migrator.setConfigFiles( QStringList() << QStringLiteral( "test.txt" ) ); + + return migrator.migrate(); +} + +static void dataMigration() +{ + Kdelibs4Migration datamigrator; + QString file = datamigrator.locateLocal( "data", "kig/kig-types/macros.kigt" ); + + if ( !file.isEmpty() ) + { + QFile macros( file ); + const QDir writeableDataLocation ( QStandardPaths::writableLocation( QStandardPaths::DataLocation ) ); + const QDir typesDir( writeableDataLocation.absoluteFilePath( "kig-types" ) ); + + if ( !typesDir.exists() ) + { + writeableDataLocation.mkpath( "kig-types" ); + } + + macros.copy( typesDir.absoluteFilePath( "macros.kigt" ) ); + } +} + +int main( int argc, char **argv ) +{ + configMigration(); QApplication app( argc, argv ); - KLocalizedString::setApplicationDomain("kig"); + KLocalizedString::setApplicationDomain( "kig" ); KAboutData about = kigAboutData( "kig", I18N_NOOP( "Kig" ) ); KCrash::initialize(); QCommandLineParser parser; @@ -60,6 +95,7 @@ QCoreApplication::setOrganizationDomain( i18n( "kde.org" ) ); KAboutData::setApplicationData( about ); + dataMigration(); // This needs the about AboutData to be set up about.setupCommandLine( &parser ); parser.addHelpOption(); parser.addOption( convertToNativeOption );