NCXModel::NCXEntry EditTOC::ConvertItemToEntry(QStandardItem *item) { NCXModel::NCXEntry entry; if (item != m_TableOfContents->invisibleRootItem()) { entry.text = item->text(); QStandardItem *parent_item = item->parent(); if (!parent_item) { parent_item = m_TableOfContents->invisibleRootItem(); } entry.target = parent_item->child(item->row(), 1)->text(); } else { entry.is_root = true; } if (!item->hasChildren()) { return entry; } for (int row = 0; row < item->rowCount(); row++) { entry.children.append(ConvertItemToEntry(item->child(row, 0))); } return entry; }
NCXModel::NCXEntry EditTOC::ConvertTableToEntries() { return ConvertItemToEntry(m_TableOfContents->invisibleRootItem()); }