void ProjectTree::loadItem(QTreeWidgetItem *item) { ProjectTreeItem *clickedItem = static_cast<ProjectTreeItem*>(item); if (!clickedItem->isLoaded()) { QDir* rootDir = new QDir(clickedItem->getFileInfo()->absoluteFilePath()); clickedItem->setLoaded(true); for (QFileInfo fileInfo : rootDir->entryInfoList(QDir::Filter::AllEntries | QDir::Filter::NoDotAndDotDot, QDir::SortFlag::DirsFirst)) { ProjectTreeItem* child = new ProjectTreeItem(fileInfo); clickedItem->addChild(child); } resizeColumnToContents(0); } }
void ProjectTree::on_itemClicked(QTreeWidgetItem *item, int column) { ProjectTreeItem *clickedItem = static_cast<ProjectTreeItem*>(item); if (clickedItem->getFileInfo()->isDir()) { if (clickedItem->isExpanded()) clickedItem->setExpanded(false); else clickedItem->setExpanded(true); } else emit fileClicked(clickedItem); (void)column; }