Joakim, Acked, 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.
Tomaz Em 20 de mai de 2016 13:50, "Joakim Bygdell" <j.bygd...@gmail.com> escreveu: In order to get autocomplete to work on manual dive add we apparently need a separate init function. Signed-off-by: Joakim Bygdell <j.bygd...@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) _______________________________________________ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
_______________________________________________ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface