From e171babd2fd6f0698b0126ea3e001bee1eab00f7 Mon Sep 17 00:00:00 2001 From: Marc Zinnschlag Date: Sat, 5 Jul 2014 12:44:11 +0200 Subject: [PATCH] added Feature_Constant to IdTable --- apps/opencs/model/world/idtablebase.hpp | 5 ++++- apps/opencs/view/world/table.cpp | 10 +++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/opencs/model/world/idtablebase.hpp b/apps/opencs/model/world/idtablebase.hpp index e6aaea1d6..ef5a9c42e 100644 --- a/apps/opencs/model/world/idtablebase.hpp +++ b/apps/opencs/model/world/idtablebase.hpp @@ -29,7 +29,10 @@ namespace CSMWorld Feature_View = Feature_ViewId | Feature_ViewCell, - Feature_Preview = 8 + Feature_Preview = 8, + + /// Table can not be modified through ordinary means. + Feature_Constant = 16 }; private: diff --git a/apps/opencs/view/world/table.cpp b/apps/opencs/view/world/table.cpp index bbac2b1ca..42874d667 100644 --- a/apps/opencs/view/world/table.cpp +++ b/apps/opencs/view/world/table.cpp @@ -54,7 +54,7 @@ void CSVWorld::Table::contextMenuEvent (QContextMenuEvent *event) /// \todo add menu items for select all and clear selection - if (!mEditLock) + if (!mEditLock && !(mModel->getFeatures() & CSMWorld::IdTableBase::Feature_Constant)) { if (selectedRows.size()==1) { @@ -276,7 +276,7 @@ CSMWorld::UniversalId CSVWorld::Table::getUniversalId (int row) const void CSVWorld::Table::editRecord() { - if (!mEditLock) + if (!mEditLock || (mModel->getFeatures() & CSMWorld::IdTableBase::Feature_Constant)) { QModelIndexList selectedRows = selectionModel()->selectedRows(); @@ -287,7 +287,7 @@ void CSVWorld::Table::editRecord() void CSVWorld::Table::cloneRecord() { - if (!mEditLock) + if (!mEditLock || (mModel->getFeatures() & CSMWorld::IdTableBase::Feature_Constant)) { QModelIndexList selectedRows = selectionModel()->selectedRows(); const CSMWorld::UniversalId& toClone = getUniversalId(selectedRows.begin()->row()); @@ -300,7 +300,7 @@ void CSVWorld::Table::cloneRecord() void CSVWorld::Table::moveUpRecord() { - if (mEditLock) + if (mEditLock || (mModel->getFeatures() & CSMWorld::IdTableBase::Feature_Constant)) return; QModelIndexList selectedRows = selectionModel()->selectedRows(); @@ -333,7 +333,7 @@ void CSVWorld::Table::moveUpRecord() void CSVWorld::Table::moveDownRecord() { - if (mEditLock) + if (mEditLock || (mModel->getFeatures() & CSMWorld::IdTableBase::Feature_Constant)) return; QModelIndexList selectedRows = selectionModel()->selectedRows();