mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Dive pictures: Don't update all pictures on drag & drop to profile
In the old code, we used to reload the whole picture list on drag & drop to the profile. Instead, only update the drag&dropped picture and repaint the profile-pictures. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
		
							parent
							
								
									d33e3b22fc
								
							
						
					
					
						commit
						c71a5d7413
					
				
					 3 changed files with 25 additions and 7 deletions
				
			
		|  | @ -153,12 +153,28 @@ int DivePictureModel::rowCount(const QModelIndex &parent) const | |||
| 	return pictures.count(); | ||||
| } | ||||
| 
 | ||||
| int DivePictureModel::findPictureId(const QString &filename) | ||||
| { | ||||
| 	for (int i = 0; i < pictures.size(); ++i) | ||||
| 		if (pictures[i].filename == filename) | ||||
| 			return i; | ||||
| 	return -1; | ||||
| } | ||||
| 
 | ||||
| void DivePictureModel::updateThumbnail(QString filename, QImage thumbnail) | ||||
| { | ||||
| 	for (int i = 0; i < pictures.size(); ++i) { | ||||
| 		if (pictures[i].filename != filename) | ||||
| 			continue; | ||||
| 	int i = findPictureId(filename); | ||||
| 	if (i >= 0) { | ||||
| 		pictures[i].image = thumbnail; | ||||
| 		emit dataChanged(createIndex(i, 0), createIndex(i, 1)); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| void DivePictureModel::updateDivePictureOffset(const QString &filename, int offsetSeconds) | ||||
| { | ||||
| 	int i = findPictureId(filename); | ||||
| 	if (i >= 0) { | ||||
| 		pictures[i].offsetSeconds = offsetSeconds; | ||||
| 		emit dataChanged(createIndex(i, 0), createIndex(i, 1)); | ||||
| 	} | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue