mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Creates the dialog box to select which sites to import from the file selected in mainwindow.cpp. The DivesiteImportModel is created as a table to display and select which sites are to be imported. Once the sites are selected, the Command::importDiveSites command is called to add the sites to the core dive site table with undo/redo functions. Signed-off-by: Doug Junkins <junkins@foghead.com>
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef DIVESITEIMPORTEDMODEL_H
 | 
						|
#define DIVESITEIMPORTEDMODEL_H
 | 
						|
 | 
						|
#include <QAbstractTableModel>
 | 
						|
#include <vector>
 | 
						|
#include "core/divesite.h"
 | 
						|
 | 
						|
class DivesiteImportedModel : public QAbstractTableModel
 | 
						|
{
 | 
						|
	Q_OBJECT
 | 
						|
public:
 | 
						|
	enum columnNames { NAME, LOCATION, COUNTRY, NEAREST, DISTANCE, SELECTED };
 | 
						|
 | 
						|
	DivesiteImportedModel(QObject *parent = 0);
 | 
						|
	int columnCount(const QModelIndex& index = QModelIndex()) const;
 | 
						|
	int rowCount(const QModelIndex& index = QModelIndex()) const;
 | 
						|
	QVariant data(const QModelIndex& index, int role) const;
 | 
						|
	QVariant headerData(int section, Qt::Orientation orientation, int role) const;
 | 
						|
	Qt::ItemFlags flags(const QModelIndex &index) const;
 | 
						|
	void repopulate(dive_site_table_t *sites);
 | 
						|
public
 | 
						|
slots:
 | 
						|
	void changeSelected(QModelIndex clickedIndex);
 | 
						|
	void selectRow(int row);
 | 
						|
	void selectAll();
 | 
						|
	void selectNone();
 | 
						|
 | 
						|
private:
 | 
						|
	int firstIndex;
 | 
						|
	int lastIndex;
 | 
						|
	std::vector<char> checkStates; // char instead of bool to avoid silly pessimization of std::vector.
 | 
						|
	struct dive_site_table *importedSitesTable;
 | 
						|
};
 | 
						|
 | 
						|
#endif
 |