| 79 | } |
| 80 | |
| 81 | void FileSelectionWidget::enumerateFiles() |
| 82 | { |
| 83 | ui->fileview->blockSignals(true); |
| 84 | ui->fileview->clear(); |
| 85 | |
| 86 | setContextButtonsAvailable(false); |
| 87 | |
| 88 | QStringList files = currentDirectory().entryList(_fileTypes); |
| 89 | if (files.empty()) |
| 90 | { |
| 91 | QListWidgetItem *placeholder = new QListWidgetItem; |
| 92 | placeholder->setText(tr("No supported files found")); |
| 93 | placeholder->setFlags(placeholder->flags() & ~Qt::ItemIsEnabled); |
| 94 | ui->fileview->addItem(placeholder); |
| 95 | } |
| 96 | else |
| 97 | { |
| 98 | ui->fileview->addItems(files); |
| 99 | ui->fileview->clearSelection(); |
| 100 | |
| 101 | if (_currentFile.has_value() && QFile(_currentFile.value()).exists()) |
| 102 | { |
| 103 | for (int i = 0; i < ui->fileview->count(); i++) |
| 104 | { |
| 105 | if (ui->fileview->item(i)->text() == currentFileName().value()) |
| 106 | { |
| 107 | ui->fileview->setCurrentRow(i); |
| 108 | setContextButtonsAvailable(true); |
| 109 | break; |
| 110 | } |
| 111 | } |
| 112 | } |
| 113 | } |
| 114 | |
| 115 | ui->fileview->blockSignals(false); |
| 116 | } |
| 117 | |
| 118 | bool FileSelectionWidget::navigationBarVisible() const |
| 119 | { |