Clean up inter-library dependencies with interfaces (#6280)

* Have CardDatabase::getPreferredPrintingInfo respect card provider ID overrides (pinned printings)

Took 13 minutes

Took 37 seconds

Took 10 seconds

Took 10 seconds

# Commit time for manual adjustment:
# Took 30 seconds

Took 15 seconds


Took 8 minutes

Took 21 seconds

* Move settings cache and settings card preference provider out of libcockatrice_settings and into cockatrice

Took 52 minutes

Took 9 minutes

Took 1 minute

* Temp cache.

Took 16 minutes

* Dependency Injection for SettingsCache

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

Took 2 hours 38 minutes

* Adjust oracle.

Took 5 minutes

* Move abstract/noop interfaces to libcockatrice_interfaces so they can be linked against independently.

Took 52 minutes

* Clean up some links.

Took 3 minutes

* Cleanup two includes.

Took 3 minutes

* More fixes.

Took 7 minutes

* More includes that slipped past.

Took 3 minutes

* Stop mocking and start injecting for tests.

Took 15 minutes

* I don't know why remote_client was including main.

Took 4 minutes

* Include.

Took 3 minutes

* Lint.

Took 2 minutes

* Don't use Qt pointers.

Took 1 hour 7 minutes

* Make parser use CardSettingsInterface

Took 13 minutes

* Also adjust constructor lol.

Took 8 minutes

* Lint.

Took 32 minutes

* Revert "Lint."

This reverts commit ecb596c39e.


Took 3 minutes

* Test.

Took 3 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
BruebachL 2025-11-08 22:19:40 +01:00 committed by GitHub
parent fb30515f72
commit a8a3fca8c9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
152 changed files with 609 additions and 750 deletions

View file

@ -1,5 +1,7 @@
#include "dlg_connect.h"
#include "../../../client/settings/cache_settings.h"
#include <QCheckBox>
#include <QComboBox>
#include <QDebug>
@ -12,7 +14,6 @@
#include <QMessageBox>
#include <QPushButton>
#include <QRadioButton>
#include <libcockatrice/settings/cache_settings.h>
#include <libcockatrice/utility/trice_limits.h>
DlgConnect::DlgConnect(QWidget *parent) : QDialog(parent)

View file

@ -1,5 +1,6 @@
#include "dlg_create_game.h"
#include "../../../client/settings/cache_settings.h"
#include "../interface/widgets/tabs/tab_room.h"
#include <QApplication>
@ -17,7 +18,6 @@
#include <QWizard>
#include <libcockatrice/protocol/pb/serverinfo_game.pb.h>
#include <libcockatrice/protocol/pending_command.h>
#include <libcockatrice/settings/cache_settings.h>
#include <libcockatrice/utility/trice_limits.h>
void DlgCreateGame::sharedCtor()

View file

@ -1,8 +1,9 @@
#include "dlg_default_tags_editor.h"
#include "../../../client/settings/cache_settings.h"
#include <QMessageBox>
#include <QVBoxLayout>
#include <libcockatrice/settings/cache_settings.h>
DlgDefaultTagsEditor::DlgDefaultTagsEditor(QWidget *parent) : QDialog(parent)
{

View file

@ -1,11 +1,12 @@
#include "dlg_edit_password.h"
#include "../../../client/settings/cache_settings.h"
#include <QDialogButtonBox>
#include <QGridLayout>
#include <QHBoxLayout>
#include <QLabel>
#include <QMessageBox>
#include <libcockatrice/settings/cache_settings.h>
#include <libcockatrice/utility/trice_limits.h>
DlgEditPassword::DlgEditPassword(QWidget *parent) : QDialog(parent)

View file

@ -1,11 +1,12 @@
#include "dlg_edit_user.h"
#include "../../../client/settings/cache_settings.h"
#include <QDebug>
#include <QDialogButtonBox>
#include <QGridLayout>
#include <QHBoxLayout>
#include <QLabel>
#include <libcockatrice/settings/cache_settings.h>
#include <libcockatrice/utility/trice_limits.h>
DlgEditUser::DlgEditUser(QWidget *parent, QString email, QString country, QString realName) : QDialog(parent)

View file

@ -1,5 +1,7 @@
#include "dlg_forgot_password_challenge.h"
#include "../../../client/settings/cache_settings.h"
#include <QCheckBox>
#include <QDebug>
#include <QDialogButtonBox>
@ -7,7 +9,6 @@
#include <QHBoxLayout>
#include <QLabel>
#include <QMessageBox>
#include <libcockatrice/settings/cache_settings.h>
#include <libcockatrice/utility/trice_limits.h>
DlgForgotPasswordChallenge::DlgForgotPasswordChallenge(QWidget *parent) : QDialog(parent)

View file

@ -1,5 +1,7 @@
#include "dlg_forgot_password_request.h"
#include "../../../client/settings/cache_settings.h"
#include <QCheckBox>
#include <QDebug>
#include <QDialogButtonBox>
@ -7,7 +9,6 @@
#include <QHBoxLayout>
#include <QLabel>
#include <QMessageBox>
#include <libcockatrice/settings/cache_settings.h>
#include <libcockatrice/utility/trice_limits.h>
DlgForgotPasswordRequest::DlgForgotPasswordRequest(QWidget *parent) : QDialog(parent)

View file

@ -1,5 +1,7 @@
#include "dlg_forgot_password_reset.h"
#include "../../../client/settings/cache_settings.h"
#include <QCheckBox>
#include <QDebug>
#include <QDialogButtonBox>
@ -7,7 +9,6 @@
#include <QHBoxLayout>
#include <QLabel>
#include <QMessageBox>
#include <libcockatrice/settings/cache_settings.h>
#include <libcockatrice/utility/trice_limits.h>
DlgForgotPasswordReset::DlgForgotPasswordReset(QWidget *parent) : QDialog(parent)

View file

@ -1,7 +1,8 @@
#include "dlg_load_deck.h"
#include "../../../client/settings/cache_settings.h"
#include <libcockatrice/models/deck_list/deck_loader.h>
#include <libcockatrice/settings/cache_settings.h>
DlgLoadDeck::DlgLoadDeck(QWidget *parent) : QFileDialog(parent, tr("Load Deck"))
{

View file

@ -1,5 +1,6 @@
#include "dlg_load_deck_from_clipboard.h"
#include "../../../client/settings/cache_settings.h"
#include "dlg_settings.h"
#include <QApplication>
@ -12,7 +13,6 @@
#include <QTextStream>
#include <QVBoxLayout>
#include <libcockatrice/models/deck_list/deck_loader.h>
#include <libcockatrice/settings/cache_settings.h>
/**
* Creates the main layout and connects the signals that are common to all versions of this window

View file

@ -1,5 +1,6 @@
#include "dlg_manage_sets.h"
#include "../../../client/settings/cache_settings.h"
#include "../interface/card_picture_loader/card_picture_loader.h"
#include "../interface/widgets/utility/custom_line_edit.h"
#include "../main.h"
@ -21,7 +22,6 @@
#include <algorithm>
#include <libcockatrice/card/database/card_database_manager.h>
#include <libcockatrice/models/database/card_set/card_sets_model.h>
#include <libcockatrice/settings/cache_settings.h>
#define SORT_RESET -1

View file

@ -1,5 +1,7 @@
#include "dlg_register.h"
#include "../../../client/settings/cache_settings.h"
#include <QCheckBox>
#include <QDebug>
#include <QDialogButtonBox>
@ -8,7 +10,6 @@
#include <QLabel>
#include <QMessageBox>
#include <libcockatrice/protocol/pb/serverinfo_user.pb.h>
#include <libcockatrice/settings/cache_settings.h>
#include <libcockatrice/utility/trice_limits.h>
DlgRegister::DlgRegister(QWidget *parent) : QDialog(parent)

View file

@ -1,5 +1,7 @@
#include "dlg_settings.h"
#include "../../../client/settings/cache_settings.h"
#include "../../../client/settings/shortcut_treeview.h"
#include "../client/network/update/card_spoiler/spoiler_background_updater.h"
#include "../client/network/update/client/release_channel.h"
#include "../client/sound_engine.h"
@ -12,6 +14,7 @@
#include "../interface/widgets/utility/sequence_edit.h"
#include "../main.h"
#include <../../client/settings/card_counter_settings.h>
#include <QAbstractButton>
#include <QAbstractListModel>
#include <QAction>
@ -45,9 +48,6 @@
#include <QVariant>
#include <libcockatrice/card/database/card_database.h>
#include <libcockatrice/card/database/card_database_manager.h>
#include <libcockatrice/settings/cache_settings.h>
#include <libcockatrice/settings/card_counter_settings.h>
#include <libcockatrice/settings/shortcut_treeview.h>
#define WIKI_CUSTOM_PIC_URL "https://github.com/Cockatrice/Cockatrice/wiki/Custom-Picture-Download-URLs"
#define WIKI_CUSTOM_SHORTCUTS "https://github.com/Cockatrice/Cockatrice/wiki/Custom-Keyboard-Shortcuts"

View file

@ -1,7 +1,8 @@
#include "dlg_startup_card_check.h"
#include "../../../client/settings/cache_settings.h"
#include <QDate>
#include <libcockatrice/settings/cache_settings.h>
DlgStartupCardCheck::DlgStartupCardCheck(QWidget *parent) : QDialog(parent)
{

View file

@ -1,5 +1,6 @@
#include "dlg_tip_of_the_day.h"
#include "../../../client/settings/cache_settings.h"
#include "tip_of_the_day.h"
#include <QCheckBox>
@ -9,7 +10,6 @@
#include <QGridLayout>
#include <QLabel>
#include <QPushButton>
#include <libcockatrice/settings/cache_settings.h>
#define MIN_TIP_IMAGE_HEIGHT 200
#define MIN_TIP_IMAGE_WIDTH 200

View file

@ -1,5 +1,6 @@
#include "dlg_update.h"
#include "../../../client/settings/cache_settings.h"
#include "../client/network/update/client/client_update_checker.h"
#include "../client/network/update/client/release_channel.h"
#include "../interface/window_main.h"
@ -13,7 +14,6 @@
#include <QPushButton>
#include <QVBoxLayout>
#include <QtNetwork>
#include <libcockatrice/settings/cache_settings.h>
#include <version_string.h>
DlgUpdate::DlgUpdate(QWidget *parent) : QDialog(parent)

View file

@ -1,5 +1,6 @@
#include "dlg_view_log.h"
#include "../../../client/settings/cache_settings.h"
#include "../../logger.h"
#include <QClipboard>
@ -7,7 +8,6 @@
#include <QPushButton>
#include <QRegularExpression>
#include <QVBoxLayout>
#include <libcockatrice/settings/cache_settings.h>
DlgViewLog::DlgViewLog(QWidget *parent) : QDialog(parent)
{