Dependency Injection for SettingsCache

* Turn SettingsCache into a QSharedPointer.
* Implement interfaces for settings that need it

Took 2 hours 38 minutes
This commit is contained in:
Lukas Brübach 2025-11-06 18:47:12 +01:00
parent b773909dfd
commit 35d18b5fa9
127 changed files with 1012 additions and 803 deletions

View file

@ -0,0 +1,21 @@
#ifndef COCKATRICE_INTERFACE_CARD_DATABASE_PATH_PROVIDER_H
#define COCKATRICE_INTERFACE_CARD_DATABASE_PATH_PROVIDER_H
#include <QObject>
class ICardDatabasePathProvider : public QObject
{
Q_OBJECT
public:
virtual ~ICardDatabasePathProvider() = default;
virtual QString getCardDatabasePath() const = 0;
virtual QString getCustomCardDatabasePath() const = 0;
virtual QString getTokenDatabasePath() const = 0;
virtual QString getSpoilerCardDatabasePath() const = 0;
signals:
void cardDatabasePathChanged();
};
#endif // COCKATRICE_INTERFACE_CARD_DATABASE_PATH_PROVIDER_H

View file

@ -0,0 +1,19 @@
#ifndef COCKATRICE_INTERFACE_CARD_SET_PRIORITY_CONTROLLER_H
#define COCKATRICE_INTERFACE_CARD_SET_PRIORITY_CONTROLLER_H
#include <QString>
class ICardSetPriorityController
{
public:
virtual ~ICardSetPriorityController() = default;
virtual void setSortKey(QString shortName, unsigned int sortKey) = 0;
virtual void setEnabled(QString shortName, bool enabled) = 0;
virtual void setIsKnown(QString shortName, bool isknown) = 0;
virtual unsigned int getSortKey(QString shortName) = 0;
virtual bool isEnabled(QString shortName) = 0;
virtual bool isKnown(QString shortName) = 0;
};
#endif // COCKATRICE_INTERFACE_CARD_SET_PRIORITY_CONTROLLER_H

View file

@ -0,0 +1,26 @@
#ifndef COCKATRICE_NOOP_CARD_DATABASE_PATH_PROVIDER_H
#define COCKATRICE_NOOP_CARD_DATABASE_PATH_PROVIDER_H
#include "interface_card_database_path_provider.h"
class NoopCardDatabasePathProvider : public ICardDatabasePathProvider
{
public:
QString getCardDatabasePath() const override
{
return "";
}
QString getCustomCardDatabasePath() const override
{
return "";
}
QString getTokenDatabasePath() const override
{
return "";
}
QString getSpoilerCardDatabasePath() const override
{
return "";
}
};
#endif // COCKATRICE_NOOP_CARD_DATABASE_PATH_PROVIDER_H

View file

@ -0,0 +1,32 @@
#ifndef COCKATRICE_NOOP_CARD_SET_PRIORITY_CONTROLLER_H
#define COCKATRICE_NOOP_CARD_SET_PRIORITY_CONTROLLER_H
#include "interface_card_set_priority_controller.h"
class NoopCardSetPriorityController : public ICardSetPriorityController
{
public:
void setSortKey(QString /* shortName */, unsigned int /* sortKey */)
{
}
void setEnabled(QString /* shortName */, bool /* enabled */)
{
}
void setIsKnown(QString /* shortName */, bool /* isknown */)
{
}
unsigned int getSortKey(QString /* shortName */)
{
return 0;
}
bool isEnabled(QString /* shortName */)
{
return true;
}
bool isKnown(QString /* shortName */)
{
return true;
}
};
#endif // COCKATRICE_NOOP_CARD_SET_PRIORITY_CONTROLLER_H