summaryrefslogtreecommitdiffstats
path: root/desktop-widgets
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-12-02 14:32:03 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-12-02 14:32:03 -0800
commit8f33403e4f70e5785b145ae483ab16992ab68431 (patch)
treefaa5b3b0decadb67cb2ef480bf08b605d8c7c3b9 /desktop-widgets
parent962341ae9f781e10a6276b9f7d81d9da72bd90f6 (diff)
downloadsubsurface-8f33403e4f70e5785b145ae483ab16992ab68431.tar.gz
Fetch the Subsurface webservice userid if cloud credentials were given
This allows users to not have to worry about this userid anymore. Both the mobile app and the desktop app can now derive the userid from the cloud storage credentials. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'desktop-widgets')
-rw-r--r--desktop-widgets/mainwindow.cpp1
-rw-r--r--desktop-widgets/subsurfacewebservices.cpp16
2 files changed, 13 insertions, 4 deletions
diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp
index 67666a68f..93cd2d408 100644
--- a/desktop-widgets/mainwindow.cpp
+++ b/desktop-widgets/mainwindow.cpp
@@ -209,6 +209,7 @@ MainWindow::MainWindow() : QMainWindow(),
if (!locationProvider->hasLocationsSource()) {
ui.menuFile->removeAction(ui.add_GPS_location_here);
}
+
ui.mainErrorMessage->hide();
graphics()->setEmptyState();
initialUiSetup();
diff --git a/desktop-widgets/subsurfacewebservices.cpp b/desktop-widgets/subsurfacewebservices.cpp
index d66d3653b..a11949122 100644
--- a/desktop-widgets/subsurfacewebservices.cpp
+++ b/desktop-widgets/subsurfacewebservices.cpp
@@ -385,10 +385,18 @@ void WebServices::resetState()
SubsurfaceWebServices::SubsurfaceWebServices(QWidget *parent, Qt::WindowFlags f) : WebServices(parent, f)
{
QSettings s;
- if (!prefs.save_userid_local || !*prefs.userid)
- ui.userID->setText(s.value("subsurface_webservice_uid").toString().toUpper());
- else
- ui.userID->setText(prefs.userid);
+
+ // figure out if we know (or can determine) the user's web service userid
+ QString userid(prefs.userid);
+ if (userid.isEmpty())
+ userid = s.value("subsurface_webservice_uid").toString().toUpper();
+ if (userid.isEmpty() &&
+ !same_string(prefs.cloud_storage_email, "") &&
+ !same_string(prefs.cloud_storage_password, ""))
+ userid = GpsLocation::instance()->getUserid(prefs.cloud_storage_email, prefs.cloud_storage_password);
+
+ ui.userID->setText(userid);
+
hidePassword();
hideUpload();
ui.progressBar->setFormat(tr("Enter User ID and click Download"));