diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2015-10-06 08:53:54 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-10-06 08:53:54 +0100 |
commit | 2e6afb8e8900739080e9df206546913d5da06a12 (patch) | |
tree | 69c1740128595d4eee04fe1dbf088d9433283aed | |
parent | e5fa424a67b351a7c08ab4c9b2396b612635bef4 (diff) | |
download | subsurface-2e6afb8e8900739080e9df206546913d5da06a12.tar.gz |
Correctly handle the webservice userid in preferences
Because of the way that the webservice userid can be saved both in the
preferences and in a data file it was treated differently than other
preferences settings - which prevented the reset of the preferences from
actually clearing it.
This patch makes sure that if the preferences are reset the preferences UI
reflects that. To make this work the data file loading functions can no
longer be allowed to just simply clear out the userid preference value
just in case they might load a new one.
Fixes #939
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | load-git.c | 1 | ||||
-rw-r--r-- | parse-xml.c | 1 | ||||
-rw-r--r-- | qt-ui/preferences.cpp | 1 | ||||
-rw-r--r-- | qthelper.cpp | 3 |
4 files changed, 4 insertions, 2 deletions
diff --git a/load-git.c b/load-git.c index 8c7df7bcc..3c593bb4c 100644 --- a/load-git.c +++ b/load-git.c @@ -1469,7 +1469,6 @@ static int parse_settings_entry(git_repository *repo, const git_tree_entry *entr if (!blob) return report_error("Unable to read settings file"); set_save_userid_local(false); - set_userid(""); for_each_line(blob, settings_parser, NULL); git_blob_free(blob); return 0; diff --git a/parse-xml.c b/parse-xml.c index 5f4b667c5..3d86222b9 100644 --- a/parse-xml.c +++ b/parse-xml.c @@ -2022,7 +2022,6 @@ int parse_xml_buffer(const char *url, const char *buffer, int size, return report_error(translate("gettextFromC", "Failed to parse '%s'"), url); set_save_userid_local(false); - set_userid(""); reset_all(); dive_start(); doc = test_xslt_transforms(doc, params); diff --git a/qt-ui/preferences.cpp b/qt-ui/preferences.cpp index 615f0b84e..32f05c4ab 100644 --- a/qt-ui/preferences.cpp +++ b/qt-ui/preferences.cpp @@ -239,6 +239,7 @@ void PreferencesDialog::setUiFromPrefs() ui.save_password_local->setChecked(prefs.save_password_local); cloudPinNeeded(); ui.cloud_background_sync->setChecked(prefs.cloud_background_sync); + ui.default_uid->setText(prefs.userid); // GeoManagement #ifdef DISABLED diff --git a/qthelper.cpp b/qthelper.cpp index 4b80a8093..d24bfde53 100644 --- a/qthelper.cpp +++ b/qthelper.cpp @@ -1536,6 +1536,9 @@ void loadPreferences() prefs.cloud_git_url = strdup(qPrintable(QString(prefs.cloud_base_url) + "/git")); s.endGroup(); + // Subsurface webservice id is stored outside of the groups + GET_TXT("subsurface_webservice_uid", userid); + // GeoManagement s.beginGroup("geocoding"); #ifdef DISABLED |