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") });
 | 
						setHeaderDataStrings(QStringList{ "", tr("Name") });
 | 
				
			||||||
	connect(&diveListNotifier, &DiveListNotifier::dataReset, this, &FilterPresetModel::reset);
 | 
						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()
 | 
					FilterPresetModel::~FilterPresetModel()
 | 
				
			||||||
| 
						 | 
					@ -57,3 +60,21 @@ void FilterPresetModel::reset()
 | 
				
			||||||
	beginResetModel();
 | 
						beginResetModel();
 | 
				
			||||||
	endResetModel();
 | 
						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
 | 
					private
 | 
				
			||||||
slots:
 | 
					slots:
 | 
				
			||||||
	void reset();
 | 
						void reset();
 | 
				
			||||||
 | 
						void filterPresetAdded(int index);
 | 
				
			||||||
 | 
						void filterPresetChanged(int index);
 | 
				
			||||||
 | 
						void filterPresetRemoved(int index);
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
	// there is one global filter preset list, therefore this model is a singleton
 | 
						// there is one global filter preset list, therefore this model is a singleton
 | 
				
			||||||
	static FilterPresetModel *instance();
 | 
						static FilterPresetModel *instance();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue