| 
									
										
										
										
											2015-06-09 22:20:44 +03:00
										 |  |  | #ifndef DIVELISTMODEL_H
 | 
					
						
							|  |  |  | #define DIVELISTMODEL_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <QAbstractListModel>
 | 
					
						
							|  |  |  | #include "dive.h"
 | 
					
						
							| 
									
										
										
										
											2015-08-18 12:03:30 +03:00
										 |  |  | #include "helpers.h"
 | 
					
						
							| 
									
										
										
										
											2015-06-09 22:20:44 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | class DiveListModel : public QAbstractListModel | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	Q_OBJECT | 
					
						
							|  |  |  | public: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	enum DiveListRoles { | 
					
						
							|  |  |  | 		DiveNumberRole = Qt::UserRole + 1, | 
					
						
							| 
									
										
										
										
											2015-06-11 09:39:32 +03:00
										 |  |  | 		DiveTripRole, | 
					
						
							| 
									
										
										
										
											2015-06-09 22:20:44 +03:00
										 |  |  | 		DiveDateRole, | 
					
						
							| 
									
										
										
										
											2015-07-24 11:17:48 -07:00
										 |  |  | 		DiveDateStringRole, | 
					
						
							| 
									
										
										
										
											2015-06-09 22:20:44 +03:00
										 |  |  | 		DiveRatingRole, | 
					
						
							|  |  |  | 		DiveDepthRole, | 
					
						
							|  |  |  | 		DiveDurationRole, | 
					
						
							| 
									
										
										
										
											2015-06-18 09:12:52 +03:00
										 |  |  | 		DiveWaterTemperatureRole, | 
					
						
							|  |  |  | 		DiveAirTemperatureRole, | 
					
						
							| 
									
										
										
										
											2015-06-09 22:20:44 +03:00
										 |  |  | 		DiveWeightRole, | 
					
						
							|  |  |  | 		DiveSuitRole, | 
					
						
							|  |  |  | 		DiveCylinderRole, | 
					
						
							|  |  |  | 		DiveGasRole, | 
					
						
							|  |  |  | 		DiveSacRole, | 
					
						
							| 
									
										
										
										
											2015-06-10 21:38:14 +03:00
										 |  |  | 		DiveLocationRole, | 
					
						
							| 
									
										
										
										
											2015-06-18 09:12:52 +03:00
										 |  |  | 		DiveNotesRole, | 
					
						
							|  |  |  | 		DiveBuddyRole, | 
					
						
							| 
									
										
										
										
											2015-07-13 13:06:45 +03:00
										 |  |  | 		DiveMasterRole, | 
					
						
							|  |  |  | 		DiveIdRole | 
					
						
							| 
									
										
										
										
											2015-06-09 22:20:44 +03:00
										 |  |  | 	}; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	static DiveListModel *instance(); | 
					
						
							|  |  |  | 	DiveListModel(QObject *parent = 0); | 
					
						
							|  |  |  | 	void addDive(dive *d); | 
					
						
							| 
									
										
										
										
											2015-11-30 10:09:46 -08:00
										 |  |  | 	void clear(); | 
					
						
							| 
									
										
										
										
											2015-06-09 22:20:44 +03:00
										 |  |  | 	int rowCount(const QModelIndex &parent = QModelIndex()) const; | 
					
						
							|  |  |  | 	QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; | 
					
						
							|  |  |  | 	QHash<int, QByteArray> roleNames() const; | 
					
						
							| 
									
										
										
										
											2015-08-16 11:57:18 +03:00
										 |  |  | 	void startAddDive(); | 
					
						
							| 
									
										
										
										
											2015-06-09 22:20:44 +03:00
										 |  |  | private: | 
					
						
							| 
									
										
										
										
											2015-08-18 12:03:30 +03:00
										 |  |  | 	QList<Dive> m_dives; | 
					
						
							| 
									
										
										
										
											2015-06-09 22:20:44 +03:00
										 |  |  | 	static DiveListModel *m_instance; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif // DIVELISTMODEL_H
 |