mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Move the models to its own folder
This is an attempt to help share code between the desktop version of Subsurface and the mobile version. More code will be moved around and the models will be split in a way that will help recompile times and also creation of different interfaces for different form-factors. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
29e7459d6b
commit
338c0f22aa
7 changed files with 19 additions and 4 deletions
69
qt-models/completionmodels.cpp
Normal file
69
qt-models/completionmodels.cpp
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
#include "completionmodels.h"
|
||||
#include "dive.h"
|
||||
#include "mainwindow.h"
|
||||
|
||||
#define CREATE_UPDATE_METHOD(Class, diveStructMember) \
|
||||
void Class::updateModel() \
|
||||
{ \
|
||||
QStringList list; \
|
||||
struct dive *dive; \
|
||||
int i = 0; \
|
||||
for_each_dive (i, dive) \
|
||||
{ \
|
||||
QString buddy(dive->diveStructMember); \
|
||||
if (!list.contains(buddy)) { \
|
||||
list.append(buddy); \
|
||||
} \
|
||||
} \
|
||||
std::sort(list.begin(), list.end()); \
|
||||
setStringList(list); \
|
||||
}
|
||||
|
||||
#define CREATE_CSV_UPDATE_METHOD(Class, diveStructMember) \
|
||||
void Class::updateModel() \
|
||||
{ \
|
||||
QSet<QString> set; \
|
||||
struct dive *dive; \
|
||||
int i = 0; \
|
||||
for_each_dive (i, dive) \
|
||||
{ \
|
||||
QString buddy(dive->diveStructMember); \
|
||||
foreach (const QString &value, buddy.split(",", QString::SkipEmptyParts)) \
|
||||
{ \
|
||||
set.insert(value.trimmed()); \
|
||||
} \
|
||||
} \
|
||||
QStringList setList = set.toList(); \
|
||||
std::sort(setList.begin(), setList.end()); \
|
||||
setStringList(setList); \
|
||||
}
|
||||
|
||||
CREATE_CSV_UPDATE_METHOD(BuddyCompletionModel, buddy);
|
||||
CREATE_CSV_UPDATE_METHOD(DiveMasterCompletionModel, divemaster);
|
||||
CREATE_UPDATE_METHOD(SuitCompletionModel, suit);
|
||||
|
||||
void LocationCompletionModel::updateModel()
|
||||
{
|
||||
QStringList list;
|
||||
struct dive_site *ds;
|
||||
int i = 0;
|
||||
for_each_dive_site(i, ds) {
|
||||
if (!list.contains(ds->name))
|
||||
list.append(ds->name);
|
||||
}
|
||||
std::sort(list.begin(), list.end());
|
||||
setStringList(list);
|
||||
}
|
||||
|
||||
void TagCompletionModel::updateModel()
|
||||
{
|
||||
if (g_tag_list == NULL)
|
||||
return;
|
||||
QStringList list;
|
||||
struct tag_entry *current_tag_entry = g_tag_list->next;
|
||||
while (current_tag_entry != NULL) {
|
||||
list.append(QString(current_tag_entry->tag->name));
|
||||
current_tag_entry = current_tag_entry->next;
|
||||
}
|
||||
setStringList(list);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue