mirror of
https://github.com/TES3MP/TES3MP.git
synced 2025-09-27 15:11:36 -04:00
Revert "added changed reference tracking for cells"
This reverts commit f4334da42ec0076c073aed1a3aec6a4a17f1ba5a.
This commit is contained in:
parent
5313862a46
commit
c4e7386770
@ -1,7 +1,7 @@
|
|||||||
#ifndef CSM_WOLRD_CELL_H
|
#ifndef CSM_WOLRD_CELL_H
|
||||||
#define CSM_WOLRD_CELL_H
|
#define CSM_WOLRD_CELL_H
|
||||||
|
|
||||||
#include <set>
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include <components/esm/loadcell.hpp>
|
#include <components/esm/loadcell.hpp>
|
||||||
@ -16,11 +16,8 @@ namespace CSMWorld
|
|||||||
{
|
{
|
||||||
std::string mId;
|
std::string mId;
|
||||||
|
|
||||||
/// These are the references modified by the edited content file. These are stored in
|
|
||||||
/// mModified only.
|
|
||||||
std::set<std::string> mTouchedRefs;
|
|
||||||
|
|
||||||
void load (ESM::ESMReader &esm);
|
void load (ESM::ESMReader &esm);
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
#include "columnbase.hpp"
|
#include "columnbase.hpp"
|
||||||
#include "columns.hpp"
|
#include "columns.hpp"
|
||||||
#include "info.hpp"
|
#include "info.hpp"
|
||||||
#include "cell.hpp"
|
|
||||||
|
|
||||||
namespace CSMWorld
|
namespace CSMWorld
|
||||||
{
|
{
|
||||||
@ -88,45 +87,6 @@ namespace CSMWorld
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/// \brief Specialisation that takes care of the modified reference tracking
|
|
||||||
template<>
|
|
||||||
struct RecordStateColumn<Cell> : public Column<Cell>
|
|
||||||
{
|
|
||||||
RecordStateColumn<Cell>()
|
|
||||||
: Column<Cell> (Columns::ColumnId_Modification, ColumnBase::Display_RecordState)
|
|
||||||
{}
|
|
||||||
|
|
||||||
virtual QVariant get (const Record<Cell>& record) const
|
|
||||||
{
|
|
||||||
if (record.mState==Record<Cell>::State_Erased)
|
|
||||||
return static_cast<int> (Record<Cell>::State_Deleted);
|
|
||||||
|
|
||||||
if (!record.mModified.mTouchedRefs.empty() &&
|
|
||||||
!record.mState==Record<Cell>::State_Deleted &&
|
|
||||||
!record.mState==Record<Cell>::State_ModifiedOnly)
|
|
||||||
{
|
|
||||||
static_cast<int> (Record<Cell>::State_Modified);
|
|
||||||
}
|
|
||||||
|
|
||||||
return static_cast<int> (record.mState);
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual void set (Record<Cell>& record, const QVariant& data)
|
|
||||||
{
|
|
||||||
record.mState = static_cast<RecordBase::State> (data.toInt());
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual bool isEditable() const
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual bool isUserEditable() const
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template<typename ESXRecordT>
|
template<typename ESXRecordT>
|
||||||
struct FixedRecordTypeColumn : public Column<ESXRecordT>
|
struct FixedRecordTypeColumn : public Column<ESXRecordT>
|
||||||
{
|
{
|
||||||
|
@ -53,8 +53,6 @@ void CSMWorld::RefCollection::load (ESM::ESMReader& reader, int cellIndex, bool
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cell.mModified.mTouchedRefs.insert (Misc::StringUtils::lowerCase (
|
|
||||||
mCells.getId (cellIndex)));
|
|
||||||
record.mState = RecordBase::State_Deleted;
|
record.mState = RecordBase::State_Deleted;
|
||||||
setRecord (index, record);
|
setRecord (index, record);
|
||||||
}
|
}
|
||||||
@ -62,10 +60,6 @@ void CSMWorld::RefCollection::load (ESM::ESMReader& reader, int cellIndex, bool
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!base)
|
|
||||||
cell.mModified.mTouchedRefs.insert (Misc::StringUtils::lowerCase (
|
|
||||||
mCells.getId (cellIndex)));
|
|
||||||
|
|
||||||
if (iter==cache.end())
|
if (iter==cache.end())
|
||||||
{
|
{
|
||||||
// new reference
|
// new reference
|
||||||
|
Loading…
x
Reference in New Issue
Block a user