cracket it.

This commit is contained in:
2025-08-27 15:39:33 +02:00
parent 04b0f650d6
commit c6454f3106
2 changed files with 15 additions and 60 deletions

View File

@@ -179,7 +179,7 @@ bool XQItem::hasContentNode() const
XQNodePtr XQItem::contentNode() const XQNodePtr XQItem::contentNode() const
{ {
return data( ContentNodeRole ).value<XQNodePtr>(); return data( ContentNodeRole ).value<XQNodePtr>();
} }
@@ -574,7 +574,6 @@ void XQItem::setData(const QVariant& value, int role )
{ {
switch(role) switch(role)
{ {
case RenderStyleRole : case RenderStyleRole :
case EditorTypeRole : case EditorTypeRole :
case UnitTypeRole: case UnitTypeRole:
@@ -594,72 +593,28 @@ void XQItem::setData(const QVariant& value, int role )
return; return;
} }
case XQItem::ContentRole: case Qt::DisplayRole:
{
qDebug() << " --- data(XQItem::ContentRole) should NOT be called!";
// string ptr setzen macht die basis implementierung
[[fallthrough]];
}
// set the raw, unformatted data
case Qt::EditRole: case Qt::EditRole:
{
QString currentText = contentFallBackText();
qDebug() << " --- setting EDITrole: " << currentText;
}
case Qt::DisplayRole:
{
// Wenn wir formatiert sind, machen wir das rückgängig
if( itemType().renderStyle() == XQItem::FormattedStyle)
QVariant plainText = XQItemType::unFormatFromSI( value.toString() );
// string setzen kann die basis ...
qDebug() << " --- setting CONTENTrole: " << value.toString();
// ... aber nur, wenn wir auch einen contentNode haben
/*
if( itemType().renderStyle() == XQItem::FormattedStyle)//return "display:"+content();
return itemType().formatText( *this );
[[fallthrough]];
}
case Qt::DisplayRole:
{
// Wenn wir formatiert sind, machen wir das rückgängig
if( itemType().renderStyle() == XQItem::FormattedStyle)
QVariant plaintText = XQItemType::unFormatFromSI( value.toString() );
// string setzen kann die basis ...
qDebug() << " --- setting CONTENTrole: " << value.toString();
// ... aber nur, wenn wir auch einen contentNode haben
if( itemType().renderStyle() == XQItem::FormattedStyle)//return "display:"+content();
return itemType().formatText( *this );
[[fallthrough]];
}
// EditRole & ContentRole sollen den 'rohen' inhalt unseres string-pointers
// auf den original inhalt im content node zurückgeben.
case Qt::EditRole :
case XQItem::ContentRole: case XQItem::ContentRole:
{ {
QVariant plainText;
if( itemType().renderStyle() == XQItem::FormattedStyle)
plainText = XQItemType::unFormatFromSI( value.toString() );
else
plainText = value;
const QString* contentPtr = QStandardItem::data( XQItem::ContentRole ).value<const QString*>(); // fallback: wenns keinen content node gibt, dann nehmen wir
if(contentPtr) // das standardverfahren.
return *contentPtr; int role = XQItem::ContentRole;
if( ) if( !hasContentNode() )
role = Qt::DisplayRole;
QStandardItem::setData( plainText, role );
break; return;
} }
*/
// alles andere wie gehabt // alles andere wie gehabt
case ContentNodeRole: case ContentNodeRole:
case SheetNodeRole: case SheetNodeRole:
//case TypeKeyRole: not used //case TypeKeyRole: not used
default: default:
break; break;

View File

@@ -35,7 +35,7 @@
void showItemList( const XQItemList& list) void showItemList( const XQItemList& list)
{ {
for(const auto& entry : list ) for(const auto& entry : list )
qDebug() << " --- itemList: " << ((XQItem*)entry)->content(); qDebug() << " --- itemList: " << entry->text();
qDebug(); qDebug();
} }