1#ifndef COCKATRICE_CARD_PICTURE_LOADER_LOCAL_SCHEMES_H
2#define COCKATRICE_CARD_PICTURE_LOADER_LOCAL_SCHEMES_H
5#include <QRegularExpression>
32 static QList<NamingSchemeInfo> list = {
44 static QList<NamingSchemeInfo> list = {
47 "{set}/{name}_{set}_{collector}"},
58 const QString &collector,
59 const QString &providerId)
61 QString result = pattern;
63 auto replaceIfPresent = [&](
const QString &token,
const QString &value) ->
bool {
64 if (!result.contains(token)) {
68 if (value.isEmpty()) {
72 result.replace(token, value);
76 if (!replaceIfPresent(
"{name}", name)) {
79 if (!replaceIfPresent(
"{set}", set)) {
82 if (!replaceIfPresent(
"{collector}", collector)) {
85 if (!replaceIfPresent(
"{providerId}", providerId)) {
96 const QStringList separators = {
"_",
"-"};
99 for (
const QString &sep : separators) {
101 QString pattern = scheme.pattern;
102 pattern.replace(
"_", sep);
104 QString v =
expandPattern(pattern, name, set, collector, providerId);
Definition card_picture_loader_local_schemes.h:10
QStringList generateImportVariants(const QString &name, const QString &set, const QString &collector, const QString &providerId)
Definition card_picture_loader_local_schemes.h:93
NamingScheme
Definition card_picture_loader_local_schemes.h:13
@ Name_Set
Definition card_picture_loader_local_schemes.h:15
@ Name_ProviderId
Definition card_picture_loader_local_schemes.h:18
@ NameOnly
Definition card_picture_loader_local_schemes.h:14
@ Set_Folder_Name_ProviderId
Definition card_picture_loader_local_schemes.h:19
@ Set_Folder_Name_Set_Collector
Definition card_picture_loader_local_schemes.h:20
@ Set_Collector_Name
Definition card_picture_loader_local_schemes.h:17
@ Name_Set_Collector
Definition card_picture_loader_local_schemes.h:16
const QList< NamingSchemeInfo > & exportSchemes()
Definition card_picture_loader_local_schemes.h:42
const QList< NamingSchemeInfo > & importSchemes()
Definition card_picture_loader_local_schemes.h:30
QString expandPattern(const QString &pattern, const QString &name, const QString &set, const QString &collector, const QString &providerId)
Definition card_picture_loader_local_schemes.h:55
Definition card_picture_loader_local_schemes.h:24
QString pattern
Definition card_picture_loader_local_schemes.h:27
NamingScheme id
Definition card_picture_loader_local_schemes.h:25
QString displayName
Definition card_picture_loader_local_schemes.h:26