mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
mobile-widgets: add oldStatus variable to qmlmanager
oldStatus() is kept in qmlPrefs during the login process to allow for a couple of special cases: - if a user have added dives in NO_CLOUD mode and changes to use the cloud these dives are copied to the Cloud, instead of being lost. - if a user does a bailout from the login process (this should not happen anymore) the old status is restored. The pure solution would be to have oldStatus at the top level (e.g. a property in qml) and only change it when actually being in the login process, however due to way the qmlmanager is written it proved very difficult and not worth the effort. In order to be able to remove qmlPrefs, oldStatus are moved to qmlManager. This commit only contain the creation of the variable and the supporting code. Signed-off-by: Jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
25e17443f9
commit
3d6d71aa9f
2 changed files with 22 additions and 1 deletions
|
@ -154,7 +154,8 @@ QMLManager::QMLManager() : m_locationServiceEnabled(false),
|
|||
m_selectedDiveTimestamp(0),
|
||||
alreadySaving(false),
|
||||
m_pluggedInDeviceName(""),
|
||||
m_showNonDiveComputers(false)
|
||||
m_showNonDiveComputers(false),
|
||||
m_oldStatus(qPrefCloudStorage::CS_UNKNOWN)
|
||||
{
|
||||
m_instance = this;
|
||||
m_lastDevicePixelRatio = qApp->devicePixelRatio();
|
||||
|
@ -2196,3 +2197,15 @@ void QMLManager::uploadFinishSlot(bool success, const QString &text, const QByte
|
|||
emit uploadFinish(success, text);
|
||||
}
|
||||
|
||||
qPrefCloudStorage::cloud_status QMLManager::oldStatus() const
|
||||
{
|
||||
return m_oldStatus;
|
||||
}
|
||||
|
||||
void QMLManager::setOldStatus(const qPrefCloudStorage::cloud_status value)
|
||||
{
|
||||
if (m_oldStatus != value) {
|
||||
m_oldStatus = value;
|
||||
emit oldStatusChanged();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#include "qt-models/divelistmodel.h"
|
||||
#include "qt-models/completionmodels.h"
|
||||
#include "qt-models/divelocationmodel.h"
|
||||
#include "core/settings/qPrefCloudStorage.h"
|
||||
|
||||
#define NOCLOUD_LOCALSTORAGE format_string("%s/cloudstorage/localrepo[master]", system_default_directory())
|
||||
|
||||
|
@ -49,6 +50,8 @@ class QMLManager : public QObject {
|
|||
Q_PROPERTY(int DC_deviceId READ DC_deviceId WRITE DC_setDeviceId)
|
||||
Q_PROPERTY(QString pluggedInDeviceName MEMBER m_pluggedInDeviceName NOTIFY pluggedInDeviceNameChanged)
|
||||
Q_PROPERTY(bool showNonDiveComputers MEMBER m_showNonDiveComputers WRITE setShowNonDiveComputers NOTIFY showNonDiveComputersChanged)
|
||||
Q_PROPERTY(qPrefCloudStorage::cloud_status oldStatus MEMBER m_oldStatus WRITE setOldStatus NOTIFY oldStatusChanged)
|
||||
|
||||
public:
|
||||
QMLManager();
|
||||
~QMLManager();
|
||||
|
@ -163,6 +166,8 @@ public:
|
|||
#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
|
||||
void writeToAppLogFile(QString logText);
|
||||
#endif
|
||||
qPrefCloudStorage::cloud_status oldStatus() const;
|
||||
void setOldStatus(const qPrefCloudStorage::cloud_status value);
|
||||
|
||||
public slots:
|
||||
void appInitialized();
|
||||
|
@ -273,6 +278,7 @@ private:
|
|||
QFile appLogFile;
|
||||
bool appLogFileOpen;
|
||||
#endif
|
||||
qPrefCloudStorage::cloud_status m_oldStatus;
|
||||
|
||||
signals:
|
||||
void locationServiceEnabledChanged();
|
||||
|
@ -295,11 +301,13 @@ signals:
|
|||
void pluggedInDeviceNameChanged();
|
||||
void showNonDiveComputersChanged();
|
||||
void DC_ForceDownloadChanged();
|
||||
void oldStatusChanged();
|
||||
|
||||
// From upload process
|
||||
void uploadFinish(bool success, const QString &text);
|
||||
void uploadProgress(qreal percentage);
|
||||
|
||||
|
||||
private slots:
|
||||
void uploadFinishSlot(bool success, const QString &text, const QByteArray &html);
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue