aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/subsurface-qt/DiveObjectHelper.cpp15
-rw-r--r--core/subsurface-qt/DiveObjectHelper.h2
-rw-r--r--mobile-widgets/qml/DiveDetails.qml2
-rw-r--r--mobile-widgets/qml/DiveDetailsEdit.qml5
-rw-r--r--mobile-widgets/qml/main.qml2
-rw-r--r--mobile-widgets/qmlmanager.cpp15
-rw-r--r--mobile-widgets/qmlmanager.h6
7 files changed, 12 insertions, 35 deletions
diff --git a/core/subsurface-qt/DiveObjectHelper.cpp b/core/subsurface-qt/DiveObjectHelper.cpp
index 2e18b8f0a..9372f422f 100644
--- a/core/subsurface-qt/DiveObjectHelper.cpp
+++ b/core/subsurface-qt/DiveObjectHelper.cpp
@@ -428,18 +428,3 @@ QStringList DiveObjectHelper::locationList() const
locations.sort();
return locations;
}
-
-QStringList DiveObjectHelper::divemasterList() const
-{
- QStringList divemasters;
- struct dive *d;
- int i = 0;
- for_each_dive (i, d) {
- QString temp = d->divemaster;
- if (!temp.isEmpty())
- divemasters << d->divemaster;
- }
- divemasters.removeDuplicates();
- divemasters.sort();
- return divemasters;
-}
diff --git a/core/subsurface-qt/DiveObjectHelper.h b/core/subsurface-qt/DiveObjectHelper.h
index 28eaa6a41..5da82c29e 100644
--- a/core/subsurface-qt/DiveObjectHelper.h
+++ b/core/subsurface-qt/DiveObjectHelper.h
@@ -47,7 +47,6 @@ class DiveObjectHelper : public QObject {
Q_PROPERTY(QString startPressure READ startPressure CONSTANT)
Q_PROPERTY(QString endPressure READ endPressure CONSTANT)
Q_PROPERTY(QString firstGas READ firstGas CONSTANT)
- Q_PROPERTY(QStringList divemasterList READ divemasterList CONSTANT)
Q_PROPERTY(QStringList locationList READ locationList CONSTANT)
public:
DiveObjectHelper(struct dive *dive = NULL);
@@ -92,7 +91,6 @@ public:
QString endPressure() const;
QString firstGas() const;
QStringList locationList() const;
- QStringList divemasterList() const;
private:
struct dive *m_dive;
diff --git a/mobile-widgets/qml/DiveDetails.qml b/mobile-widgets/qml/DiveDetails.qml
index 787c826db..2335efb23 100644
--- a/mobile-widgets/qml/DiveDetails.qml
+++ b/mobile-widgets/qml/DiveDetails.qml
@@ -241,7 +241,7 @@ Kirigami.Page {
} else {
buddyIndex = manager.buddyList.indexOf(currentItem.modelData.dive.buddy)
}
- divemasterIndex = currentItem.modelData.dive.divemasterList.indexOf(currentItem.modelData.dive.divemaster)
+ divemasterIndex = manager.divemasterList.indexOf(currentItem.modelData.dive.divemaster)
notes = currentItem.modelData.dive.notes
if (currentItem.modelData.dive.singleWeight) {
// we have only one weight, go ahead, have fun and edit it
diff --git a/mobile-widgets/qml/DiveDetailsEdit.qml b/mobile-widgets/qml/DiveDetailsEdit.qml
index 8373ba5b7..c623a856f 100644
--- a/mobile-widgets/qml/DiveDetailsEdit.qml
+++ b/mobile-widgets/qml/DiveDetailsEdit.qml
@@ -48,6 +48,8 @@ Item {
detailsEdit.depthText = ""
detailsEdit.airtempText = ""
detailsEdit.watertempText = ""
+ detailsEdit.divemasterText = ""
+ detailsEdit.buddyText = ""
suitBox.currentIndex = -1
buddyBox.currentIndex = -1
divemasterBox.currentIndex = -1
@@ -248,8 +250,7 @@ Item {
}
HintsTextEdit {
id: divemasterBox
- model: diveDetailsListView.currentItem && diveDetailsListView.currentItem.modelData !== null ?
- diveDetailsListView.currentItem.modelData.dive.divemasterList : null
+ model: manager.divemasterList
inputMethodHints: Qt.ImhNoPredictiveText
Layout.fillWidth: true
}
diff --git a/mobile-widgets/qml/main.qml b/mobile-widgets/qml/main.qml
index ad073a08b..08b5f329f 100644
--- a/mobile-widgets/qml/main.qml
+++ b/mobile-widgets/qml/main.qml
@@ -85,7 +85,7 @@ Kirigami.ApplicationWindow {
detailsWindow.buddyIndex = -1
detailsWindow.buddyText = ""
detailsWindow.depth = ""
- detailsWindow.divemasterModel = manager.divemasterInit
+ detailsWindow.divemasterModel = manager.divemasterList
detailsWindow.divemasterIndex = -1
detailsWindow.divemasterText = ""
detailsWindow.notes = ""
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp
index 36f7768e5..57cacba74 100644
--- a/mobile-widgets/qmlmanager.cpp
+++ b/mobile-widgets/qmlmanager.cpp
@@ -275,6 +275,7 @@ void QMLManager::openLocalThenRemote(QString url)
}
buddyModel.updateModel(); emit buddyListChanged();
suitModel.updateModel(); emit suitListChanged();
+ divemasterModel.updateModel(); emit divemasterListChanged();
}
void QMLManager::mergeLocalRepo()
@@ -1561,19 +1562,9 @@ QStringList QMLManager::buddyList() const
return buddyModel.stringList();
}
-QStringList QMLManager::divemasterInit() const
+QStringList QMLManager::divemasterList() const
{
- QStringList divemasters;
- struct dive *d;
- int i = 0;
- for_each_dive (i, d) {
- QString temp = d->divemaster;
- if (!temp.isEmpty())
- divemasters << d->divemaster;
- }
- divemasters.removeDuplicates();
- divemasters.sort();
- return divemasters;
+ return divemasterModel.stringList();
}
QStringList QMLManager::cylinderInit() const
diff --git a/mobile-widgets/qmlmanager.h b/mobile-widgets/qmlmanager.h
index c8c6a9906..4f188ac7d 100644
--- a/mobile-widgets/qmlmanager.h
+++ b/mobile-widgets/qmlmanager.h
@@ -38,7 +38,7 @@ class QMLManager : public QObject {
Q_PROPERTY(int selectedDiveTimestamp MEMBER m_selectedDiveTimestamp WRITE setSelectedDiveTimestamp NOTIFY selectedDiveTimestampChanged)
Q_PROPERTY(QStringList suitList READ suitList NOTIFY suitListChanged)
Q_PROPERTY(QStringList buddyList READ buddyList NOTIFY buddyListChanged)
- Q_PROPERTY(QStringList divemasterInit READ divemasterInit CONSTANT)
+ Q_PROPERTY(QStringList divemasterList READ divemasterList NOTIFY divemasterListChanged)
Q_PROPERTY(QStringList cylinderInit READ cylinderInit CONSTANT)
Q_PROPERTY(bool showPin MEMBER m_showPin WRITE setShowPin NOTIFY showPinChanged)
Q_PROPERTY(QString progressMessage MEMBER m_progressMessage WRITE setProgressMessage NOTIFY progressMessageChanged)
@@ -133,7 +133,7 @@ public:
QStringList suitList() const;
QStringList buddyList() const;
- QStringList divemasterInit() const;
+ QStringList divemasterList() const;
QStringList cylinderInit() const;
bool showPin() const;
void setShowPin(bool enable);
@@ -199,6 +199,7 @@ public slots:
private:
BuddyCompletionModel buddyModel;
SuitCompletionModel suitModel;
+ DiveMasterCompletionModel divemasterModel;
QString m_cloudUserName;
QString m_cloudPassword;
QString m_cloudPin;
@@ -272,6 +273,7 @@ signals:
void btEnabledChanged();
void suitListChanged();
void buddyListChanged();
+ void divemasterListChanged();
};
#endif