コード例 #1
0
ファイル: projecttree.cpp プロジェクト: sgerbino/sol
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);
    }
}
コード例 #2
0
ファイル: projecttree.cpp プロジェクト: sgerbino/sol
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;
}