mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	filter: connect DiveListNotifier signals to filter preset model
Thus, the model is kept up to date if filter presets are changed by undo commands. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
		
							parent
							
								
									581eb1f563
								
							
						
					
					
						commit
						51959d0feb
					
				
					 2 changed files with 24 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -9,6 +9,9 @@ FilterPresetModel::FilterPresetModel()
 | 
			
		|||
{
 | 
			
		||||
	setHeaderDataStrings(QStringList{ "", tr("Name") });
 | 
			
		||||
	connect(&diveListNotifier, &DiveListNotifier::dataReset, this, &FilterPresetModel::reset);
 | 
			
		||||
	connect(&diveListNotifier, &DiveListNotifier::filterPresetAdded, this, &FilterPresetModel::filterPresetAdded);
 | 
			
		||||
	connect(&diveListNotifier, &DiveListNotifier::filterPresetRemoved, this, &FilterPresetModel::filterPresetRemoved);
 | 
			
		||||
	connect(&diveListNotifier, &DiveListNotifier::filterPresetChanged, this, &FilterPresetModel::filterPresetChanged);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
FilterPresetModel::~FilterPresetModel()
 | 
			
		||||
| 
						 | 
				
			
			@ -57,3 +60,21 @@ void FilterPresetModel::reset()
 | 
			
		|||
	beginResetModel();
 | 
			
		||||
	endResetModel();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void FilterPresetModel::filterPresetAdded(int index)
 | 
			
		||||
{
 | 
			
		||||
	beginInsertRows(QModelIndex(), index, index);
 | 
			
		||||
	endInsertRows();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void FilterPresetModel::filterPresetChanged(int i)
 | 
			
		||||
{
 | 
			
		||||
	QModelIndex idx = index(i, 0);
 | 
			
		||||
	dataChanged(idx, idx);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void FilterPresetModel::filterPresetRemoved(int index)
 | 
			
		||||
{
 | 
			
		||||
	beginRemoveRows(QModelIndex(), index, index);
 | 
			
		||||
	endRemoveRows();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,6 +16,9 @@ public:
 | 
			
		|||
private
 | 
			
		||||
slots:
 | 
			
		||||
	void reset();
 | 
			
		||||
	void filterPresetAdded(int index);
 | 
			
		||||
	void filterPresetChanged(int index);
 | 
			
		||||
	void filterPresetRemoved(int index);
 | 
			
		||||
public:
 | 
			
		||||
	// there is one global filter preset list, therefore this model is a singleton
 | 
			
		||||
	static FilterPresetModel *instance();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue