This commit is contained in:
RickyRister 2025-02-06 22:02:23 -08:00
parent 4d8f4afd9c
commit 3c7d1922c5
2 changed files with 30 additions and 32 deletions

View file

@ -63,10 +63,24 @@ void VisualDeckStorageFolderDisplayWidget::refreshUi()
header->setText(bannerText); header->setText(bannerText);
} }
static QStringList getAllFiles(const QString &filePath)
{
QStringList allFiles;
// QDirIterator with QDir::Files ensures only files are listed (no directories)
QDirIterator it(filePath, QDir::Files);
while (it.hasNext()) {
allFiles << it.next(); // Add each file path to the list
}
return allFiles;
}
void VisualDeckStorageFolderDisplayWidget::createWidgetsForFiles() void VisualDeckStorageFolderDisplayWidget::createWidgetsForFiles()
{ {
QList<DeckPreviewWidget *> allDecks; QList<DeckPreviewWidget *> allDecks;
for (const QString &file : getAllFiles()) { for (const QString &file : getAllFiles(filePath)) {
auto *display = new DeckPreviewWidget(flowWidget, visualDeckStorageWidget, file); auto *display = new DeckPreviewWidget(flowWidget, visualDeckStorageWidget, file);
connect(display, &DeckPreviewWidget::deckPreviewClicked, visualDeckStorageWidget, connect(display, &DeckPreviewWidget::deckPreviewClicked, visualDeckStorageWidget,
@ -121,9 +135,23 @@ bool VisualDeckStorageFolderDisplayWidget::checkVisibility()
return atLeastOneWidgetVisible; return atLeastOneWidgetVisible;
} }
static QStringList getAllSubFolders(const QString &filePath)
{
QStringList allFolders;
// QDirIterator with QDir::Files ensures only files are listed (no directories)
QDirIterator it(filePath, QDir::Dirs | QDir::NoDotAndDotDot);
while (it.hasNext()) {
allFolders << it.next(); // Add each file path to the list
}
return allFolders;
}
void VisualDeckStorageFolderDisplayWidget::createWidgetsForFolders() void VisualDeckStorageFolderDisplayWidget::createWidgetsForFolders()
{ {
for (const QString &dir : getAllSubFolders()) { for (const QString &dir : getAllSubFolders(filePath)) {
auto *display = new VisualDeckStorageFolderDisplayWidget(this, visualDeckStorageWidget, dir, true); auto *display = new VisualDeckStorageFolderDisplayWidget(this, visualDeckStorageWidget, dir, true);
containerLayout->addWidget(display); containerLayout->addWidget(display);
} }
@ -148,32 +176,4 @@ QStringList VisualDeckStorageFolderDisplayWidget::gatherAllTagsFromFlowWidget()
allTags.removeDuplicates(); allTags.removeDuplicates();
return allTags; return allTags;
}
QStringList VisualDeckStorageFolderDisplayWidget::getAllFiles() const
{
QStringList allFiles;
// QDirIterator with QDir::Files ensures only files are listed (no directories)
QDirIterator it(filePath, QDir::Files);
while (it.hasNext()) {
allFiles << it.next(); // Add each file path to the list
}
return allFiles;
}
QStringList VisualDeckStorageFolderDisplayWidget::getAllSubFolders() const
{
QStringList allFolders;
// QDirIterator with QDir::Files ensures only files are listed (no directories)
QDirIterator it(filePath, QDir::Dirs | QDir::NoDotAndDotDot);
while (it.hasNext()) {
allFolders << it.next(); // Add each file path to the list
}
return allFolders;
} }

View file

@ -20,8 +20,6 @@ public:
void createWidgetsForFiles(); void createWidgetsForFiles();
void createWidgetsForFolders(); void createWidgetsForFolders();
QStringList gatherAllTagsFromFlowWidget() const; QStringList gatherAllTagsFromFlowWidget() const;
[[nodiscard]] QStringList getAllFiles() const;
[[nodiscard]] QStringList getAllSubFolders() const;
FlowWidget *getFlowWidget() const FlowWidget *getFlowWidget() const
{ {
return flowWidget; return flowWidget;