mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Import: remove DiveImportedModel::lastIndex
This is redundant, as the actual size is stored in the dive table. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
a33f381dc6
commit
4d5acc8461
2 changed files with 8 additions and 17 deletions
|
@ -3,7 +3,6 @@
|
||||||
#include "core/divelist.h"
|
#include "core/divelist.h"
|
||||||
|
|
||||||
DiveImportedModel::DiveImportedModel(QObject *o) : QAbstractTableModel(o),
|
DiveImportedModel::DiveImportedModel(QObject *o) : QAbstractTableModel(o),
|
||||||
lastIndex(-1),
|
|
||||||
diveTable({ 0 }),
|
diveTable({ 0 }),
|
||||||
sitesTable({ 0 })
|
sitesTable({ 0 })
|
||||||
{
|
{
|
||||||
|
@ -17,7 +16,7 @@ int DiveImportedModel::columnCount(const QModelIndex&) const
|
||||||
|
|
||||||
int DiveImportedModel::rowCount(const QModelIndex&) const
|
int DiveImportedModel::rowCount(const QModelIndex&) const
|
||||||
{
|
{
|
||||||
return lastIndex + 1;
|
return diveTable.nr;
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant DiveImportedModel::headerData(int section, Qt::Orientation orientation, int role) const
|
QVariant DiveImportedModel::headerData(int section, Qt::Orientation orientation, int role) const
|
||||||
|
@ -50,7 +49,7 @@ QVariant DiveImportedModel::data(const QModelIndex &index, int role) const
|
||||||
if (!index.isValid())
|
if (!index.isValid())
|
||||||
return QVariant();
|
return QVariant();
|
||||||
|
|
||||||
if (index.row() > lastIndex)
|
if (index.row() >= diveTable.nr)
|
||||||
return QVariant();
|
return QVariant();
|
||||||
|
|
||||||
struct dive *d = get_dive_from_table(index.row(), &diveTable);
|
struct dive *d = get_dive_from_table(index.row(), &diveTable);
|
||||||
|
@ -92,7 +91,7 @@ void DiveImportedModel::changeSelected(QModelIndex clickedIndex)
|
||||||
void DiveImportedModel::selectAll()
|
void DiveImportedModel::selectAll()
|
||||||
{
|
{
|
||||||
std::fill(checkStates.begin(), checkStates.end(), true);
|
std::fill(checkStates.begin(), checkStates.end(), true);
|
||||||
dataChanged(index(0, 0), index(lastIndex, 0), QVector<int>() << Qt::CheckStateRole << Selected);
|
dataChanged(index(0, 0), index(diveTable.nr - 1, 0), QVector<int>() << Qt::CheckStateRole << Selected);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiveImportedModel::selectRow(int row)
|
void DiveImportedModel::selectRow(int row)
|
||||||
|
@ -104,7 +103,7 @@ void DiveImportedModel::selectRow(int row)
|
||||||
void DiveImportedModel::selectNone()
|
void DiveImportedModel::selectNone()
|
||||||
{
|
{
|
||||||
std::fill(checkStates.begin(), checkStates.end(), false);
|
std::fill(checkStates.begin(), checkStates.end(), false);
|
||||||
dataChanged(index(0, 0), index(lastIndex, 0 ), QVector<int>() << Qt::CheckStateRole << Selected);
|
dataChanged(index(0, 0), index(diveTable.nr - 1, 0 ), QVector<int>() << Qt::CheckStateRole << Selected);
|
||||||
}
|
}
|
||||||
|
|
||||||
Qt::ItemFlags DiveImportedModel::flags(const QModelIndex &index) const
|
Qt::ItemFlags DiveImportedModel::flags(const QModelIndex &index) const
|
||||||
|
@ -116,15 +115,10 @@ Qt::ItemFlags DiveImportedModel::flags(const QModelIndex &index) const
|
||||||
|
|
||||||
void DiveImportedModel::clearTable()
|
void DiveImportedModel::clearTable()
|
||||||
{
|
{
|
||||||
if (lastIndex < 0) {
|
beginResetModel();
|
||||||
// just to be sure it's the right numbers
|
clear_dive_table(&diveTable);
|
||||||
// but don't call RemoveRows or Qt in debug mode with trigger an ASSERT
|
clear_dive_site_table(&sitesTable);
|
||||||
lastIndex = -1;
|
endResetModel();
|
||||||
return;
|
|
||||||
}
|
|
||||||
beginRemoveRows(QModelIndex(), 0, lastIndex);
|
|
||||||
lastIndex = -1;
|
|
||||||
endRemoveRows();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiveImportedModel::downloadThreadFinished()
|
void DiveImportedModel::downloadThreadFinished()
|
||||||
|
@ -135,7 +129,6 @@ void DiveImportedModel::downloadThreadFinished()
|
||||||
move_dive_table(&thread.downloadTable, &diveTable);
|
move_dive_table(&thread.downloadTable, &diveTable);
|
||||||
move_dive_site_table(&thread.diveSiteTable, &sitesTable);
|
move_dive_site_table(&thread.diveSiteTable, &sitesTable);
|
||||||
|
|
||||||
lastIndex = diveTable.nr - 1;
|
|
||||||
checkStates.resize(diveTable.nr);
|
checkStates.resize(diveTable.nr);
|
||||||
std::fill(checkStates.begin(), checkStates.end(), true);
|
std::fill(checkStates.begin(), checkStates.end(), true);
|
||||||
|
|
||||||
|
@ -160,7 +153,6 @@ std::pair<struct dive_table, struct dive_site_table> DiveImportedModel::consumeT
|
||||||
move_dive_site_table(&sitesTable, &sites);
|
move_dive_site_table(&sitesTable, &sites);
|
||||||
|
|
||||||
// Reset indexes
|
// Reset indexes
|
||||||
lastIndex = -1;
|
|
||||||
checkStates.clear();
|
checkStates.clear();
|
||||||
|
|
||||||
endResetModel();
|
endResetModel();
|
||||||
|
|
|
@ -44,7 +44,6 @@ signals:
|
||||||
void downloadFinished();
|
void downloadFinished();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int lastIndex;
|
|
||||||
std::vector<char> checkStates; // char instead of bool to avoid silly pessimization of std::vector.
|
std::vector<char> checkStates; // char instead of bool to avoid silly pessimization of std::vector.
|
||||||
struct dive_table diveTable;
|
struct dive_table diveTable;
|
||||||
struct dive_site_table sitesTable;
|
struct dive_site_table sitesTable;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue