[PATCH 1/3] Add init function to qmlmanager
Joakim Bygdell
j.bygdell at gmail.com
Fri May 20 09:48:35 PDT 2016
In order to get autocomplete to work on manual dive add
we apparently need a separate init function.
Signed-off-by: Joakim Bygdell <j.bygdell at gmail.com>
---
mobile-widgets/qmlmanager.cpp | 51 +++++++++++++++++++++++++++++++++++++++++++
mobile-widgets/qmlmanager.h | 7 ++++++
2 files changed, 58 insertions(+)
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp
index 82ea319..1c3e121 100644
--- a/mobile-widgets/qmlmanager.cpp
+++ b/mobile-widgets/qmlmanager.cpp
@@ -1337,3 +1337,54 @@ void QMLManager::quit()
saveChangesCloud(false);
QApplication::quit();
}
+
+QStringList QMLManager::suitInit() const
+{
+ QStringList suits;
+ struct dive *d;
+ int i = 0;
+ for_each_dive (i, d) {
+ QString temp = d->suit;
+ if (!temp.isEmpty())
+ suits << d->suit;
+ }
+ suits.removeDuplicates();
+ suits.sort();
+ return suits;
+}
+
+QStringList QMLManager::buddyInit() const
+{
+ QStringList buddies;
+ struct dive *d;
+ int i = 0;
+ for_each_dive (i, d) {
+ QString temp = d->buddy;
+ if (!temp.isEmpty() && !temp.contains(",")){
+ buddies << d->buddy;
+ }
+ else if (!temp.isEmpty()){
+ QRegExp sep("(,\\s)");
+ QStringList tempList = temp.split(sep);
+ buddies << tempList;
+ }
+ }
+ buddies.removeDuplicates();
+ buddies.sort();
+ return buddies;
+}
+
+QStringList QMLManager::divemasterInit() 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/mobile-widgets/qmlmanager.h b/mobile-widgets/qmlmanager.h
index 906e7b0..10ff0ba 100644
--- a/mobile-widgets/qmlmanager.h
+++ b/mobile-widgets/qmlmanager.h
@@ -29,6 +29,9 @@ class QMLManager : public QObject {
Q_PROPERTY(bool syncToCloud READ syncToCloud WRITE setSyncToCloud NOTIFY syncToCloudChanged)
Q_PROPERTY(int updateSelectedDive READ updateSelectedDive WRITE setUpdateSelectedDive NOTIFY updateSelectedDiveChanged)
Q_PROPERTY(int selectedDiveTimestamp READ selectedDiveTimestamp WRITE setSelectedDiveTimestamp NOTIFY selectedDiveTimestampChanged)
+ Q_PROPERTY(QStringList suitInit READ suitInit CONSTANT)
+ Q_PROPERTY(QStringList buddyInit READ buddyInit CONSTANT)
+ Q_PROPERTY(QStringList divemasterInit READ divemasterInit CONSTANT)
public:
QMLManager();
@@ -97,6 +100,10 @@ public:
typedef void (QMLManager::*execute_function_type)();
DiveListSortModel *dlSortModel;
+ QStringList suitInit() const;
+ QStringList buddyInit() const;
+ QStringList divemasterInit() const;
+
public slots:
void applicationStateChanged(Qt::ApplicationState state);
void savePreferences();
--
2.5.4 (Apple Git-61)
More information about the subsurface
mailing list