aboutsummaryrefslogtreecommitdiffstats
path: root/qt-mobile
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-07-12 17:39:13 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-07-12 17:39:13 -0700
commit15de7f0b716b4e3c28fee4f4ccbac4788a8d84b1 (patch)
tree713cf409f07a3c616508a20a29d570daa790487f /qt-mobile
parent16759715e62a48ca3bb77a668a27103a6b90ea20 (diff)
downloadsubsurface-15de7f0b716b4e3c28fee4f4ccbac4788a8d84b1.tar.gz
QML UI: implement a message area to show information to the user
This is just a quick first stab to do this, but it at least allows us to share some information with the user. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-mobile')
-rw-r--r--qt-mobile/main.qml15
-rw-r--r--qt-mobile/qmlmanager.cpp23
2 files changed, 37 insertions, 1 deletions
diff --git a/qt-mobile/main.qml b/qt-mobile/main.qml
index ffe83d19b..dac37e09b 100644
--- a/qt-mobile/main.qml
+++ b/qt-mobile/main.qml
@@ -8,6 +8,7 @@ import org.subsurfacedivelog.mobile 1.0
ApplicationWindow {
title: qsTr("Subsurface mobile")
property bool fullscreen: true
+ property alias messageText: message.text
visible: true
StackView {
@@ -68,6 +69,20 @@ ApplicationWindow {
}
}
+ Rectangle {
+ id: messageArea
+ height: childrenRect.height
+ Layout.fillWidth: true
+
+ Text {
+ id: message
+ color: "#000000"
+ text: ""
+ styleColor: "#ff0000"
+ font.pointSize: 10
+ }
+ }
+
}
}
}
diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp
index 5ccd4cde7..118465a2d 100644
--- a/qt-mobile/qmlmanager.cpp
+++ b/qt-mobile/qmlmanager.cpp
@@ -1,11 +1,19 @@
#include "qmlmanager.h"
#include <QUrl>
#include <QSettings>
+#include <QDebug>
#include "qt-models/divelistmodel.h"
#include "divelist.h"
#include "pref.h"
#include "qthelper.h"
+#include "qt-gui.h"
+
+static void showMessage(const char *errorString)
+{
+ if (!qqWindowObject->setProperty("messageText", QVariant(errorString)))
+ qDebug() << "couldn't set property messageText to" << errorString;
+}
QMLManager::QMLManager()
{
@@ -25,20 +33,33 @@ void QMLManager::savePreferences()
s.setValue("email", cloudUserName());
s.setValue("password", cloudPassword());
s.sync();
+ if (!same_string(prefs.cloud_storage_email, qPrintable(cloudUserName()))) {
+ free(prefs.cloud_storage_email);
+ prefs.cloud_storage_email = strdup(qPrintable(cloudUserName()));
+ }
+ if (!same_string(prefs.cloud_storage_password, qPrintable(cloudPassword()))) {
+ free(prefs.cloud_storage_password);
+ prefs.cloud_storage_password = strdup(qPrintable(cloudPassword()));
+ }
}
void QMLManager::loadDives()
{
QString url;
if (getCloudURL(url)) {
- //TODO: Show error in QML
+ showMessage(get_error_string());
return;
}
+ showMessage("got email / password");
QByteArray fileNamePrt = QFile::encodeName(url);
int error = parse_file(fileNamePrt.data());
if (!error) {
+ report_error("filename is now %s", fileNamePrt.data());
+ showMessage(get_error_string());
set_filename(fileNamePrt.data(), true);
+ } else {
+ showMessage(get_error_string());
}
process_dives(false, false);
int i;