mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Add "merge selected dives" to dive list popup menu
This is fairly straight forward. What I dislike is the check for the magic number of "14 indeces". I'm sure there's a better way to tell if more than one dive is selected... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									c6140c6e21
								
							
						
					
					
						commit
						be418458db
					
				
					 4 changed files with 30 additions and 9 deletions
				
			
		|  | @ -290,6 +290,22 @@ void DiveListView::selectionChanged(const QItemSelection& selected, const QItemS | |||
| 	Q_EMIT currentDiveChanged(selected_dive); | ||||
| } | ||||
| 
 | ||||
| void DiveListView::mergeDives() | ||||
| { | ||||
| 	int i; | ||||
|         struct dive *dive, *maindive = NULL; | ||||
| 
 | ||||
|         for_each_dive(i, dive) { | ||||
|                 if (dive->selected) { | ||||
| 			if (!maindive) | ||||
| 				maindive = dive; | ||||
| 			else | ||||
| 				maindive = merge_two_dives(maindive, dive); | ||||
|                 } | ||||
|         } | ||||
| 	mainWindow()->refreshDisplay(); | ||||
| } | ||||
| 
 | ||||
| void DiveListView::merge_trip(const QModelIndex &a, int offset) | ||||
| { | ||||
| 	int i = a.row() + offset; | ||||
|  | @ -384,6 +400,8 @@ void DiveListView::contextMenuEvent(QContextMenuEvent *event) | |||
| 	} | ||||
| 	if (d) | ||||
| 		popup.addAction(tr("delete dive"), this, SLOT(deleteDive())); | ||||
| 	if (selectionModel()->selection().indexes().count() > 14) | ||||
| 		popup.addAction(tr("merge selected dives"), this, SLOT(mergeDives())); | ||||
| 	// "collapse all" really closes all trips,
 | ||||
| 	// "collapse" keeps the trip with the selected dive open
 | ||||
| 	QAction * actionTaken = popup.exec(event->globalPos()); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue