summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/checkcloudconnection.cpp1
-rw-r--r--core/file.c10
-rw-r--r--core/git-access.c2
-rw-r--r--core/pref.c1
-rw-r--r--core/pref.h1
-rw-r--r--core/qthelper.cpp4
-rw-r--r--core/settings/qPrefCloudStorage.cpp2
-rw-r--r--core/settings/qPrefCloudStorage.h2
-rw-r--r--desktop-widgets/mainwindow.cpp13
-rw-r--r--tests/testgitstorage.cpp3
-rw-r--r--tests/testqPrefCloudStorage.cpp13
-rw-r--r--tests/tst_qPrefCloudStorage.qml3
12 files changed, 14 insertions, 41 deletions
diff --git a/core/checkcloudconnection.cpp b/core/checkcloudconnection.cpp
index 98b87aef3..b9a7d3b0e 100644
--- a/core/checkcloudconnection.cpp
+++ b/core/checkcloudconnection.cpp
@@ -19,6 +19,7 @@ CheckCloudConnection::CheckCloudConnection(QObject *parent) :
}
+// our own madeup API to make sure we are talking to a Subsurface cloud server
#define TEAPOT "/make-latte?number-of-shots=3"
#define HTTP_I_AM_A_TEAPOT 418
#define MILK "Linus does not like non-fat milk"
diff --git a/core/file.c b/core/file.c
index d1cbc3c62..e53d39f4d 100644
--- a/core/file.c
+++ b/core/file.c
@@ -284,9 +284,7 @@ int check_git_sha(const char *filename, struct git_repository **git_p, const cha
*git_p = git;
if (branch_p)
*branch_p = branch;
- if (prefs.cloud_git_url &&
- strstr(filename, prefs.cloud_git_url)
- && git == dummy_git_repository) {
+ if (strstr(filename, prefs.cloud_base_url) && git == dummy_git_repository) {
/* opening the cloud storage repository failed for some reason,
* so we don't know if there is additional data in the remote */
free(current_sha);
@@ -317,13 +315,11 @@ int parse_file(const char *filename, struct dive_table *table, struct trip_table
int ret;
git = is_git_repository(filename, &branch, NULL, false);
- if (prefs.cloud_git_url &&
- strstr(filename, prefs.cloud_git_url)
- && git == dummy_git_repository) {
+ if (strstr(filename, prefs.cloud_base_url) && git == dummy_git_repository)
/* opening the cloud storage repository failed for some reason
* give up here and don't send errors about git repositories */
return -1;
- }
+
if (git)
return git_load_dives(git, branch, table, trips, sites, devices, filter_presets);
diff --git a/core/git-access.c b/core/git-access.c
index 891ecf1e2..0936fa399 100644
--- a/core/git-access.c
+++ b/core/git-access.c
@@ -1023,7 +1023,7 @@ static struct git_repository *is_remote_git_repository(char *remote, const char
/* remember if the current git storage we are working on is our cloud storage
* this is used to create more user friendly error message and warnings */
- is_subsurface_cloud = strstr(remote, prefs.cloud_git_url) != NULL;
+ is_subsurface_cloud = strstr(remote, prefs.cloud_base_url) != NULL;
return get_remote_repo(localdir, remote, branch);
}
diff --git a/core/pref.c b/core/pref.c
index bc1f7f3ea..61619c0d1 100644
--- a/core/pref.c
+++ b/core/pref.c
@@ -103,7 +103,6 @@ void copy_prefs(struct preferences *src, struct preferences *dest)
dest->default_filename = copy_string(src->default_filename);
dest->default_cylinder = copy_string(src->default_cylinder);
dest->cloud_base_url = copy_string(src->cloud_base_url);
- dest->cloud_git_url = copy_string(src->cloud_git_url);
dest->proxy_host = copy_string(src->proxy_host);
dest->proxy_user = copy_string(src->proxy_user);
dest->proxy_pass = copy_string(src->proxy_pass);
diff --git a/core/pref.h b/core/pref.h
index 410280a10..97590c4dc 100644
--- a/core/pref.h
+++ b/core/pref.h
@@ -82,7 +82,6 @@ struct preferences {
// ********** CloudStorage **********
bool cloud_auto_sync;
const char *cloud_base_url;
- const char *cloud_git_url;
const char *cloud_storage_email;
const char *cloud_storage_email_encoded;
const char *cloud_storage_password;
diff --git a/core/qthelper.cpp b/core/qthelper.cpp
index 702ee965d..6678cc87f 100644
--- a/core/qthelper.cpp
+++ b/core/qthelper.cpp
@@ -1442,9 +1442,9 @@ int getCloudURL(QString &filename)
free((void *)prefs.cloud_storage_email_encoded);
prefs.cloud_storage_email_encoded = copy_qstring(email);
}
- filename = QString(QString(prefs.cloud_git_url) + "/%1[%1]").arg(email);
+ filename = QString(QString(prefs.cloud_base_url) + "git/%1[%1]").arg(email);
if (verbose)
- qDebug() << "cloud URL set as" << filename;
+ qDebug() << "returning cloud URL" << filename;
return 0;
}
diff --git a/core/settings/qPrefCloudStorage.cpp b/core/settings/qPrefCloudStorage.cpp
index 24b73394b..6caf619dd 100644
--- a/core/settings/qPrefCloudStorage.cpp
+++ b/core/settings/qPrefCloudStorage.cpp
@@ -31,7 +31,6 @@ void qPrefCloudStorage::set_cloud_base_url(const QString &value)
// only free and set if not default
if (prefs.cloud_base_url != default_prefs.cloud_base_url) {
qPrefPrivate::copy_txt(&prefs.cloud_base_url, value);
- qPrefPrivate::copy_txt(&prefs.cloud_git_url, value + "/git");
}
disk_cloud_base_url(true);
@@ -44,7 +43,6 @@ void qPrefCloudStorage::disk_cloud_base_url(bool doSync)
qPrefPrivate::propSetValue(keyFromGroupAndName(group, "cloud_base_url"), prefs.cloud_base_url, default_prefs.cloud_base_url);
} else {
prefs.cloud_base_url = copy_qstring(qPrefPrivate::propValue(keyFromGroupAndName(group, "cloud_base_url"), default_prefs.cloud_base_url).toString());
- qPrefPrivate::copy_txt(&prefs.cloud_git_url, QString(prefs.cloud_base_url) + "/git");
}
}
diff --git a/core/settings/qPrefCloudStorage.h b/core/settings/qPrefCloudStorage.h
index b0d24227a..d30f26ae0 100644
--- a/core/settings/qPrefCloudStorage.h
+++ b/core/settings/qPrefCloudStorage.h
@@ -9,7 +9,6 @@ class qPrefCloudStorage : public QObject {
Q_OBJECT
Q_PROPERTY(bool cloud_auto_sync READ cloud_auto_sync WRITE set_cloud_auto_sync NOTIFY cloud_auto_syncChanged)
Q_PROPERTY(QString cloud_base_url READ cloud_base_url WRITE set_cloud_base_url NOTIFY cloud_base_urlChanged)
- Q_PROPERTY(QString cloud_git_url READ cloud_git_url)
Q_PROPERTY(QString cloud_storage_email READ cloud_storage_email WRITE set_cloud_storage_email NOTIFY cloud_storage_emailChanged)
Q_PROPERTY(QString cloud_storage_email_encoded READ cloud_storage_email_encoded WRITE set_cloud_storage_email_encoded NOTIFY cloud_storage_email_encodedChanged)
Q_PROPERTY(QString cloud_storage_password READ cloud_storage_password WRITE set_cloud_storage_password NOTIFY cloud_storage_passwordChanged)
@@ -43,7 +42,6 @@ public:
static bool cloud_auto_sync() { return prefs.cloud_auto_sync; }
static QString cloud_base_url() { return prefs.cloud_base_url; }
- static QString cloud_git_url() { return prefs.cloud_git_url; }
static QString cloud_storage_email() { return prefs.cloud_storage_email; }
static QString cloud_storage_email_encoded() { return prefs.cloud_storage_email_encoded; }
static QString cloud_storage_password() { return prefs.cloud_storage_password; }
diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp
index 197c54bdd..9a2b9665d 100644
--- a/desktop-widgets/mainwindow.cpp
+++ b/desktop-widgets/mainwindow.cpp
@@ -628,8 +628,8 @@ void MainWindow::closeCurrentFile()
void MainWindow::updateCloudOnlineStatus()
{
- bool is_cloud = existing_filename && prefs.cloud_git_url && prefs.cloud_verification_status == qPrefCloudStorage::CS_VERIFIED &&
- strstr(existing_filename, prefs.cloud_git_url);
+ bool is_cloud = existing_filename && prefs.cloud_verification_status == qPrefCloudStorage::CS_VERIFIED &&
+ strstr(existing_filename, prefs.cloud_base_url);
ui.actionCloudOnline->setEnabled(is_cloud);
ui.actionCloudOnline->setChecked(is_cloud && !git_local_only);
}
@@ -1174,7 +1174,7 @@ void MainWindow::loadRecentFiles()
QString file = s.value(key).toString();
// never add our cloud URL to the recent files
- if (!same_string(prefs.cloud_git_url, "") && file.startsWith(prefs.cloud_git_url))
+ if (file.startsWith(prefs.cloud_base_url))
continue;
// but allow local git repos
QRegularExpression gitrepo("(.*)\\[[^]]+]");
@@ -1212,7 +1212,7 @@ void MainWindow::updateRecentFilesMenu()
void MainWindow::addRecentFile(const QString &file, bool update)
{
// never add Subsurface cloud file to the recent files - it has its own menu entry
- if (!same_string(prefs.cloud_git_url, "") && file.startsWith(prefs.cloud_git_url))
+ if (file.startsWith(prefs.cloud_base_url))
return;
QString localFile = QDir::toNativeSeparators(file);
int index = recentFiles.indexOf(localFile);
@@ -1262,9 +1262,8 @@ int MainWindow::file_save_as(void)
// if the default is to save to cloud storage, pick something that will work as local file:
// simply extract the branch name which should be the users email address
- if (default_filename && strstr(default_filename, prefs.cloud_git_url)) {
+ if (default_filename && strstr(default_filename, prefs.cloud_base_url)) {
QString filename(default_filename);
- filename.remove(prefs.cloud_git_url);
filename.remove(0, filename.indexOf("[") + 1);
filename.replace("]", ".ssrf");
default_filename = copy_qstring(filename);
@@ -1355,7 +1354,7 @@ QString MainWindow::displayedFilename(QString fullFilename)
QFileInfo fileInfo(f);
QString fileName(fileInfo.fileName());
- if (fullFilename.contains(prefs.cloud_git_url)) {
+ if (fullFilename.contains(prefs.cloud_base_url)) {
QString email = fileName.left(fileName.indexOf('['));
return git_local_only ?
tr("[local cache for] %1").arg(email) :
diff --git a/tests/testgitstorage.cpp b/tests/testgitstorage.cpp
index f916b4e40..95ad3c308 100644
--- a/tests/testgitstorage.cpp
+++ b/tests/testgitstorage.cpp
@@ -111,14 +111,13 @@ void TestGitStorage::initTestCase()
if (gitUrl.right(1) != "/")
gitUrl += "/";
gitUrl += "git";
- prefs.cloud_git_url = copy_qstring(gitUrl);
prefs.cloud_storage_email_encoded = copy_qstring(email);
prefs.cloud_storage_password = copy_qstring(password);
gitUrl += "/" + email;
// all user storage for historical reasons always uses the user's email both as
// repo name and as branch. To allow us to keep testing and not step on parallel
// runs we'll use actually random branch names - yes, this still has a chance of
- // conflict, but I'm not going to implement a distributed locak manager for this
+ // conflict, but I'm not going to implement a distributed lock manager for this
if (email.startsWith("gitstorage")) {
#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
randomBranch = QString::number(QRandomGenerator::global()->bounded(0x1000000), 16) +
diff --git a/tests/testqPrefCloudStorage.cpp b/tests/testqPrefCloudStorage.cpp
index 9d55ca743..a4e58ed82 100644
--- a/tests/testqPrefCloudStorage.cpp
+++ b/tests/testqPrefCloudStorage.cpp
@@ -23,7 +23,6 @@ void TestQPrefCloudStorage::test_struct_get()
prefs.cloud_auto_sync = true;
prefs.cloud_base_url = copy_qstring("new url");
- prefs.cloud_git_url = copy_qstring("new again url");
prefs.cloud_storage_email = copy_qstring("myEmail");
prefs.cloud_storage_email_encoded = copy_qstring("encodedMyEMail");
prefs.cloud_storage_password = copy_qstring("more secret");
@@ -34,7 +33,6 @@ void TestQPrefCloudStorage::test_struct_get()
QCOMPARE(tst->cloud_auto_sync(), prefs.cloud_auto_sync);
QCOMPARE(tst->cloud_base_url(), QString(prefs.cloud_base_url));
- QCOMPARE(tst->cloud_git_url(), QString(prefs.cloud_git_url));
QCOMPARE(tst->cloud_storage_email(), QString(prefs.cloud_storage_email));
QCOMPARE(tst->cloud_storage_email_encoded(), QString(prefs.cloud_storage_email_encoded));
QCOMPARE(tst->cloud_storage_password(), QString(prefs.cloud_storage_password));
@@ -69,9 +67,6 @@ void TestQPrefCloudStorage::test_set_struct()
QCOMPARE((int)prefs.cloud_timeout, 123);
QCOMPARE((int)prefs.cloud_verification_status, (int)qPrefCloudStorage::CS_VERIFIED);
QCOMPARE(prefs.save_password_local, false);
-
- // remark is set with set_base_url
- QCOMPARE(QString(prefs.cloud_git_url), QString("t2 base/git"));
}
void TestQPrefCloudStorage::test_set_load_struct()
@@ -92,7 +87,6 @@ void TestQPrefCloudStorage::test_set_load_struct()
prefs.cloud_auto_sync = false;
prefs.cloud_base_url = copy_qstring("error1");
- prefs.cloud_git_url = copy_qstring("error1");
prefs.cloud_storage_email = copy_qstring("error1");
prefs.cloud_storage_email_encoded = copy_qstring("error1");
prefs.cloud_storage_password = copy_qstring("error1");
@@ -111,9 +105,6 @@ void TestQPrefCloudStorage::test_set_load_struct()
QCOMPARE((int)prefs.cloud_timeout, 321);
QCOMPARE((int)prefs.cloud_verification_status, (int)qPrefCloudStorage::CS_NOCLOUD);
QCOMPARE(prefs.save_password_local, true);
-
- // remark is set with set_base_url
- QCOMPARE(QString(prefs.cloud_git_url), QString("t3 base/git"));
}
void TestQPrefCloudStorage::test_struct_disk()
@@ -136,7 +127,6 @@ void TestQPrefCloudStorage::test_struct_disk()
prefs.cloud_auto_sync = false;
prefs.cloud_base_url = copy_qstring("error1");
- prefs.cloud_git_url = copy_qstring("error1");
prefs.cloud_storage_email = copy_qstring("error1");
prefs.cloud_storage_email_encoded = copy_qstring("error1");
prefs.cloud_storage_password = copy_qstring("error1");
@@ -156,9 +146,6 @@ void TestQPrefCloudStorage::test_struct_disk()
QCOMPARE((int)prefs.cloud_timeout, 123);
QCOMPARE((int)prefs.cloud_verification_status, (int)qPrefCloudStorage::CS_VERIFIED);
QCOMPARE(prefs.save_password_local, true);
-
- // remark is set with set_base_url
- QCOMPARE(QString(prefs.cloud_git_url), QString("t4 base/git"));
}
void TestQPrefCloudStorage::test_multiple()
diff --git a/tests/tst_qPrefCloudStorage.qml b/tests/tst_qPrefCloudStorage.qml
index 7bc137d20..682fe1669 100644
--- a/tests/tst_qPrefCloudStorage.qml
+++ b/tests/tst_qPrefCloudStorage.qml
@@ -11,9 +11,6 @@ TestCase {
PrefCloudStorage.cloud_base_url = "my url"
compare(PrefCloudStorage.cloud_base_url, "my url")
- var x2 = PrefCloudStorage.cloud_git_url
- compare(PrefCloudStorage.cloud_git_url, "my url/git")
-
var x3 = PrefCloudStorage.cloud_storage_email
PrefCloudStorage.cloud_storage_email = "my email"
compare(PrefCloudStorage.cloud_storage_email, "my email")