summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/settings/qPrefCloudStorage.cpp10
-rw-r--r--core/settings/qPrefCloudStorage.h4
-rw-r--r--tests/testqPrefCloudStorage.cpp14
-rw-r--r--tests/testqPrefCloudStorage.h1
4 files changed, 28 insertions, 1 deletions
diff --git a/core/settings/qPrefCloudStorage.cpp b/core/settings/qPrefCloudStorage.cpp
index ddb370630..9392a24c0 100644
--- a/core/settings/qPrefCloudStorage.cpp
+++ b/core/settings/qPrefCloudStorage.cpp
@@ -7,7 +7,6 @@ static const QString group = QStringLiteral("CloudStorage");
qPrefCloudStorage::qPrefCloudStorage(QObject *parent) : QObject(parent)
{
}
-
qPrefCloudStorage *qPrefCloudStorage::instance()
{
static qPrefCloudStorage *self = new qPrefCloudStorage;
@@ -114,3 +113,12 @@ void qPrefCloudStorage::disk_userid(bool doSync)
}
}
}
+
+bool qPrefCloudStorage::loadFromCloud(const QString& email)
+{
+ return qPrefPrivate::propValue(QString("loadFromCloud") + email, false).toBool();
+}
+void qPrefCloudStorage::set_loadFromCloud(const QString& email, bool done)
+{
+ qPrefPrivate::propSetValue(QString("loadFromCloud") + email, done);
+}
diff --git a/core/settings/qPrefCloudStorage.h b/core/settings/qPrefCloudStorage.h
index 91864afbc..4684399a0 100644
--- a/core/settings/qPrefCloudStorage.h
+++ b/core/settings/qPrefCloudStorage.h
@@ -45,6 +45,8 @@ public:
static bool save_userid_local() { return prefs.save_userid_local; }
static QString userid() { return prefs.userid; }
+ static bool loadFromCloud(const QString& email);
+
public slots:
static void set_cloud_base_url(const QString &value);
static void set_cloud_storage_email(const QString &value);
@@ -59,6 +61,8 @@ public slots:
static void set_save_userid_local(bool value);
static void set_userid(const QString &value);
+ static void set_loadFromCloud(const QString& email, bool done);
+
signals:
void cloud_base_url_changed(const QString &value);
void cloud_storage_email_changed(const QString &value);
diff --git a/tests/testqPrefCloudStorage.cpp b/tests/testqPrefCloudStorage.cpp
index 2ca2bb81a..2c6a4449f 100644
--- a/tests/testqPrefCloudStorage.cpp
+++ b/tests/testqPrefCloudStorage.cpp
@@ -266,4 +266,18 @@ void TestQPrefCloudStorage::test_oldPreferences()
TEST(cloud->cloud_verification_status(), 1);
}
+void TestQPrefCloudStorage::test_loadFromCloud_var()
+{
+ auto cloud = qPrefCloudStorage::instance();
+
+ cloud->set_loadFromCloud("mail1", true);
+ cloud->set_loadFromCloud("mail2", false);
+ cloud->set_loadFromCloud("mail3", true);
+
+ QCOMPARE(cloud->loadFromCloud("mail1"), true);
+ QCOMPARE(cloud->loadFromCloud("mail2"), false);
+ QCOMPARE(cloud->loadFromCloud("mail3"), true);
+ QCOMPARE(cloud->loadFromCloud("mail_unknown"), false);
+}
+
QTEST_MAIN(TestQPrefCloudStorage)
diff --git a/tests/testqPrefCloudStorage.h b/tests/testqPrefCloudStorage.h
index 077ca74b6..e853c11ae 100644
--- a/tests/testqPrefCloudStorage.h
+++ b/tests/testqPrefCloudStorage.h
@@ -15,6 +15,7 @@ private slots:
void test_struct_disk();
void test_multiple();
void test_oldPreferences();
+ void test_loadFromCloud_var();
};
#endif // TESTQPREFCLOUDSTORAGE_H