mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Code layout changes
Tomaz convinced me (with help from Linus) that it might be a good idea to go with the compacter "single line" case statements in some specific instances where this makes the code much more compact and easier to read. While doing that I changed Linus' code to do 'retVal = ...; break;' instead of just 'return ...;' - this is more consistent and makes debugging a little easier. And while doing all that, I also cleaned up divelistview.cpp a little bit. And removed an unused variable. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									94c3545c18
								
							
						
					
					
						commit
						f037b9e13f
					
				
					 2 changed files with 56 additions and 127 deletions
				
			
		|  | @ -27,28 +27,27 @@ DiveListView::DiveListView(QWidget *parent) : QTreeView(parent), mouseClickSelec | |||
| 	header()->setContextMenuPolicy(Qt::ActionsContextMenu); | ||||
| } | ||||
| 
 | ||||
| void DiveListView::headerClicked(int i ) | ||||
| void DiveListView::headerClicked(int i) | ||||
| { | ||||
| 	if (currentHeaderClicked == i){ | ||||
| 	if (currentHeaderClicked == i) { | ||||
| 		sortByColumn(i); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	if (currentLayout == (i == (int) TreeItemDT::NR ? DiveTripModel::TREE : DiveTripModel::LIST)){ | ||||
| 	if (currentLayout == (i == (int) TreeItemDT::NR ? DiveTripModel::TREE : DiveTripModel::LIST)) { | ||||
| 		sortByColumn(i); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	QItemSelection oldSelection = selectionModel()->selection(); | ||||
| 	QList<struct dive*> currentSelectedDives; | ||||
| 	Q_FOREACH(const QModelIndex& index , oldSelection.indexes()){ | ||||
| 	Q_FOREACH(const QModelIndex& index , oldSelection.indexes()) { | ||||
| 		if (index.column() != 0) // We only care about the dives, so, let's stick to rows and discard columns.
 | ||||
| 			continue; | ||||
| 
 | ||||
| 		struct dive *d = (struct dive *) index.data(TreeItemDT::DIVE_ROLE).value<void*>(); | ||||
| 		if (d){ | ||||
| 		if (d) | ||||
| 			currentSelectedDives.push_back(d); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	// clear the model, repopulate with new indexes.
 | ||||
|  | @ -59,10 +58,10 @@ void DiveListView::headerClicked(int i ) | |||
| 	QSortFilterProxyModel *m = qobject_cast<QSortFilterProxyModel*>(model()); | ||||
| 
 | ||||
| 	// repopulat the selections.
 | ||||
| 	Q_FOREACH(struct dive *d, currentSelectedDives){ | ||||
| 	Q_FOREACH(struct dive *d, currentSelectedDives) { | ||||
| 		QModelIndexList match = m->match(m->index(0,0), TreeItemDT::NR, d->number, 1, Qt::MatchRecursive); | ||||
| 		QModelIndex idx = match.first(); | ||||
| 		if (i == (int) TreeItemDT::NR && idx.parent().isValid() ){ // Tree Mode Activated.
 | ||||
| 		if (i == (int) TreeItemDT::NR && idx.parent().isValid()) { // Tree Mode Activated.
 | ||||
| 			QModelIndex parent = idx.parent(); | ||||
| 			expand(parent); | ||||
| 		} | ||||
|  | @ -72,7 +71,6 @@ void DiveListView::headerClicked(int i ) | |||
| 
 | ||||
| void DiveListView::reload(DiveTripModel::Layout layout, bool forceSort) | ||||
| { | ||||
| 	DiveTripModel::Layout oldLayout = currentLayout; | ||||
| 	currentLayout = layout; | ||||
| 
 | ||||
| 	header()->setClickable(true); | ||||
|  | @ -176,9 +174,8 @@ void DiveListView::selectionChanged(const QItemSelection& selected, const QItemS | |||
| 				selection.select(index.child(0,0), index.child(model->rowCount(index) -1 , 0)); | ||||
| 				selectionModel()->select(selection, QItemSelectionModel::Select | QItemSelectionModel::Rows); | ||||
| 				selectionModel()->setCurrentIndex(index, QItemSelectionModel::Select | QItemSelectionModel::NoUpdate); | ||||
| 				if (!isExpanded(index)) { | ||||
| 				if (!isExpanded(index)) | ||||
| 					expand(index); | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue