mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Cleanup: Remove MultiFilterSortModel::model
The source-model was cached in MultiFilterSortModel. For simplicity, remove that and simply access via DiveTripModel::instance(). There is only one instance where the cached model was used: when comparing items for sorting. Thus, in indirection is added in a "hot" path. Nevertheless, this will dwarf against the cost of string comparison. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
		
							parent
							
								
									4d06ddd723
								
							
						
					
					
						commit
						b5704ddb57
					
				
					 2 changed files with 3 additions and 5 deletions
				
			
		| 
						 | 
					@ -84,12 +84,11 @@ MultiFilterSortModel *MultiFilterSortModel::instance()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MultiFilterSortModel::MultiFilterSortModel(QObject *parent) : QSortFilterProxyModel(parent),
 | 
					MultiFilterSortModel::MultiFilterSortModel(QObject *parent) : QSortFilterProxyModel(parent),
 | 
				
			||||||
	divesDisplayed(0),
 | 
						divesDisplayed(0),
 | 
				
			||||||
	curr_dive_site(NULL),
 | 
						curr_dive_site(NULL)
 | 
				
			||||||
	model(DiveTripModel::instance())
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	setFilterKeyColumn(-1); // filter all columns
 | 
						setFilterKeyColumn(-1); // filter all columns
 | 
				
			||||||
	setFilterCaseSensitivity(Qt::CaseInsensitive);
 | 
						setFilterCaseSensitivity(Qt::CaseInsensitive);
 | 
				
			||||||
	setSourceModel(model);
 | 
						setSourceModel(DiveTripModel::instance());
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void MultiFilterSortModel::setLayout(DiveTripModel::Layout layout)
 | 
					void MultiFilterSortModel::setLayout(DiveTripModel::Layout layout)
 | 
				
			||||||
| 
						 | 
					@ -219,7 +218,7 @@ void MultiFilterSortModel::stopFilterDiveSite()
 | 
				
			||||||
bool MultiFilterSortModel::lessThan(const QModelIndex &i1, const QModelIndex &i2) const
 | 
					bool MultiFilterSortModel::lessThan(const QModelIndex &i1, const QModelIndex &i2) const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	// Hand sorting down to the source model.
 | 
						// Hand sorting down to the source model.
 | 
				
			||||||
	return model->lessThan(i1, i2);
 | 
						return DiveTripModel::instance()->lessThan(i1, i2);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void MultiFilterSortModel::filterDataChanged(const FilterData& data)
 | 
					void MultiFilterSortModel::filterDataChanged(const FilterData& data)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -58,7 +58,6 @@ signals:
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
	MultiFilterSortModel(QObject *parent = 0);
 | 
						MultiFilterSortModel(QObject *parent = 0);
 | 
				
			||||||
	struct dive_site *curr_dive_site;
 | 
						struct dive_site *curr_dive_site;
 | 
				
			||||||
	DiveTripModel *model;
 | 
					 | 
				
			||||||
	FilterData filterData;
 | 
						FilterData filterData;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue