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,6 @@
#include "deck_preview_deck_tags_display_widget.h"
#include "../../../../client/settings/cache_settings.h"
#include "../../../../interface/widgets/dialogs/dlg_convert_deck_to_cod_format.h"
#include "../../../../interface/widgets/tabs/tab_deck_editor.h"
#include "../../general/layout_containers/flow_widget.h"
@ -12,7 +13,6 @@
#include <QHBoxLayout>
#include <QLabel>
#include <QMessageBox>
#include <libcockatrice/settings/cache_settings.h>
DeckPreviewDeckTagsDisplayWidget::DeckPreviewDeckTagsDisplayWidget(QWidget *_parent, DeckList *_deckList)
: QWidget(_parent), deckList(nullptr)

View file

@ -1,5 +1,6 @@
#include "deck_preview_tag_addition_widget.h"
#include "../../../../client/settings/cache_settings.h"
#include "../../../../interface/widgets/tabs/abstract_tab_deck_editor.h"
#include "deck_preview_tag_dialog.h"
@ -7,7 +8,6 @@
#include <QHBoxLayout>
#include <QMouseEvent>
#include <QPainter>
#include <libcockatrice/settings/cache_settings.h>
#include <utility>
DeckPreviewTagAdditionWidget::DeckPreviewTagAdditionWidget(QWidget *_parent, QString _tagName)

View file

@ -1,5 +1,6 @@
#include "deck_preview_tag_dialog.h"
#include "../../../../client/settings/cache_settings.h"
#include "../../../../interface/widgets/dialogs/dlg_default_tags_editor.h"
#include "deck_preview_tag_item_widget.h"
@ -11,7 +12,6 @@
#include <QPushButton>
#include <QTimer>
#include <QVBoxLayout>
#include <libcockatrice/settings/cache_settings.h>
DeckPreviewTagDialog::DeckPreviewTagDialog(const QStringList &knownTags,
const QStringList &_activeTags,

View file

@ -1,5 +1,6 @@
#include "deck_preview_widget.h"
#include "../../../../client/settings/cache_settings.h"
#include "../../cards/additional_info/color_identity_widget.h"
#include "../../cards/deck_preview_card_picture_widget.h"
#include "deck_preview_deck_tags_display_widget.h"
@ -14,7 +15,6 @@
#include <QStandardItemModel>
#include <QVBoxLayout>
#include <libcockatrice/card/database/card_database_manager.h>
#include <libcockatrice/settings/cache_settings.h>
DeckPreviewWidget::DeckPreviewWidget(QWidget *_parent,
VisualDeckStorageWidget *_visualDeckStorageWidget,

View file

@ -1,10 +1,10 @@
#include "visual_deck_storage_folder_display_widget.h"
#include "../../../client/settings/cache_settings.h"
#include "deck_preview/deck_preview_widget.h"
#include <QDirIterator>
#include <QMouseEvent>
#include <libcockatrice/settings/cache_settings.h>
VisualDeckStorageFolderDisplayWidget::VisualDeckStorageFolderDisplayWidget(
QWidget *parent,

View file

@ -1,11 +1,11 @@
#include "visual_deck_storage_quick_settings_widget.h"
#include "../../../client/settings/cache_settings.h"
#include "visual_deck_storage_widget.h"
#include <QCheckBox>
#include <QComboBox>
#include <QSpinBox>
#include <libcockatrice/settings/cache_settings.h>
VisualDeckStorageQuickSettingsWidget::VisualDeckStorageQuickSettingsWidget(QWidget *parent)
: SettingsButtonWidget(parent)

View file

@ -1,11 +1,11 @@
#include "visual_deck_storage_search_widget.h"
#include "../../../client/settings/cache_settings.h"
#include "../../../filters/deck_filter_string.h"
#include "../../../filters/syntax_help.h"
#include "../../pixel_map_generator.h"
#include <QAction>
#include <libcockatrice/settings/cache_settings.h>
/**
* @brief Constructs a PrintingSelectorCardSearchWidget for searching cards by set name or set code.

View file

@ -1,6 +1,6 @@
#include "visual_deck_storage_sort_widget.h"
#include <libcockatrice/settings/cache_settings.h>
#include "../../../client/settings/cache_settings.h"
/**
* @brief Constructs a PrintingSelectorCardSortWidget for searching cards by set name or set code.

View file

@ -1,5 +1,6 @@
#include "visual_deck_storage_widget.h"
#include "../../../client/settings/cache_settings.h"
#include "../quick_settings/settings_button_widget.h"
#include "deck_preview/deck_preview_widget.h"
#include "visual_deck_storage_folder_display_widget.h"
@ -13,7 +14,6 @@
#include <QSpinBox>
#include <QVBoxLayout>
#include <libcockatrice/card/database/card_database_manager.h>
#include <libcockatrice/settings/cache_settings.h>
VisualDeckStorageWidget::VisualDeckStorageWidget(QWidget *parent) : QWidget(parent), folderWidget(nullptr)
{