diff --git a/apps/opencs/view/world/table.cpp b/apps/opencs/view/world/table.cpp index 42874d667..43a34e41d 100644 --- a/apps/opencs/view/world/table.cpp +++ b/apps/opencs/view/world/table.cpp @@ -425,21 +425,27 @@ void CSVWorld::Table::tableSizeUpdate() { int rows = mProxyModel->rowCount(); - for (int i=0; isearchColumnIndex (CSMWorld::Columns::ColumnId_Modification); + + if (columnIndex!=-1) { - QModelIndex index = mProxyModel->mapToSource (mProxyModel->index (i, 0)); - - int columnIndex = mModel->findColumnIndex (CSMWorld::Columns::ColumnId_Modification); - int state = mModel->data (mModel->index (index.row(), columnIndex)).toInt(); - - switch (state) + for (int i=0; imapToSource (mProxyModel->index (i, 0)); + + int state = mModel->data (mModel->index (index.row(), columnIndex)).toInt(); + + switch (state) + { + case CSMWorld::RecordBase::State_BaseOnly: ++size; break; + case CSMWorld::RecordBase::State_Modified: ++size; ++modified; break; + case CSMWorld::RecordBase::State_ModifiedOnly: ++size; ++modified; break; + case CSMWorld::RecordBase:: State_Deleted: ++deleted; ++modified; break; + } } } + else + size = rows; } tableSizeChanged (size, deleted, modified);