MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / appendTableFolderItems

Method appendTableFolderItems

app/src/DataModel/ProjectEditor.cpp:1824–1854  ·  view source on GitHub ↗

* @brief Materializes the table folder items and re-parents them; returns the id->item map. */

Source from the content-addressed store, hash-verified

1822 * @brief Materializes the table folder items and re-parents them; returns the id->item map.
1823 */
1824QHash<int, QStandardItem*> DataModel::ProjectEditor::appendTableFolderItems(
1825 QStandardItem* tablesRoot, const QString& pathPrefix, QHash<QString, bool>& expandedStates)
1826{
1827 const auto& folders = DataModel::ProjectModel::instance().editorTableFolders();
1828
1829 QHash<int, QStandardItem*> folderItems;
1830 for (const auto& f : folders) {
1831 auto* item = new QStandardItem(f.title);
1832 item->setData(f.title, TreeViewText);
1833 item->setData(QStringLiteral("qrc:/icons/project-editor/treeview/folder.svg"), TreeViewIcon);
1834 item->setData(-1, TreeViewFrameIndex);
1835 item->setData(KindTableFolder, TreeItemKind);
1836 item->setData(f.folderId, TreeItemId);
1837 item->setData(f.parentFolderId, TreeItemParentId);
1838
1839 const QString fPath = pathPrefix + QStringLiteral("/") + folderDisplayPath(folders, f.folderId);
1840 restoreExpandedStateMap(item, expandedStates, fPath);
1841 folderItems.insert(f.folderId, item);
1842 }
1843
1844 for (const auto& f : folders) {
1845 auto* item = folderItems.value(f.folderId);
1846 QStandardItem* parent = (f.parentFolderId != -1 && folderItems.contains(f.parentFolderId))
1847 ? folderItems.value(f.parentFolderId)
1848 : tablesRoot;
1849 parent->appendRow(item);
1850 m_tableFolderItems.insert(item, f.folderId);
1851 }
1852
1853 return folderItems;
1854}
1855
1856/**
1857 * @brief Builds a workspace tree item from a workspace record.

Callers

nothing calls this directly

Calls 3

folderDisplayPathFunction · 0.85
valueMethod · 0.45
containsMethod · 0.45

Tested by

no test coverage detected