Fixed ::setData, part II

This commit is contained in:
2025-09-04 20:09:21 +02:00
parent d6ccac1d85
commit c9b61c1c2b
3 changed files with 10 additions and 19 deletions

View File

@@ -138,7 +138,7 @@ XQItem::XQItem( XQItemType* itemType )
//! konstruiert ein daten-item mit zeiger auf 'unser' attribut
//! im übergeordneten content-node.
XQItem::XQItem(XQItemType* itemType, const QString *content )
XQItem::XQItem(XQItemType* itemType, const QString* content )
: XQItem{ itemType }
{
// hier setzen wir direkt ohne umwege den string pointer
@@ -622,12 +622,12 @@ void XQItem::setData(const QVariant& value, int role )
// fallback: wenns keinen content node gibt, dann nehmen wir
// das standardverfahren.
if( !hasContentPtr() )
return QStandardItem::setData( newValue, XQItem::ContentRole );
return QStandardItem::setData( newValue, Qt::DisplayRole );
// wir nehmen den string pointer
const QString* contentPtr = QStandardItem::data( XQItem::ContentRole ).value<const QString*>();
//Q_ASSERT(contentPtr);
*contentPtr = newValue.toString();
const QString* constContentPtr = QStandardItem::data( XQItem::ContentRole ).value<const QString*>();
// aua, aua, muss aber sein, weil sonst alle anderen consts nicht durchgehalten werden könnten
*const_cast<QString*>(constContentPtr) = newValue.toString();
return;
}