mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
mobile cleanup: restyle construction of locationlist
See also e6e1473e6
. The construction of the locationlist
was not the same as the 3 previous lists, and it needs
the inclusion of a new model file (divelocationmodel.cpp)
in the mobile app. In addition, as the mobile app is mainly
interested in a simple stringList (model) to populate a HintsText
field (or maybe later a combobox), this stringlist is added
to the model, to easy interfacing with QML.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
This commit is contained in:
parent
83259008e7
commit
494ad26540
8 changed files with 24 additions and 24 deletions
|
@ -6,6 +6,7 @@ set(SUBSURFACE_GENERIC_MODELS_LIB_SRCS
|
|||
diveplotdatamodel.cpp
|
||||
diveimportedmodel.cpp
|
||||
completionmodels.cpp
|
||||
divelocationmodel.cpp
|
||||
)
|
||||
|
||||
# models exclusively used in desktop builds
|
||||
|
@ -25,7 +26,6 @@ set(SUBSURFACE_DESKTOP_MODELS_LIB_SRCS
|
|||
divetripmodel.cpp
|
||||
diveplannermodel.cpp
|
||||
divecomputerextradatamodel.cpp
|
||||
divelocationmodel.cpp
|
||||
ssrfsortfilterproxymodel.cpp
|
||||
)
|
||||
|
||||
|
|
|
@ -128,9 +128,17 @@ void LocationInformationModel::update()
|
|||
beginResetModel();
|
||||
internalRowCount = dive_site_table.nr;
|
||||
qSort(dive_site_table.dive_sites, dive_site_table.dive_sites + dive_site_table.nr, dive_site_less_than);
|
||||
locationNames.clear();
|
||||
for (int i = 0; i < internalRowCount; i++)
|
||||
locationNames << QString(dive_site_table.dive_sites[i]->name);
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
QStringList LocationInformationModel::allSiteNames() const
|
||||
{
|
||||
return(locationNames);
|
||||
}
|
||||
|
||||
bool LocationInformationModel::setData(const QModelIndex &index, const QVariant &value, int role)
|
||||
{
|
||||
if (!index.isValid() || index.row() < 2)
|
||||
|
|
|
@ -17,6 +17,7 @@ bool filter_same_gps_cb (QAbstractItemModel *m, int sourceRow, const QModelIndex
|
|||
class LocationInformationModel : public QAbstractTableModel {
|
||||
Q_OBJECT
|
||||
public:
|
||||
LocationInformationModel(QObject *obj = 0);
|
||||
enum Columns { UUID, NAME, LATITUDE, LONGITUDE, COORDS, DESCRIPTION, NOTES, TAXONOMY_1, TAXONOMY_2, TAXONOMY_3, COLUMNS};
|
||||
enum Roles { UUID_ROLE = Qt::UserRole + 1 };
|
||||
static LocationInformationModel *instance();
|
||||
|
@ -29,9 +30,10 @@ public:
|
|||
|
||||
public slots:
|
||||
void update();
|
||||
QStringList allSiteNames() const;
|
||||
private:
|
||||
LocationInformationModel(QObject *obj = 0);
|
||||
int internalRowCount;
|
||||
QStringList locationNames;
|
||||
QLineEdit *textField;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue