diff options
author | Grace Karanja <gracie.karanja89@gmail.com> | 2015-08-19 10:17:52 +0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-08-31 15:49:09 -0700 |
commit | ee13c5c2820a2549914ddd19d039ba1e3ebb1d08 (patch) | |
tree | 42fa34cbed2a9ef79b52e9a57b533df68615a4b2 /qt-mobile | |
parent | ab7db605e5d0596a40aa0c441aa9295aaea0ca79 (diff) | |
download | subsurface-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.qml | 27 | ||||
-rw-r--r-- | qt-mobile/qmlmanager.cpp | 22 | ||||
-rw-r--r-- | qt-mobile/qmlmanager.h | 7 |
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 |