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; QString url;
if (getCloudURL(url)) { if (getCloudURL(url)) {
showMessage(get_error_string()); showMessage(get_error_string());
appendTextToLog(get_error_string());
return; return;
} }
clear_dive_file_data(); clear_dive_file_data();
@ -67,6 +68,7 @@ void QMLManager::loadDives()
if (!error) { if (!error) {
report_error("filename is now %s", fileNamePrt.data()); report_error("filename is now %s", fileNamePrt.data());
showMessage(get_error_string()); showMessage(get_error_string());
appendTextToLog(get_error_string());
set_filename(fileNamePrt.data(), true); set_filename(fileNamePrt.data(), true);
} else { } else {
showMessage(get_error_string()); showMessage(get_error_string());
@ -114,15 +116,18 @@ void QMLManager::saveChanges()
QString fileName; QString fileName;
if (getCloudURL(fileName)) { if (getCloudURL(fileName)) {
showMessage(get_error_string()); showMessage(get_error_string());
appendTextToLog(get_error_string());
return; return;
} }
if (save_dives(fileName.toUtf8().data())) { if (save_dives(fileName.toUtf8().data())) {
showMessage(get_error_string()); showMessage(get_error_string());
appendTextToLog(get_error_string());
return; return;
} }
showMessage("Dives saved."); showMessage("Dives saved.");
appendTextToLog("Dive saved.");
set_filename(fileName.toUtf8().data(), true); set_filename(fileName.toUtf8().data(), true);
mark_divelist_changed(false); mark_divelist_changed(false);
} }
@ -130,9 +135,26 @@ void QMLManager::saveChanges()
void QMLManager::addDive() void QMLManager::addDive()
{ {
showMessage("Adding new dive."); showMessage("Adding new dive.");
appendTextToLog("Adding new dive.");
DiveListModel::instance()->startAddDive(); 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 bool QMLManager::saveCloudPassword() const
{ {
return m_saveCloudPassword; 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 cloudUserName READ cloudUserName WRITE setCloudUserName NOTIFY cloudUserNameChanged)
Q_PROPERTY(QString cloudPassword READ cloudPassword WRITE setCloudPassword NOTIFY cloudPasswordChanged) Q_PROPERTY(QString cloudPassword READ cloudPassword WRITE setCloudPassword NOTIFY cloudPasswordChanged)
Q_PROPERTY(bool saveCloudPassword READ saveCloudPassword WRITE setSaveCloudPassword NOTIFY saveCloudPasswordChanged) Q_PROPERTY(bool saveCloudPassword READ saveCloudPassword WRITE setSaveCloudPassword NOTIFY saveCloudPasswordChanged)
Q_PROPERTY(QString logText READ logText WRITE setLogText NOTIFY logTextChanged)
public: public:
QMLManager(); QMLManager();
~QMLManager(); ~QMLManager();
@ -23,6 +24,10 @@ public:
bool saveCloudPassword() const; bool saveCloudPassword() const;
void setSaveCloudPassword(bool saveCloudPassword); void setSaveCloudPassword(bool saveCloudPassword);
QString logText() const;
void setLogText(const QString &logText);
void appendTextToLog(const QString &newText);
public slots: public slots:
void savePreferences(); void savePreferences();
void loadDives(); void loadDives();
@ -33,11 +38,13 @@ private:
QString m_cloudUserName; QString m_cloudUserName;
QString m_cloudPassword; QString m_cloudPassword;
bool m_saveCloudPassword; bool m_saveCloudPassword;
QString m_logText;
signals: signals:
void cloudUserNameChanged(); void cloudUserNameChanged();
void cloudPasswordChanged(); void cloudPasswordChanged();
void saveCloudPasswordChanged(); void saveCloudPasswordChanged();
void logTextChanged();
}; };
#endif #endif