Fixed ::setData, part I

This commit is contained in:
2025-09-04 18:10:14 +02:00
parent 5d2fb1b378
commit d6ccac1d85
4 changed files with 18 additions and 78 deletions

View File

@@ -613,18 +613,21 @@ void XQItem::setData(const QVariant& value, int role )
case Qt::EditRole:
case XQItem::ContentRole:
{
QVariant plainText;
QVariant newValue;
if( itemType().renderStyle() == XQItem::FormattedStyle)
plainText = XQItemType::unFormatFromSI( value.toString() );
newValue = XQItemType::unFormatFromSI( value.toString() );
else
plainText = value;
newValue = value;
// fallback: wenns keinen content node gibt, dann nehmen wir
// das standardverfahren.
int role = XQItem::ContentRole;
if( !hasContentPtr() )
role = Qt::DisplayRole;
QStandardItem::setData( plainText, role );
return QStandardItem::setData( newValue, XQItem::ContentRole );
// wir nehmen den string pointer
const QString* contentPtr = QStandardItem::data( XQItem::ContentRole ).value<const QString*>();
//Q_ASSERT(contentPtr);
*contentPtr = newValue.toString();
return;
}