aboutsummaryrefslogtreecommitdiffstats
path: root/qt-mobile
diff options
context:
space:
mode:
authorGravatar Grace Karanja <gracie.karanja89@gmail.com>2015-08-19 10:17:52 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-08-31 15:49:09 -0700
commitee13c5c2820a2549914ddd19d039ba1e3ebb1d08 (patch)
tree42fa34cbed2a9ef79b52e9a57b533df68615a4b2 /qt-mobile
parentab7db605e5d0596a40aa0c441aa9295aaea0ca79 (diff)
downloadsubsurface-ee13c5c2820a2549914ddd19d039ba1e3ebb1d08.tar.gz
QML UI: Add QML Log viewer
Add the ability to preview the application log in QML. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
Diffstat (limited to 'qt-mobile')
-rw-r--r--qt-mobile/Log.qml27
-rw-r--r--qt-mobile/qmlmanager.cpp22
-rw-r--r--qt-mobile/qmlmanager.h7
3 files changed, 56 insertions, 0 deletions
diff --git a/qt-mobile/Log.qml b/qt-mobile/Log.qml
new file mode 100644
index 000000000..f51b4ac94
--- /dev/null
+++ b/qt-mobile/Log.qml
@@ -0,0 +1,27 @@
+import QtQuick 2.3
+import QtQuick.Controls 1.2
+import QtQuick.Controls.Styles 1.2
+import QtQuick.Window 2.2
+import QtQuick.Dialogs 1.2
+import QtQuick.Layouts 1.1
+import QtQuick.Window 2.2
+import org.subsurfacedivelog.mobile 1.0
+
+Item {
+ id: logWindow
+ width: parent.width
+
+ ColumnLayout {
+ width: parent.width
+ spacing: 8
+
+ TopBar {
+ height: childrenRect.height
+ }
+
+ TextEdit {
+ anchors.fill: height
+ text: manager.logText
+ }
+ }
+}
diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp
index 021c9c0d0..7b0571861 100644
--- a/qt-mobile/qmlmanager.cpp
+++ b/qt-mobile/qmlmanager.cpp
@@ -58,6 +58,7 @@ void QMLManager::loadDives()
QString url;
if (getCloudURL(url)) {
showMessage(get_error_string());
+ appendTextToLog(get_error_string());
return;
}
clear_dive_file_data();
@@ -67,6 +68,7 @@ void QMLManager::loadDives()
if (!error) {
report_error("filename is now %s", fileNamePrt.data());
showMessage(get_error_string());
+ appendTextToLog(get_error_string());
set_filename(fileNamePrt.data(), true);
} else {
showMessage(get_error_string());
@@ -114,15 +116,18 @@ void QMLManager::saveChanges()
QString fileName;
if (getCloudURL(fileName)) {
showMessage(get_error_string());
+ appendTextToLog(get_error_string());
return;
}
if (save_dives(fileName.toUtf8().data())) {
showMessage(get_error_string());
+ appendTextToLog(get_error_string());
return;
}
showMessage("Dives saved.");
+ appendTextToLog("Dive saved.");
set_filename(fileName.toUtf8().data(), true);
mark_divelist_changed(false);
}
@@ -130,9 +135,26 @@ void QMLManager::saveChanges()
void QMLManager::addDive()
{
showMessage("Adding new dive.");
+ appendTextToLog("Adding new dive.");
DiveListModel::instance()->startAddDive();
}
+QString QMLManager::logText() const
+{
+ return m_logText;
+}
+
+void QMLManager::setLogText(const QString &logText)
+{
+ m_logText = logText;
+}
+
+void QMLManager::appendTextToLog(const QString &newText)
+{
+ m_logText += "\n" + newText;
+}
+
+
bool QMLManager::saveCloudPassword() const
{
return m_saveCloudPassword;
diff --git a/qt-mobile/qmlmanager.h b/qt-mobile/qmlmanager.h
index 4bd8488e8..d1431980d 100644
--- a/qt-mobile/qmlmanager.h
+++ b/qt-mobile/qmlmanager.h
@@ -10,6 +10,7 @@ class QMLManager : public QObject
Q_PROPERTY(QString cloudUserName READ cloudUserName WRITE setCloudUserName NOTIFY cloudUserNameChanged)
Q_PROPERTY(QString cloudPassword READ cloudPassword WRITE setCloudPassword NOTIFY cloudPasswordChanged)
Q_PROPERTY(bool saveCloudPassword READ saveCloudPassword WRITE setSaveCloudPassword NOTIFY saveCloudPasswordChanged)
+ Q_PROPERTY(QString logText READ logText WRITE setLogText NOTIFY logTextChanged)
public:
QMLManager();
~QMLManager();
@@ -23,6 +24,10 @@ public:
bool saveCloudPassword() const;
void setSaveCloudPassword(bool saveCloudPassword);
+ QString logText() const;
+ void setLogText(const QString &logText);
+ void appendTextToLog(const QString &newText);
+
public slots:
void savePreferences();
void loadDives();
@@ -33,11 +38,13 @@ private:
QString m_cloudUserName;
QString m_cloudPassword;
bool m_saveCloudPassword;
+ QString m_logText;
signals:
void cloudUserNameChanged();
void cloudPasswordChanged();
void saveCloudPasswordChanged();
+ void logTextChanged();
};
#endif