mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-17 20:16:16 +00:00
QML UI: clean up notes field after edit
We don't want any of the rich text markup to sneak into our fields. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
a0d3480bbe
commit
624e44e73d
3 changed files with 13 additions and 8 deletions
|
@ -80,9 +80,9 @@ MobileComponents.Page {
|
|||
iconName: "document-save"
|
||||
onTriggered: {
|
||||
// apply the changes to the dive_table
|
||||
manager.commitChanges(dive_id, detailsEdit.dateText, detailsEdit.locationText, detailsEdit.gpsText, detailsEdit.durationText,
|
||||
detailsEdit.depthText, detailsEdit.airtempText, detailsEdit.watertempText, detailsEdit.suitText,
|
||||
detailsEdit.buddyText, detailsEdit.divemasterText, detailsEdit.notesText)
|
||||
notes = manager.commitChanges(dive_id, detailsEdit.dateText, detailsEdit.locationText, detailsEdit.gpsText, detailsEdit.durationText,
|
||||
detailsEdit.depthText, detailsEdit.airtempText, detailsEdit.watertempText, detailsEdit.suitText,
|
||||
detailsEdit.buddyText, detailsEdit.divemasterText, detailsEdit.notesText)
|
||||
// apply the changes to the dive detail view
|
||||
date = detailsEdit.dateText
|
||||
location = detailsEdit.locationText
|
||||
|
@ -93,7 +93,6 @@ MobileComponents.Page {
|
|||
suit = detailsEdit.suitText
|
||||
buddy = detailsEdit.buddyText
|
||||
divemaster = detailsEdit.divemasterText
|
||||
notes = detailsEdit.notesText
|
||||
// back to view state and close the drawer
|
||||
diveDetailsWindow.state = "view"
|
||||
contextDrawer.close()
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include <QNetworkAccessManager>
|
||||
#include <QAuthenticator>
|
||||
#include <QDesktopServices>
|
||||
#include <QTextDocument>
|
||||
|
||||
#include "qt-models/divelistmodel.h"
|
||||
#include "divelist.h"
|
||||
|
@ -309,15 +310,19 @@ void QMLManager::loadDivesWithValidCredentials()
|
|||
setLoadFromCloud(true);
|
||||
}
|
||||
|
||||
void QMLManager::commitChanges(QString diveId, QString date, QString location, QString gps, QString duration, QString depth,
|
||||
// update the dive and return the notes field, stripped of the HTML junk
|
||||
QString QMLManager::commitChanges(QString diveId, QString date, QString location, QString gps, QString duration, QString depth,
|
||||
QString airtemp, QString watertemp, QString suit, QString buddy, QString diveMaster, QString notes)
|
||||
{
|
||||
struct dive *d = get_dive_by_uniq_id(diveId.toInt());
|
||||
qDebug() << diveId.toInt() << (d != 0 ? d->number : -1);
|
||||
// notes comes back as rich text - let's convert this into plain text
|
||||
QTextDocument doc;
|
||||
doc.setHtml(notes);
|
||||
notes = doc.toPlainText();
|
||||
|
||||
if (!d) {
|
||||
qDebug() << "don't touch this... no dive";
|
||||
return;
|
||||
return notes;
|
||||
}
|
||||
bool diveChanged = false;
|
||||
bool needResort = false;
|
||||
|
@ -455,6 +460,7 @@ void QMLManager::commitChanges(QString diveId, QString date, QString location, Q
|
|||
}
|
||||
mark_divelist_changed(true);
|
||||
}
|
||||
return notes;
|
||||
}
|
||||
|
||||
void QMLManager::saveChanges()
|
||||
|
|
|
@ -71,7 +71,7 @@ public slots:
|
|||
void loadDivesWithValidCredentials();
|
||||
void loadDiveProgress(int percent);
|
||||
void provideAuth(QNetworkReply *reply, QAuthenticator *auth);
|
||||
void commitChanges(QString diveId, QString date, QString location, QString gps, QString duration, QString depth,
|
||||
QString commitChanges(QString diveId, QString date, QString location, QString gps, QString duration, QString depth,
|
||||
QString airtemp, QString watertemp, QString suit, QString buddy, QString diveMaster, QString notes);
|
||||
void saveChanges();
|
||||
QString addDive();
|
||||
|
|
Loading…
Add table
Reference in a new issue