From c6454f31061613828a8f501e06258127151fd15f Mon Sep 17 00:00:00 2001 From: "PANIK\\chris" Date: Wed, 27 Aug 2025 15:39:33 +0200 Subject: [PATCH] cracket it. --- src/items/xqitem.cpp | 73 ++++++++------------------------------- src/model/xqviewmodel.cpp | 2 +- 2 files changed, 15 insertions(+), 60 deletions(-) diff --git a/src/items/xqitem.cpp b/src/items/xqitem.cpp index 854d474..84fa1a7 100644 --- a/src/items/xqitem.cpp +++ b/src/items/xqitem.cpp @@ -179,7 +179,7 @@ bool XQItem::hasContentNode() const XQNodePtr XQItem::contentNode() const { - return data( ContentNodeRole ).value(); + return data( ContentNodeRole ).value(); } @@ -574,7 +574,6 @@ void XQItem::setData(const QVariant& value, int role ) { switch(role) { - case RenderStyleRole : case EditorTypeRole : case UnitTypeRole: @@ -594,72 +593,28 @@ void XQItem::setData(const QVariant& value, int role ) return; } - case XQItem::ContentRole: - { - qDebug() << " --- data(XQItem::ContentRole) should NOT be called!"; - // string ptr setzen macht die basis implementierung - [[fallthrough]]; - } - - // set the raw, unformatted data + case Qt::DisplayRole: 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: { + QVariant plainText; + if( itemType().renderStyle() == XQItem::FormattedStyle) + plainText = XQItemType::unFormatFromSI( value.toString() ); + else + plainText = value; - const QString* contentPtr = QStandardItem::data( XQItem::ContentRole ).value(); - if(contentPtr) - return *contentPtr; - if( ) - - - break; + // fallback: wenns keinen content node gibt, dann nehmen wir + // das standardverfahren. + int role = XQItem::ContentRole; + if( !hasContentNode() ) + role = Qt::DisplayRole; + QStandardItem::setData( plainText, role ); + return; } - */ // alles andere wie gehabt case ContentNodeRole: case SheetNodeRole: - //case TypeKeyRole: not used default: break; diff --git a/src/model/xqviewmodel.cpp b/src/model/xqviewmodel.cpp index 5f1dc22..4bae855 100644 --- a/src/model/xqviewmodel.cpp +++ b/src/model/xqviewmodel.cpp @@ -35,7 +35,7 @@ void showItemList( const XQItemList& list) { for(const auto& entry : list ) - qDebug() << " --- itemList: " << ((XQItem*)entry)->content(); + qDebug() << " --- itemList: " << entry->text(); qDebug(); }