diff options
Diffstat (limited to 'qt-mobile')
-rw-r--r-- | qt-mobile/qmlmanager.cpp | 32 | ||||
-rw-r--r-- | qt-mobile/qmlmanager.h | 5 |
2 files changed, 19 insertions, 18 deletions
diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp index 2ebd11159..eb0ef7022 100644 --- a/qt-mobile/qmlmanager.cpp +++ b/qt-mobile/qmlmanager.cpp @@ -9,17 +9,21 @@ #include "qthelper.h" #include "qt-gui.h" -void qmlUiShowMessage(const char *errorString) +QMLManager *QMLManager::m_instance = NULL; + +static void appendTextToLogStandalone(const char *text) { - if (qqWindowObject && !qqWindowObject->setProperty("messageText", QVariant(errorString))) - qDebug() << "couldn't set property messageText to" << errorString; + QMLManager *mgr = QMLManager::instance(); + if (mgr) + mgr->appendTextToLog(QString(text)); } QMLManager::QMLManager() : m_locationServiceEnabled(false) { + m_instance = this; // create location manager service - locationProvider = new GpsLocation(&qmlUiShowMessage, this); + locationProvider = new GpsLocation(&appendTextToLogStandalone, this); // Initialize cloud credentials. setCloudUserName(prefs.cloud_storage_email); @@ -37,6 +41,12 @@ QMLManager::QMLManager() : QMLManager::~QMLManager() { + m_instance = NULL; +} + +QMLManager *QMLManager::instance() +{ + return m_instance; } void QMLManager::savePreferences() @@ -95,16 +105,13 @@ void QMLManager::saveCloudCredentials() void QMLManager::loadDives() { if (same_string(prefs.cloud_storage_email, "") || same_string(prefs.cloud_storage_password, "")) { - qmlUiShowMessage("Please set up cloud storage credentials"); appendTextToLog("Unable to load dives; cloud storage credentials missing"); return; } - qmlUiShowMessage("Loading dives..."); appendTextToLog("Loading dives..."); QString url; if (getCloudURL(url)) { - qmlUiShowMessage(get_error_string()); appendTextToLog(get_error_string()); return; } @@ -115,13 +122,11 @@ void QMLManager::loadDives() if (!error) { report_error("filename is now %s", fileNamePrt.data()); const char *error_string = get_error_string(); - qmlUiShowMessage(error_string); appendTextToLog(error_string); set_filename(fileNamePrt.data(), true); } else { report_error("failed to open file %s", fileNamePrt.data()); const char *error_string = get_error_string(); - qmlUiShowMessage(error_string); appendTextToLog(error_string); return; } @@ -170,24 +175,21 @@ void QMLManager::commitChanges(QString diveId, QString suit, QString buddy, QStr void QMLManager::saveChanges() { if (!loadFromCloud()) { - qmlUiShowMessage("Don't save dives without loading from the cloud, first."); + appendTextToLog("Don't save dives without loading from the cloud, first."); return; } - qmlUiShowMessage("Saving dives."); + appendTextToLog("Saving dives."); QString fileName; if (getCloudURL(fileName)) { - qmlUiShowMessage(get_error_string()); appendTextToLog(get_error_string()); return; } if (save_dives(fileName.toUtf8().data())) { - qmlUiShowMessage(get_error_string()); appendTextToLog(get_error_string()); return; } - qmlUiShowMessage("Dives saved."); appendTextToLog("Dive saved."); set_filename(fileName.toUtf8().data(), true); mark_divelist_changed(false); @@ -195,7 +197,6 @@ void QMLManager::saveChanges() void QMLManager::addDive() { - qmlUiShowMessage("Adding new dive."); appendTextToLog("Adding new dive."); DiveListModel::instance()->startAddDive(); } @@ -233,7 +234,6 @@ void QMLManager::appendTextToLog(const QString &newText) emit logTextChanged(); } - bool QMLManager::saveCloudPassword() const { return m_saveCloudPassword; diff --git a/qt-mobile/qmlmanager.h b/qt-mobile/qmlmanager.h index f91417519..22feadba3 100644 --- a/qt-mobile/qmlmanager.h +++ b/qt-mobile/qmlmanager.h @@ -6,8 +6,6 @@ #include "gpslocation.h" -void qmlUiShowMessage(const char *errorString); - class QMLManager : public QObject { Q_OBJECT @@ -23,6 +21,8 @@ public: QMLManager(); ~QMLManager(); + static QMLManager *instance(); + QString cloudUserName() const; void setCloudUserName(const QString &cloudUserName); @@ -70,6 +70,7 @@ private: int m_timeThreshold; GpsLocation *locationProvider; bool m_loadFromCloud; + static QMLManager *m_instance; signals: void cloudUserNameChanged(); |