mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
prefs: git_local_only is not a preference
It's the current state of the app, so it should be a global variable, not a preference. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
6e4a253896
commit
ae653703a5
11 changed files with 44 additions and 62 deletions
|
|
@ -63,7 +63,7 @@ bool CheckCloudConnection::checkServer()
|
|||
}
|
||||
}
|
||||
git_storage_update_progress(qPrintable(tr("Cloud connection failed")));
|
||||
prefs.git_local_only = true;
|
||||
git_local_only = true;
|
||||
if (verbose)
|
||||
qDebug() << "connection test to cloud server failed" <<
|
||||
reply->error() << reply->errorString() <<
|
||||
|
|
|
|||
|
|
@ -27,6 +27,15 @@
|
|||
|
||||
bool is_subsurface_cloud = false;
|
||||
|
||||
// the mobile app assumes that it shouldn't talk to the cloud
|
||||
// the desktop app assumes that it should
|
||||
#if defined(SUBSURFACE_MOBILE)
|
||||
bool git_local_only = true;
|
||||
#else
|
||||
bool git_local_only = false;
|
||||
#endif
|
||||
|
||||
|
||||
int (*update_progress_cb)(const char *) = NULL;
|
||||
|
||||
static bool includes_string_caseinsensitive(const char *haystack, const char *needle)
|
||||
|
|
@ -590,7 +599,7 @@ int sync_with_remote(git_repository *repo, const char *remote, const char *branc
|
|||
char *proxy_string;
|
||||
git_config *conf;
|
||||
|
||||
if (prefs.git_local_only) {
|
||||
if (git_local_only) {
|
||||
if (verbose)
|
||||
fprintf(stderr, "don't sync with remote - read from cache only\n");
|
||||
return 0;
|
||||
|
|
@ -650,7 +659,7 @@ int sync_with_remote(git_repository *repo, const char *remote, const char *branc
|
|||
fprintf(stderr, "remote fetch failed (%s)\n",
|
||||
giterr_last() ? giterr_last()->message : "authentication failed");
|
||||
// Since we failed to sync with online repository, enter offline mode
|
||||
prefs.git_local_only = true;
|
||||
git_local_only = true;
|
||||
error = 0;
|
||||
} else {
|
||||
error = check_remote_status(repo, origin, remote, branch, rt);
|
||||
|
|
@ -676,7 +685,7 @@ static git_repository *update_local_repo(const char *localdir, const char *remot
|
|||
report_error("Unable to open git cache repository at %s: %s", localdir, giterr_last()->message);
|
||||
return NULL;
|
||||
}
|
||||
if (!prefs.git_local_only)
|
||||
if (!git_local_only)
|
||||
sync_with_remote(repo, remote, branch, rt);
|
||||
|
||||
return repo;
|
||||
|
|
@ -837,10 +846,10 @@ static struct git_repository *get_remote_repo(const char *localdir, const char *
|
|||
* remote cloud repo.
|
||||
*/
|
||||
git_repository *ret;
|
||||
bool glo = prefs.git_local_only;
|
||||
prefs.git_local_only = false;
|
||||
bool glo = git_local_only;
|
||||
git_local_only = false;
|
||||
ret = create_local_repo(localdir, remote, branch, rt);
|
||||
prefs.git_local_only = glo;
|
||||
git_local_only = glo;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ extern int git_load_dives(struct git_repository *, const char *);
|
|||
extern const char *get_sha(git_repository *repo, const char *branch);
|
||||
extern int do_git_save(git_repository *repo, const char *branch, const char *remote, bool select_only, bool create_empty);
|
||||
extern const char *saved_git_id;
|
||||
extern bool git_local_only;
|
||||
extern void clear_git_id(void);
|
||||
extern void set_git_id(const struct git_oid *);
|
||||
extern enum remote_transport url_to_remote_transport(const char *remote);
|
||||
|
|
|
|||
|
|
@ -96,7 +96,6 @@ struct preferences {
|
|||
const char *cloud_storage_pin;
|
||||
short cloud_timeout;
|
||||
short cloud_verification_status;
|
||||
bool git_local_only;
|
||||
bool save_password_local;
|
||||
bool save_userid_local;
|
||||
const char *userid;
|
||||
|
|
|
|||
|
|
@ -1271,7 +1271,7 @@ int do_git_save(git_repository *repo, const char *branch, const char *remote, bo
|
|||
return report_error("creating commit failed");
|
||||
|
||||
/* now sync the tree with the remote server */
|
||||
if (remote && !prefs.git_local_only)
|
||||
if (remote && !git_local_only)
|
||||
return sync_with_remote(repo, remote, branch, url_to_remote_transport(remote));
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ void qPrefCloudStorage::loadSync(bool doSync)
|
|||
disk_cloud_storage_pin(doSync);
|
||||
disk_cloud_timeout(doSync);
|
||||
disk_cloud_verification_status(doSync);
|
||||
disk_git_local_only(doSync);
|
||||
disk_save_password_local(doSync);
|
||||
disk_save_userid_local(doSync);
|
||||
disk_userid(doSync);
|
||||
|
|
@ -92,8 +91,6 @@ HANDLE_PREFERENCE_INT(CloudStorage, "timeout", cloud_timeout);
|
|||
|
||||
HANDLE_PREFERENCE_INT(CloudStorage, "cloud_verification_status", cloud_verification_status);
|
||||
|
||||
HANDLE_PREFERENCE_BOOL(CloudStorage, "git_local_only", git_local_only);
|
||||
|
||||
HANDLE_PREFERENCE_BOOL(CloudStorage, "save_password_local", save_password_local);
|
||||
|
||||
HANDLE_PREFERENCE_BOOL(CloudStorage, "save_userid_local", save_userid_local);
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ class qPrefCloudStorage : public QObject {
|
|||
Q_PROPERTY(QString cloud_storage_pin READ cloud_storage_pin WRITE set_cloud_storage_pin NOTIFY cloud_storage_pin_changed);
|
||||
Q_PROPERTY(int cloud_verification_status READ cloud_verification_status WRITE set_cloud_verification_status NOTIFY cloud_verification_status_changed);
|
||||
Q_PROPERTY(int cloud_timeout READ cloud_timeout WRITE set_cloud_timeout NOTIFY cloud_timeout_changed);
|
||||
Q_PROPERTY(bool git_local_only READ git_local_only WRITE set_git_local_only NOTIFY git_local_only_changed);
|
||||
Q_PROPERTY(bool save_password_local READ save_password_local WRITE set_save_password_local NOTIFY save_password_local_changed);
|
||||
Q_PROPERTY(bool save_userid_local READ save_userid_local WRITE set_save_userid_local NOTIFY save_userid_local_changed);
|
||||
Q_PROPERTY(QString userid READ userid WRITE set_userid NOTIFY userid_changed);
|
||||
|
|
@ -40,7 +39,6 @@ public:
|
|||
static QString cloud_storage_pin() { return prefs.cloud_storage_pin; }
|
||||
static int cloud_timeout() { return prefs.cloud_timeout; }
|
||||
static int cloud_verification_status() { return prefs.cloud_verification_status; }
|
||||
static bool git_local_only() { return prefs.git_local_only; }
|
||||
static bool save_password_local() { return prefs.save_password_local; }
|
||||
static bool save_userid_local() { return prefs.save_userid_local; }
|
||||
static QString userid() { return prefs.userid; }
|
||||
|
|
@ -54,7 +52,6 @@ public slots:
|
|||
static void set_cloud_storage_pin(const QString &value);
|
||||
static void set_cloud_timeout(int value);
|
||||
static void set_cloud_verification_status(int value);
|
||||
static void set_git_local_only(bool value);
|
||||
static void set_save_password_local(bool value);
|
||||
static void set_save_userid_local(bool value);
|
||||
static void set_userid(const QString &value);
|
||||
|
|
@ -68,7 +65,6 @@ signals:
|
|||
void cloud_storage_pin_changed(const QString &value);
|
||||
void cloud_timeout_changed(int value);
|
||||
void cloud_verification_status_changed(int value);
|
||||
void git_local_only_changed(bool value);
|
||||
void save_password_local_changed(bool value);
|
||||
void save_userid_local_changed(bool value);
|
||||
void userid_changed(const QString &value);
|
||||
|
|
@ -83,7 +79,6 @@ private:
|
|||
static void disk_cloud_storage_pin(bool doSync);
|
||||
static void disk_cloud_timeout(bool doSync);
|
||||
static void disk_cloud_verification_status(bool doSync);
|
||||
static void disk_git_local_only(bool doSync);
|
||||
static void disk_save_password_local(bool doSync);
|
||||
static void disk_save_userid_local(bool doSync);
|
||||
static void disk_userid(bool doSync);
|
||||
|
|
|
|||
|
|
@ -12,9 +12,6 @@
|
|||
struct preferences prefs, git_prefs;
|
||||
struct preferences default_prefs = {
|
||||
.cloud_base_url = "https://cloud.subsurface-divelog.org/",
|
||||
#if defined(SUBSURFACE_MOBILE)
|
||||
.git_local_only = true,
|
||||
#endif
|
||||
.units = SI_UNITS,
|
||||
.unit_system = METRIC,
|
||||
.coordinates_traditional = true,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue