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>
This commit is contained in:
Grace Karanja 2015-08-19 10:17:52 +03:00 committed by Dirk Hohndel
parent ab7db605e5
commit ee13c5c282
3 changed files with 56 additions and 0 deletions

27
qt-mobile/Log.qml Normal file
View file

@ -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
}
}
}

View file

@ -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;

View file

@ -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