Implement checkIfNecessary

wilder-work
Montel Laurent 11 years ago
parent 6272a28071
commit c91c2f2772
  1. 2
      migration/autotests/CMakeLists.txt
  2. 8
      migration/autotests/kmmigratekmail4configtest.cpp
  3. 1
      migration/autotests/kmmigratekmail4configtest.h
  4. 30
      migration/kmmigratekmail4config.cpp
  5. 1
      migration/kmmigratekmail4config.h

@ -8,7 +8,7 @@ include_directories(
set( kmail_migratekmail4configtest_source kmmigratekmail4configtest.cpp ../kmmigratekmail4config.cpp ../migrateinfo.cpp)
add_executable(migratekmail4configtest ${kmail_migratekmail4configtest_source})
ecm_mark_as_test(kmail-migratekmail4configtest)
target_link_libraries( migratekmail4configtest Qt5::Test KF5::CoreAddons)
target_link_libraries( migratekmail4configtest Qt5::Test KF5::CoreAddons KF5::ConfigCore)

@ -34,6 +34,14 @@ void KMMigrateKMail4ConfigTest::shouldHaveDefaultValue()
{
KMMigrateKMail4Config migrate;
QVERIFY(!migrate.start());
QVERIFY(migrate.configFileName().isEmpty());
}
void KMMigrateKMail4ConfigTest::shouldVerifyIfCheckIsNecessary()
{
KMMigrateKMail4Config migrate;
//Invalid before config file is not set.
QVERIFY(!migrate.checkIfNecessary());
}
QTEST_MAIN(KMMigrateKMail4ConfigTest)

@ -28,6 +28,7 @@ public:
~KMMigrateKMail4ConfigTest();
private Q_SLOTS:
void shouldHaveDefaultValue();
void shouldVerifyIfCheckIsNecessary();
};

@ -17,6 +17,9 @@
#include "kmmigratekmail4config.h"
#include <kdelibs4migration.h>
#include <KSharedConfig>
#include <KConfigGroup>
#include <QDebug>
KMMigrateKMail4Config::KMMigrateKMail4Config(QObject *parent)
: QObject(parent),
@ -36,6 +39,10 @@ bool KMMigrateKMail4Config::start()
return false;
}
if (mConfigFileName.isEmpty()) {
qDebug() << " config file name not defined.";
return false;
}
// Testing for kdehome
Kdelibs4Migration migration;
if (!migration.kdeHomeFound()) {
@ -66,6 +73,14 @@ void KMMigrateKMail4Config::setConfigFileName(const QString &configFileName)
mConfigFileName = configFileName;
}
void KMMigrateKMail4Config::writeConfig()
{
KSharedConfig::Ptr config = KSharedConfig::openConfig(mConfigFileName, KConfig::SimpleConfig);
KConfigGroup grp = config->group(QStringLiteral("Migrate"));
grp.writeEntry(QStringLiteral("Version"), mVersion);
grp.sync();
}
void KMMigrateKMail4Config::migrateFolder(const MigrateInfo &info)
{
//TODO
@ -88,7 +103,20 @@ void KMMigrateKMail4Config::setVersion(int version)
bool KMMigrateKMail4Config::checkIfNecessary()
{
//TODO compare mVersion with current version saved in config file.
if (mConfigFileName.isEmpty()) {
qDebug() << " config file name not defined.";
return false;
}
KSharedConfig::Ptr config = KSharedConfig::openConfig(mConfigFileName, KConfig::SimpleConfig);
if (config->hasGroup(QStringLiteral("Migrate"))) {
KConfigGroup grp = config->group(QStringLiteral("Migrate"));
const int lastVersion = grp.readEntry(QStringLiteral("Version"), 0);
if (lastVersion < mVersion) {
return true;
} else {
return false;
}
}
return true;
}

@ -43,6 +43,7 @@ Q_SIGNALS:
void migrateDone();
private:
void writeConfig();
void migrateFolder(const MigrateInfo &info);
void migrateFile(const MigrateInfo &info);
bool migrateConfig();

Loading…
Cancel
Save