mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
mobile: remove superfluous state VALID_EMAIL
This is a no-brainer removal of the VALID_EMAIL state used in QMLManager.
All current usage of this state is "if state is VALID or VALID_EMAIL",
so there is no distinction between the two states.
It is even a little different. The comment suggests "when we can open
a local cloud storage, tied to a cloud account (so explicitly not
the no-cloud status), we have at least a valid email". While this
is formally true, this implies that there is also a cloud account
on the cloud server (ie. the cloud account is in a VERIFIED state).
In other words: currently, there can't exist a valid local storage
that is tied to a valid email adress, without valid cloud account
on the server.
Notice that this touches the discussion on GitHub for commit
e76f527fe5
(pull request #520). Can we implement the creation
of a valid cloud account without data link to the cloud server?
Currently, we need the server to confirm the email address (for
example for uniqueness reasons on server side). Obviously, we could
hack our way out of this, but we have a perfect solution already
in place. Create a no-cloud account, and transfer that later to
a true and valid cloud account.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
This commit is contained in:
parent
b9404b0905
commit
190d80e509
4 changed files with 8 additions and 9 deletions
|
@ -24,7 +24,7 @@ Kirigami.ScrollablePage {
|
|||
supportsRefreshing: true
|
||||
onRefreshingChanged: {
|
||||
if (refreshing) {
|
||||
if (manager.credentialStatus === QMLManager.VALID || manager.credentialStatus === QMLManager.VALID_EMAIL) {
|
||||
if (manager.credentialStatus === QMLManager.VALID) {
|
||||
console.log("User pulled down dive list - syncing with cloud storage")
|
||||
detailsWindow.endEditMode()
|
||||
manager.saveChangesCloud(true)
|
||||
|
@ -266,7 +266,7 @@ Kirigami.ScrollablePage {
|
|||
StartPage {
|
||||
id: startPage
|
||||
anchors.fill: parent
|
||||
opacity: credentialStatus === QMLManager.NOCLOUD || (credentialStatus === QMLManager.VALID || credentialStatus === QMLManager.VALID_EMAIL) ? 0 : 1
|
||||
opacity: credentialStatus === QMLManager.NOCLOUD || (credentialStatus === QMLManager.VALID) ? 0 : 1
|
||||
visible: opacity > 0
|
||||
Behavior on opacity { NumberAnimation { duration: Kirigami.Units.shortDuration } }
|
||||
function setupActions() {
|
||||
|
@ -274,7 +274,7 @@ Kirigami.ScrollablePage {
|
|||
page.actions.main = page.saveAction
|
||||
page.actions.right = page.offlineAction
|
||||
page.title = qsTr("Cloud credentials")
|
||||
} else if(manager.credentialStatus === QMLManager.VALID || manager.credentialStatus === QMLManager.VALID_EMAIL || manager.credentialStatus === QMLManager.NOCLOUD) {
|
||||
} else if(manager.credentialStatus === QMLManager.VALID || manager.credentialStatus === QMLManager.NOCLOUD) {
|
||||
page.actions.main = page.downloadFromDCAction
|
||||
page.actions.right = page.addDiveAction
|
||||
page.title = qsTr("Dive list")
|
||||
|
|
|
@ -120,7 +120,7 @@ Kirigami.ApplicationWindow {
|
|||
if (manager.credentialStatus == QMLManager.UNKNOWN) {
|
||||
// the user has asked to change credentials - if the credentials before that
|
||||
// were valid, go back to dive list
|
||||
if (oldStatus == QMLManager.VALID || oldStatus == QMLManager.VALID_EMAIL) {
|
||||
if (oldStatus == QMLManager.VALID) {
|
||||
manager.credentialStatus = oldStatus
|
||||
}
|
||||
}
|
||||
|
@ -134,7 +134,7 @@ Kirigami.ApplicationWindow {
|
|||
Kirigami.Action {
|
||||
iconName: "icons/ic_add.svg"
|
||||
text: qsTr("Add dive manually")
|
||||
enabled: manager.credentialStatus === QMLManager.VALID || manager.credentialStatus === QMLManager.VALID_EMAIL || manager.credentialStatus === QMLManager.NOCLOUD
|
||||
enabled: manager.credentialStatus === QMLManager.VALID || manager.credentialStatus === QMLManager.NOCLOUD
|
||||
onTriggered: {
|
||||
returnTopPage() // otherwise odd things happen with the page stack
|
||||
startAddDive()
|
||||
|
@ -159,7 +159,7 @@ Kirigami.ApplicationWindow {
|
|||
Kirigami.Action {
|
||||
iconName: "icons/cloud_sync.svg"
|
||||
text: qsTr("Manual sync with cloud")
|
||||
enabled: manager.credentialStatus === QMLManager.VALID || manager.credentialStatus === QMLManager.VALID_EMAIL || manager.credentialStatus === QMLManager.NOCLOUD
|
||||
enabled: manager.credentialStatus === QMLManager.VALID || manager.credentialStatus === QMLManager.NOCLOUD
|
||||
onTriggered: {
|
||||
if (manager.credentialStatus === QMLManager.NOCLOUD) {
|
||||
returnTopPage()
|
||||
|
|
|
@ -173,9 +173,9 @@ void QMLManager::openLocalThenRemote(QString url)
|
|||
appendTextToLog(QStringLiteral("loading dives from cache failed %1").arg(error));
|
||||
setNotificationText(tr("Opening local data file failed"));
|
||||
} else {
|
||||
// if we can load from the cache, we know that we have at least a valid email
|
||||
// if we can load from the cache, we know that we have a valid cloud account
|
||||
if (credentialStatus() == UNKNOWN)
|
||||
setCredentialStatus(VALID_EMAIL);
|
||||
setCredentialStatus(VALID);
|
||||
prefs.unit_system = git_prefs.unit_system;
|
||||
if (git_prefs.unit_system == IMPERIAL)
|
||||
git_prefs.units = IMPERIAL_units;
|
||||
|
|
|
@ -52,7 +52,6 @@ public:
|
|||
INCOMPLETE,
|
||||
UNKNOWN,
|
||||
INVALID,
|
||||
VALID_EMAIL,
|
||||
VALID,
|
||||
NOCLOUD
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue