Stop showing the first dive after a preferences change

What is missing is the code to actually show the RIGHT dive...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2013-06-04 21:56:20 +09:00
parent ed0f558efb
commit 87decaa798

View file

@ -7,6 +7,7 @@
#include "divelistview.h" #include "divelistview.h"
#include "models.h" #include "models.h"
#include "modeldelegates.h" #include "modeldelegates.h"
#include "../display.h"
#include <QApplication> #include <QApplication>
#include <QHeaderView> #include <QHeaderView>
#include <QDebug> #include <QDebug>
@ -136,12 +137,16 @@ void DiveListView::reload(DiveTripModel::Layout layout, bool forceSort)
return; return;
sortByColumn(0, Qt::DescendingOrder); sortByColumn(0, Qt::DescendingOrder);
QModelIndex firstDiveOrTrip = m->index(0,0); if (amount_selected && selected_dive >= 0) {
if (firstDiveOrTrip.isValid()) { // magic happens and the selected dive is expanded and scrolled to
if (m->index(0,0, firstDiveOrTrip).isValid()) } else {
setCurrentIndex(m->index(0,0, firstDiveOrTrip)); QModelIndex firstDiveOrTrip = m->index(0,0);
else if (firstDiveOrTrip.isValid()) {
setCurrentIndex(firstDiveOrTrip); if (m->index(0,0, firstDiveOrTrip).isValid())
setCurrentIndex(m->index(0,0, firstDiveOrTrip));
else
setCurrentIndex(firstDiveOrTrip);
}
} }
} }