Fixed child creation.

This commit is contained in:
2025-09-29 23:47:59 +02:00
parent f74c004bf9
commit b5f218084b
3 changed files with 8 additions and 5 deletions

View File

@@ -90,9 +90,8 @@ void XQChildModel::addModelData( const XQNodePtr& contentRoot )
if( !sheetNode->first_child()->has_children() ) if( !sheetNode->first_child()->has_children() )
continue; continue;
XQItemList childList = _itemFactory.makeRow( sheetNode, contentEntry ); XQItemList childList =_itemFactory.makeChildRow( list.front(), sheetNode->first_child(), contentEntry );
// als kinder einfügen
list.front()->appendRow( childList );
} }
} // for } // for

View File

@@ -170,7 +170,7 @@ XQItemList XQItemFactory::makeRow(const XQNodePtr& sheetNode, const XQNodePtr& c
//! Erzeugt kind-items zu einem section-eintrag. //! Erzeugt kind-items zu einem section-eintrag.
XQItemList XQItemFactory::makeChildRow( const XQNodePtr& sheetNode, const XQNodePtr& contentNode ) XQItemList XQItemFactory::makeChildRow( QStandardItem* parent, const XQNodePtr& sheetNode, const XQNodePtr& contentNode )
{ {
XQItemList list; XQItemList list;
for (const auto& contentChild : contentNode->children()) for (const auto& contentChild : contentNode->children())
@@ -181,6 +181,10 @@ XQItemList XQItemFactory::makeChildRow( const XQNodePtr& sheetNode, const XQNode
{ {
const XQNodePtr& sheetChild = sheetNode->child(contentKey); const XQNodePtr& sheetChild = sheetNode->child(contentKey);
list = makeRow( sheetChild, contentChild ); list = makeRow( sheetChild, contentChild );
// als kinder einfügen
//insertRow( parent->row()+1, list );
parent->appendRow( list );
} }
} }
return list; return list;

View File

@@ -34,7 +34,7 @@ public:
// __fix auf nicht vorhandenen content felder prüfen! vereinheitlichen! // __fix auf nicht vorhandenen content felder prüfen! vereinheitlichen!
XQItemList makeRow( const XQNodePtr& sheetNode, const XQNodePtr& contentNode ); XQItemList makeRow( const XQNodePtr& sheetNode, const XQNodePtr& contentNode );
XQItemList makeChildRow( const XQNodePtr& sheetNode, const XQNodePtr& contentNode ); XQItemList makeChildRow( QStandardItem* parent, const XQNodePtr& sheetNode, const XQNodePtr& contentNode );
XQItem* makeSingleItem( const XQNodePtr& sheetNode, const QString& caption ); XQItem* makeSingleItem( const XQNodePtr& sheetNode, const QString& caption );
void setItemTypeDataFromString( XQItem& item, const QString& roleKey, const QString& source ) const; void setItemTypeDataFromString( XQItem& item, const QString& roleKey, const QString& source ) const;