<p dir="ltr">Joakim, </p>
<p dir="ltr">Acked, <br>
But I do think this should be different controllers. But anyway, this looks good and I'll probably change it on the future just to make qmlmanager a managed, not a God class. </p>
<p dir="ltr">Tomaz<br>
</p>
<div class="gmail_quote">Em 20 de mai de 2016 13:50, "Joakim Bygdell" <<a href="mailto:j.bygdell@gmail.com">j.bygdell@gmail.com</a>> escreveu:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In order to get autocomplete to work on manual dive add<br>
we apparently need a separate init function.<br>
<br>
Signed-off-by: Joakim Bygdell <<a href="mailto:j.bygdell@gmail.com">j.bygdell@gmail.com</a>><br>
---<br>
mobile-widgets/qmlmanager.cpp | 51 +++++++++++++++++++++++++++++++++++++++++++<br>
mobile-widgets/qmlmanager.h | 7 ++++++<br>
2 files changed, 58 insertions(+)<br>
<br>
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp<br>
index 82ea319..1c3e121 100644<br>
--- a/mobile-widgets/qmlmanager.cpp<br>
+++ b/mobile-widgets/qmlmanager.cpp<br>
@@ -1337,3 +1337,54 @@ void QMLManager::quit()<br>
saveChangesCloud(false);<br>
QApplication::quit();<br>
}<br>
+<br>
+QStringList QMLManager::suitInit() const<br>
+{<br>
+ QStringList suits;<br>
+ struct dive *d;<br>
+ int i = 0;<br>
+ for_each_dive (i, d) {<br>
+ QString temp = d->suit;<br>
+ if (!temp.isEmpty())<br>
+ suits << d->suit;<br>
+ }<br>
+ suits.removeDuplicates();<br>
+ suits.sort();<br>
+ return suits;<br>
+}<br>
+<br>
+QStringList QMLManager::buddyInit() const<br>
+{<br>
+ QStringList buddies;<br>
+ struct dive *d;<br>
+ int i = 0;<br>
+ for_each_dive (i, d) {<br>
+ QString temp = d->buddy;<br>
+ if (!temp.isEmpty() && !temp.contains(",")){<br>
+ buddies << d->buddy;<br>
+ }<br>
+ else if (!temp.isEmpty()){<br>
+ QRegExp sep("(,\\s)");<br>
+ QStringList tempList = temp.split(sep);<br>
+ buddies << tempList;<br>
+ }<br>
+ }<br>
+ buddies.removeDuplicates();<br>
+ buddies.sort();<br>
+ return buddies;<br>
+}<br>
+<br>
+QStringList QMLManager::divemasterInit() const<br>
+{<br>
+ QStringList divemasters;<br>
+ struct dive *d;<br>
+ int i = 0;<br>
+ for_each_dive (i, d) {<br>
+ QString temp = d->divemaster;<br>
+ if (!temp.isEmpty())<br>
+ divemasters << d->divemaster;<br>
+ }<br>
+ divemasters.removeDuplicates();<br>
+ divemasters.sort();<br>
+ return divemasters;<br>
+}<br>
diff --git a/mobile-widgets/qmlmanager.h b/mobile-widgets/qmlmanager.h<br>
index 906e7b0..10ff0ba 100644<br>
--- a/mobile-widgets/qmlmanager.h<br>
+++ b/mobile-widgets/qmlmanager.h<br>
@@ -29,6 +29,9 @@ class QMLManager : public QObject {<br>
Q_PROPERTY(bool syncToCloud READ syncToCloud WRITE setSyncToCloud NOTIFY syncToCloudChanged)<br>
Q_PROPERTY(int updateSelectedDive READ updateSelectedDive WRITE setUpdateSelectedDive NOTIFY updateSelectedDiveChanged)<br>
Q_PROPERTY(int selectedDiveTimestamp READ selectedDiveTimestamp WRITE setSelectedDiveTimestamp NOTIFY selectedDiveTimestampChanged)<br>
+ Q_PROPERTY(QStringList suitInit READ suitInit CONSTANT)<br>
+ Q_PROPERTY(QStringList buddyInit READ buddyInit CONSTANT)<br>
+ Q_PROPERTY(QStringList divemasterInit READ divemasterInit CONSTANT)<br>
<br>
public:<br>
QMLManager();<br>
@@ -97,6 +100,10 @@ public:<br>
typedef void (QMLManager::*execute_function_type)();<br>
DiveListSortModel *dlSortModel;<br>
<br>
+ QStringList suitInit() const;<br>
+ QStringList buddyInit() const;<br>
+ QStringList divemasterInit() const;<br>
+<br>
public slots:<br>
void applicationStateChanged(Qt::ApplicationState state);<br>
void savePreferences();<br>
<font color="#888888">--<br>
2.5.4 (Apple Git-61)<br>
<br>
_______________________________________________<br>
subsurface mailing list<br>
<a href="mailto:subsurface@subsurface-divelog.org">subsurface@subsurface-divelog.org</a><br>
<a href="http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface" rel="noreferrer" target="_blank">http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface</a><br>
</font></blockquote></div>