[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