mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	In the planner it is best practise to start the dive with the first gas in the gaslist. Otherwise one would get a gaschange event at the very beginning of a dive. This change implements the following feature: Automatically move a gas to position 0 in the gaslist if the user selects this gas for the first dive data point. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
		
			
				
	
	
		
			57 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0
 | |
| #ifndef CYLINDERMODEL_H
 | |
| #define CYLINDERMODEL_H
 | |
| 
 | |
| #include "cleanertablemodel.h"
 | |
| #include "core/dive.h"
 | |
| 
 | |
| /* Encapsulation of the Cylinder Model, that presents the
 | |
|  * Current cylinders that are used on a dive. */
 | |
| class CylindersModel : public CleanerTableModel {
 | |
| 	Q_OBJECT
 | |
| public:
 | |
| 	enum Column {
 | |
| 		REMOVE,
 | |
| 		TYPE,
 | |
| 		SIZE,
 | |
| 		WORKINGPRESS,
 | |
| 		START,
 | |
| 		END,
 | |
| 		O2,
 | |
| 		HE,
 | |
| 		DEPTH,
 | |
| 		MOD,
 | |
| 		MND,
 | |
| 		USE,
 | |
| 		COLUMNS
 | |
| 	};
 | |
| 
 | |
| 	explicit CylindersModel(QObject *parent = 0);
 | |
| 	static CylindersModel *instance();
 | |
| 	/*reimp*/ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
 | |
| 	/*reimp*/ int rowCount(const QModelIndex &parent = QModelIndex()) const;
 | |
| 	/*reimp*/ Qt::ItemFlags flags(const QModelIndex &index) const;
 | |
| 	/*reimp*/ bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
 | |
| 
 | |
| 	void passInData(const QModelIndex &index, const QVariant &value);
 | |
| 	void add();
 | |
| 	void clear();
 | |
| 	void updateDive();
 | |
| 	void copyFromDive(struct dive *d);
 | |
| 	void updateDecoDepths(pressure_t olddecopo2);
 | |
| 	void updateTrashIcon();
 | |
| 	void moveAtFirst(int cylid);
 | |
| 	cylinder_t *cylinderAt(const QModelIndex &index);
 | |
| 	bool changed;
 | |
| 	virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const;
 | |
| 
 | |
| public
 | |
| slots:
 | |
| 	void remove(const QModelIndex &index);
 | |
| 	bool updateBestMixes();
 | |
| 
 | |
| private:
 | |
| 	int rows;
 | |
| };
 | |
| 
 | |
| #endif
 |