diff --git a/cockatrice/src/client/tabs/abstract_tab_deck_editor.cpp b/cockatrice/src/client/tabs/abstract_tab_deck_editor.cpp index 92e63230b..734ed1298 100644 --- a/cockatrice/src/client/tabs/abstract_tab_deck_editor.cpp +++ b/cockatrice/src/client/tabs/abstract_tab_deck_editor.cpp @@ -355,7 +355,7 @@ bool AbstractTabDeckEditor::actSaveDeckAs() dialog.setDirectory(SettingsCache::instance().getDeckPath()); dialog.setAcceptMode(QFileDialog::AcceptSave); dialog.setDefaultSuffix("cod"); - dialog.setNameFilters(DeckLoader::fileNameFilters); + dialog.setNameFilters(DeckLoader::FILE_NAME_FILTERS); dialog.selectFile(getDeckList()->getName().trimmed()); if (!dialog.exec()) return false; diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp index ab64b0d60..b4a07386c 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_folder_display_widget.cpp @@ -71,7 +71,7 @@ static QStringList getAllFiles(const QString &filePath, bool recursive) // QDirIterator with QDir::Files ensures only files are listed (no directories) auto flags = recursive ? QDirIterator::Subdirectories | QDirIterator::FollowSymlinks : QDirIterator::NoIteratorFlags; - QDirIterator it(filePath, {"*.txt", "*.cod"}, QDir::Files, flags); + QDirIterator it(filePath, DeckLoader::ACCEPTED_FILE_EXTENSIONS, QDir::Files, flags); while (it.hasNext()) { allFiles << it.next(); // Add each file path to the list diff --git a/cockatrice/src/deck/deck_loader.cpp b/cockatrice/src/deck/deck_loader.cpp index 697905d0e..16132c571 100644 --- a/cockatrice/src/deck/deck_loader.cpp +++ b/cockatrice/src/deck/deck_loader.cpp @@ -16,9 +16,10 @@ #include #include -const QStringList DeckLoader::fileNameFilters = QStringList() - << QObject::tr("Common deck formats (*.cod *.dec *.dek *.txt *.mwDeck)") - << QObject::tr("All files (*.*)"); +const QStringList DeckLoader::ACCEPTED_FILE_EXTENSIONS = {"*.cod", "*.dec", "*.dek", "*.txt", "*.mwDeck"}; + +const QStringList DeckLoader::FILE_NAME_FILTERS = { + tr("Common deck formats (%1)").arg(ACCEPTED_FILE_EXTENSIONS.join(" ")), tr("All files (*.*)")}; DeckLoader::DeckLoader() : DeckList(), lastFileName(QString()), lastFileFormat(CockatriceFormat), lastRemoteDeckId(-1) { diff --git a/cockatrice/src/deck/deck_loader.h b/cockatrice/src/deck/deck_loader.h index 035830e0a..c62fd45c9 100644 --- a/cockatrice/src/deck/deck_loader.h +++ b/cockatrice/src/deck/deck_loader.h @@ -20,7 +20,16 @@ public: PlainTextFormat, CockatriceFormat }; - static const QStringList fileNameFilters; + + /** + * Supported file extensions for decklist files + */ + static const QStringList ACCEPTED_FILE_EXTENSIONS; + + /** + * For use with `QFileDialog::setNameFilters` + */ + static const QStringList FILE_NAME_FILTERS; private: QString lastFileName; diff --git a/cockatrice/src/dialogs/dlg_load_deck.cpp b/cockatrice/src/dialogs/dlg_load_deck.cpp index 0fabdaaa3..91252a768 100644 --- a/cockatrice/src/dialogs/dlg_load_deck.cpp +++ b/cockatrice/src/dialogs/dlg_load_deck.cpp @@ -11,7 +11,7 @@ DlgLoadDeck::DlgLoadDeck(QWidget *parent) : QFileDialog(parent, tr("Load Deck")) } setDirectory(startingDir); - setNameFilters(DeckLoader::fileNameFilters); + setNameFilters(DeckLoader::FILE_NAME_FILTERS); connect(this, &DlgLoadDeck::accepted, this, &DlgLoadDeck::actAccepted); }