deal with empty and invalid referenceable ID fields

actorid
Marc Zinnschlag 11 years ago
parent 1a9df4bc56
commit 58daf52a67

@ -30,9 +30,16 @@ void CSVRender::PreviewWidget::setModel()
{
mObject.setNull();
int column = mData.getReferenceables().findColumnIndex (CSMWorld::Columns::ColumnId_Model);
if (mReferenceableId.empty())
return;
int column =
mData.getReferenceables().findColumnIndex (CSMWorld::Columns::ColumnId_Model);
int row = mData.getReferenceables().getIndex (mReferenceableId);
int row = mData.getReferenceables().searchId (mReferenceableId);
if (row==-1)
return;
QVariant value = mData.getReferenceables().getData (row, column);
@ -142,6 +149,7 @@ void CSVRender::PreviewWidget::ReferenceDataChanged (const QModelIndex& topLeft,
if (index.column()>=topLeft.column() && index.column()<=bottomRight.row())
{
mReferenceableId = references.data (index).toString().toUtf8().constData();
/// \todo update title
setModel();
}

@ -21,7 +21,10 @@ CSVWorld::PreviewSubView::PreviewSubView (const CSMWorld::UniversalId& id, CSMDo
std::string referenceableId =
document.getData().getReferences().getRecord (id.getId()).get().mRefID;
setWindowTitle (("Preview: Reference to " + referenceableId).c_str());
if (referenceableId.empty())
setWindowTitle ("Preview: Reference to <nothing>");
else
setWindowTitle (("Preview: Reference to " + referenceableId).c_str());
mScene =
new CSVRender::PreviewWidget (document.getData(), referenceableId, id.getId(), this);

Loading…
Cancel
Save