From 919c9f0095113f072debcc284a8f078d213994f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Sun, 9 Nov 2025 02:40:52 +0100 Subject: [PATCH] Deck loader is a gui class. Took 31 minutes Took 3 minutes --- cockatrice/CMakeLists.txt | 1 + .../parsers/interface_json_deck_parser.h | 3 ++- .../src/game/deckview/deck_view_container.cpp | 2 +- .../src/game/deckview/deck_view_container.h | 3 ++- cockatrice/src/game/player/player_info.h | 2 +- .../interface/deck_loader}/deck_loader.cpp | 0 .../src/interface/deck_loader}/deck_loader.h | 0 .../deck_analytics/mana_base_widget.cpp | 2 +- .../deck_analytics/mana_curve_widget.cpp | 2 +- .../deck_analytics/mana_devotion_widget.cpp | 2 +- .../deck_editor_deck_dock_widget.cpp | 14 +++++++++-- .../deck_editor_deck_dock_widget.h | 4 ++- .../widgets/dialogs/dlg_load_deck.cpp | 3 +-- .../dialogs/dlg_load_deck_from_clipboard.cpp | 2 +- .../dialogs/dlg_select_set_for_cards.cpp | 8 +++--- .../all_zones_card_amount_widget.h | 2 +- .../printing_selector/card_amount_widget.h | 2 +- .../widgets/tabs/abstract_tab_deck_editor.cpp | 25 +++++++++++-------- .../widgets/tabs/abstract_tab_deck_editor.h | 3 ++- .../average_deck/edhrec_deck_api_response.cpp | 3 ++- .../average_deck/edhrec_deck_api_response.h | 3 ++- .../widgets/tabs/tab_deck_storage.cpp | 2 +- .../interface/widgets/tabs/tab_supervisor.h | 2 +- .../visual_deck_editor_sample_hand_widget.cpp | 2 +- .../visual_deck_editor_widget.cpp | 2 +- .../deck_preview_deck_tags_display_widget.h | 2 +- .../deck_preview/deck_preview_widget.h | 2 +- .../visual_deck_storage_widget.h | 1 + .../models/deck_list/deck_list_model.cpp | 12 +++------ .../models/deck_list/deck_list_model.h | 12 ++++----- 30 files changed, 69 insertions(+), 54 deletions(-) rename {libcockatrice_models/libcockatrice/models/deck_list => cockatrice/src/interface/deck_loader}/deck_loader.cpp (100%) rename {libcockatrice_models/libcockatrice/models/deck_list => cockatrice/src/interface/deck_loader}/deck_loader.h (100%) diff --git a/cockatrice/CMakeLists.txt b/cockatrice/CMakeLists.txt index 3ba24b31e..279de0533 100644 --- a/cockatrice/CMakeLists.txt +++ b/cockatrice/CMakeLists.txt @@ -19,6 +19,7 @@ set(cockatrice_SOURCES src/client/settings/card_counter_settings.cpp src/client/settings/shortcut_treeview.cpp src/client/settings/shortcuts_settings.cpp + src/interface/deck_loader/deck_loader.cpp src/interface/widgets/dialogs/dlg_connect.cpp src/interface/widgets/dialogs/dlg_convert_deck_to_cod_format.cpp src/interface/widgets/dialogs/dlg_create_game.cpp diff --git a/cockatrice/src/client/network/parsers/interface_json_deck_parser.h b/cockatrice/src/client/network/parsers/interface_json_deck_parser.h index 91915c306..a2bb9e812 100644 --- a/cockatrice/src/client/network/parsers/interface_json_deck_parser.h +++ b/cockatrice/src/client/network/parsers/interface_json_deck_parser.h @@ -6,9 +6,10 @@ #ifndef INTERFACE_JSON_DECK_PARSER_H #define INTERFACE_JSON_DECK_PARSER_H +#include "../../../interface/deck_loader/deck_loader.h" + #include #include -#include class IJsonDeckParser { diff --git a/cockatrice/src/game/deckview/deck_view_container.cpp b/cockatrice/src/game/deckview/deck_view_container.cpp index 6a01467d1..5b74fbe97 100644 --- a/cockatrice/src/game/deckview/deck_view_container.cpp +++ b/cockatrice/src/game/deckview/deck_view_container.cpp @@ -2,6 +2,7 @@ #include "../../client/settings/cache_settings.h" #include "../../interface/card_picture_loader/card_picture_loader.h" +#include "../../interface/deck_loader/deck_loader.h" #include "../../interface/widgets/dialogs/dlg_load_deck.h" #include "../../interface/widgets/dialogs/dlg_load_deck_from_clipboard.h" #include "../../interface/widgets/dialogs/dlg_load_deck_from_website.h" @@ -16,7 +17,6 @@ #include #include #include -#include #include #include #include diff --git a/cockatrice/src/game/deckview/deck_view_container.h b/cockatrice/src/game/deckview/deck_view_container.h index 7f283527f..df381561b 100644 --- a/cockatrice/src/game/deckview/deck_view_container.h +++ b/cockatrice/src/game/deckview/deck_view_container.h @@ -7,8 +7,9 @@ #ifndef DECK_VIEW_CONTAINER_H #define DECK_VIEW_CONTAINER_H +#include "../../interface/deck_loader/deck_loader.h" + #include -#include class QVBoxLayout; class AbstractCardItem; diff --git a/cockatrice/src/game/player/player_info.h b/cockatrice/src/game/player/player_info.h index 81f3f1487..d60c245e2 100644 --- a/cockatrice/src/game/player/player_info.h +++ b/cockatrice/src/game/player/player_info.h @@ -7,6 +7,7 @@ #ifndef COCKATRICE_PLAYER_INFO_H #define COCKATRICE_PLAYER_INFO_H +#include "../../interface/deck_loader/deck_loader.h" #include "../zones/hand_zone.h" #include "../zones/pile_zone.h" #include "../zones/stack_zone.h" @@ -14,7 +15,6 @@ #include "player_target.h" #include -#include #include class PlayerInfo : public QObject diff --git a/libcockatrice_models/libcockatrice/models/deck_list/deck_loader.cpp b/cockatrice/src/interface/deck_loader/deck_loader.cpp similarity index 100% rename from libcockatrice_models/libcockatrice/models/deck_list/deck_loader.cpp rename to cockatrice/src/interface/deck_loader/deck_loader.cpp diff --git a/libcockatrice_models/libcockatrice/models/deck_list/deck_loader.h b/cockatrice/src/interface/deck_loader/deck_loader.h similarity index 100% rename from libcockatrice_models/libcockatrice/models/deck_list/deck_loader.h rename to cockatrice/src/interface/deck_loader/deck_loader.h diff --git a/cockatrice/src/interface/widgets/deck_analytics/mana_base_widget.cpp b/cockatrice/src/interface/widgets/deck_analytics/mana_base_widget.cpp index 29fa3ece8..27079dd52 100644 --- a/cockatrice/src/interface/widgets/deck_analytics/mana_base_widget.cpp +++ b/cockatrice/src/interface/widgets/deck_analytics/mana_base_widget.cpp @@ -1,5 +1,6 @@ #include "mana_base_widget.h" +#include "../../deck_loader/deck_loader.h" #include "../general/display/banner_widget.h" #include "../general/display/bar_widget.h" @@ -8,7 +9,6 @@ #include #include #include -#include ManaBaseWidget::ManaBaseWidget(QWidget *parent, DeckListModel *_deckListModel) : QWidget(parent), deckListModel(_deckListModel) diff --git a/cockatrice/src/interface/widgets/deck_analytics/mana_curve_widget.cpp b/cockatrice/src/interface/widgets/deck_analytics/mana_curve_widget.cpp index e2067326a..668b3afd5 100644 --- a/cockatrice/src/interface/widgets/deck_analytics/mana_curve_widget.cpp +++ b/cockatrice/src/interface/widgets/deck_analytics/mana_curve_widget.cpp @@ -1,13 +1,13 @@ #include "mana_curve_widget.h" #include "../../../main.h" +#include "../../deck_loader/deck_loader.h" #include "../general/display/banner_widget.h" #include "../general/display/bar_widget.h" #include #include #include -#include #include ManaCurveWidget::ManaCurveWidget(QWidget *parent, DeckListModel *_deckListModel) diff --git a/cockatrice/src/interface/widgets/deck_analytics/mana_devotion_widget.cpp b/cockatrice/src/interface/widgets/deck_analytics/mana_devotion_widget.cpp index d23d6bfab..4454caef1 100644 --- a/cockatrice/src/interface/widgets/deck_analytics/mana_devotion_widget.cpp +++ b/cockatrice/src/interface/widgets/deck_analytics/mana_devotion_widget.cpp @@ -1,6 +1,7 @@ #include "mana_devotion_widget.h" #include "../../../main.h" +#include "../../deck_loader/deck_loader.h" #include "../general/display/banner_widget.h" #include "../general/display/bar_widget.h" @@ -8,7 +9,6 @@ #include #include #include -#include #include #include #include diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp b/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp index 0e6b535bf..444855bff 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp +++ b/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.cpp @@ -1,6 +1,7 @@ #include "deck_editor_deck_dock_widget.h" #include "../../../client/settings/cache_settings.h" +#include "../../deck_loader/deck_loader.h" #include #include @@ -366,7 +367,11 @@ void DeckEditorDeckDockWidget::syncBannerCardComboBoxSelectionWithDeck() */ void DeckEditorDeckDockWidget::setDeck(DeckLoader *_deck) { - deckModel->setDeckList(_deck); + deckLoader = _deck; + + deckModel->setDeckList(qobject_cast(_deck)); + connect(_deck, &DeckLoader::deckLoaded, deckModel, &DeckListModel::rebuildTree); + connect(_deck, &DeckLoader::deckHashChanged, deckModel, &DeckListModel::deckHashChanged); nameEdit->setText(deckModel->getDeckList()->getName()); commentsEdit->setText(deckModel->getDeckList()->getComments()); @@ -383,11 +388,16 @@ void DeckEditorDeckDockWidget::setDeck(DeckLoader *_deck) emit deckChanged(); } -DeckLoader *DeckEditorDeckDockWidget::getDeckList() +DeckList *DeckEditorDeckDockWidget::getDeckList() { return deckModel->getDeckList(); } +DeckLoader *DeckEditorDeckDockWidget::getDeckLoader() +{ + return deckLoader; +} + /** * Resets the tab to the state for a blank new tab. */ diff --git a/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.h b/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.h index 62810e7eb..b2e45e186 100644 --- a/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.h +++ b/cockatrice/src/interface/widgets/deck_editor/deck_editor_deck_dock_widget.h @@ -27,6 +27,7 @@ class DeckEditorDeckDockWidget : public QDockWidget Q_OBJECT public: explicit DeckEditorDeckDockWidget(AbstractTabDeckEditor *parent); + DeckLoader *deckLoader; DeckListModel *deckModel; QTreeView *deckView; QComboBox *bannerCardComboBox; @@ -50,7 +51,8 @@ public slots: void cleanDeck(); void updateBannerCardComboBox(); void setDeck(DeckLoader *_deck); - DeckLoader *getDeckList(); + DeckList *getDeckList(); + DeckLoader *getDeckLoader(); void actIncrement(); bool swapCard(const QModelIndex &idx); void actDecrementCard(const ExactCard &card, QString zoneName); diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_load_deck.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_load_deck.cpp index 4f21d7543..b87800909 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_load_deck.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_load_deck.cpp @@ -1,8 +1,7 @@ #include "dlg_load_deck.h" #include "../../../client/settings/cache_settings.h" - -#include +#include "../../deck_loader/deck_loader.h" DlgLoadDeck::DlgLoadDeck(QWidget *parent) : QFileDialog(parent, tr("Load Deck")) { diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_clipboard.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_clipboard.cpp index cfd99872a..15ee0e21d 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_clipboard.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_load_deck_from_clipboard.cpp @@ -1,6 +1,7 @@ #include "dlg_load_deck_from_clipboard.h" #include "../../../client/settings/cache_settings.h" +#include "../../deck_loader/deck_loader.h" #include "dlg_settings.h" #include @@ -12,7 +13,6 @@ #include #include #include -#include /** * Creates the main layout and connects the signals that are common to all versions of this window diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp index a2c68410c..31e2f8d14 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_select_set_for_cards.cpp @@ -1,5 +1,6 @@ #include "dlg_select_set_for_cards.h" +#include "../../deck_loader/deck_loader.h" #include "../interface/widgets/cards/card_info_picture_widget.h" #include "../interface/widgets/general/layout_containers/flow_widget.h" #include "dlg_select_set_for_cards.h" @@ -16,7 +17,6 @@ #include #include #include -#include #include #include @@ -162,14 +162,14 @@ void DlgSelectSetForCards::actOK() void DlgSelectSetForCards::actClear() { - model->getDeckList()->clearSetNamesAndNumbers(); + qobject_cast(model->getDeckList())->clearSetNamesAndNumbers(); accept(); } void DlgSelectSetForCards::actSetAllToPreferred() { - model->getDeckList()->clearSetNamesAndNumbers(); - model->getDeckList()->setProviderIdToPreferredPrinting(); + qobject_cast(model->getDeckList())->clearSetNamesAndNumbers(); + qobject_cast(model->getDeckList())->setProviderIdToPreferredPrinting(); accept(); } diff --git a/cockatrice/src/interface/widgets/printing_selector/all_zones_card_amount_widget.h b/cockatrice/src/interface/widgets/printing_selector/all_zones_card_amount_widget.h index b16319da9..bf8ade36a 100644 --- a/cockatrice/src/interface/widgets/printing_selector/all_zones_card_amount_widget.h +++ b/cockatrice/src/interface/widgets/printing_selector/all_zones_card_amount_widget.h @@ -7,12 +7,12 @@ #ifndef ALL_ZONES_CARD_AMOUNT_WIDGET_H #define ALL_ZONES_CARD_AMOUNT_WIDGET_H +#include "../../deck_loader/deck_loader.h" #include "card_amount_widget.h" #include #include #include -#include class AllZonesCardAmountWidget : public QWidget { diff --git a/cockatrice/src/interface/widgets/printing_selector/card_amount_widget.h b/cockatrice/src/interface/widgets/printing_selector/card_amount_widget.h index 8bb3b2ee5..543964a79 100644 --- a/cockatrice/src/interface/widgets/printing_selector/card_amount_widget.h +++ b/cockatrice/src/interface/widgets/printing_selector/card_amount_widget.h @@ -9,6 +9,7 @@ #define CARD_AMOUNT_WIDGET_H #include "../../../interface/widgets/tabs/abstract_tab_deck_editor.h" +#include "../../deck_loader/deck_loader.h" #include "../general/display/dynamic_font_size_push_button.h" #include @@ -18,7 +19,6 @@ #include #include #include -#include class CardAmountWidget : public QWidget { diff --git a/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp b/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp index a5406aa6c..9e3d71f7c 100644 --- a/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp +++ b/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.cpp @@ -217,11 +217,16 @@ void AbstractTabDeckEditor::setDeck(DeckLoader *_deck) } /** @brief Returns the currently loaded deck. */ -DeckLoader *AbstractTabDeckEditor::getDeckList() const +DeckList *AbstractTabDeckEditor::getDeckList() const { return deckDockWidget->getDeckList(); } +DeckLoader *AbstractTabDeckEditor::getDeckLoader() const +{ + return deckDockWidget->getDeckLoader(); +} + /** * @brief Sets the modified state of the tab. * @param _modified True if tab is modified, false otherwise. @@ -237,7 +242,7 @@ void AbstractTabDeckEditor::setModified(bool _modified) */ bool AbstractTabDeckEditor::isBlankNewDeck() const { - DeckLoader *deck = getDeckList(); + DeckLoader *deck = deckDockWidget->getDeckLoader(); return !modified && deck->isBlankDeck() && deck->hasNotBeenLoaded(); } @@ -377,7 +382,7 @@ void AbstractTabDeckEditor::openDeckFromFile(const QString &fileName, DeckOpenLo */ bool AbstractTabDeckEditor::actSaveDeck() { - DeckLoader *const deck = getDeckList(); + DeckLoader *const deck = getDeckLoader(); if (deck->getLastRemoteDeckId() != -1) { QString deckString = deck->writeToString_Native(); if (deckString.length() > MAX_FILE_LENGTH) { @@ -426,7 +431,7 @@ bool AbstractTabDeckEditor::actSaveDeckAs() QString fileName = dialog.selectedFiles().at(0); DeckLoader::FileFormat fmt = DeckLoader::getFormatFromName(fileName); - if (!getDeckList()->saveToFile(fileName, fmt)) { + if (!getDeckLoader()->saveToFile(fileName, fmt)) { QMessageBox::critical( this, tr("Error"), tr("The deck could not be saved.\nPlease check that the directory is writable and try again.")); @@ -480,7 +485,7 @@ void AbstractTabDeckEditor::actLoadDeckFromClipboard() */ void AbstractTabDeckEditor::editDeckInClipboard(bool annotated) { - DlgEditDeckInClipboard dlg(*getDeckList(), annotated, this); + DlgEditDeckInClipboard dlg(*getDeckLoader(), annotated, this); if (!dlg.exec()) return; @@ -504,25 +509,25 @@ void AbstractTabDeckEditor::actEditDeckInClipboardRaw() /** @brief Saves deck to clipboard with set info and annotation. */ void AbstractTabDeckEditor::actSaveDeckToClipboard() { - getDeckList()->saveToClipboard(true, true); + getDeckLoader()->saveToClipboard(true, true); } /** @brief Saves deck to clipboard with annotation, without set info. */ void AbstractTabDeckEditor::actSaveDeckToClipboardNoSetInfo() { - getDeckList()->saveToClipboard(true, false); + getDeckLoader()->saveToClipboard(true, false); } /** @brief Saves deck to clipboard without annotations, with set info. */ void AbstractTabDeckEditor::actSaveDeckToClipboardRaw() { - getDeckList()->saveToClipboard(false, true); + getDeckLoader()->saveToClipboard(false, true); } /** @brief Saves deck to clipboard without annotations or set info. */ void AbstractTabDeckEditor::actSaveDeckToClipboardRawNoSetInfo() { - getDeckList()->saveToClipboard(false, false); + getDeckLoader()->saveToClipboard(false, false); } /** @brief Prints the deck using a QPrintPreviewDialog. */ @@ -562,7 +567,7 @@ void AbstractTabDeckEditor::actLoadDeckFromWebsite() */ void AbstractTabDeckEditor::exportToDecklistWebsite(DeckLoader::DecklistWebsite website) { - if (DeckLoader *const deck = getDeckList()) { + if (DeckLoader *const deck = getDeckLoader()) { QString decklistUrlString = deck->exportDeckToDecklist(website); // Check to make sure the string isn't empty. if (decklistUrlString.isEmpty()) { diff --git a/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.h b/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.h index 26fc78832..eb7981b9c 100644 --- a/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.h +++ b/cockatrice/src/interface/widgets/tabs/abstract_tab_deck_editor.h @@ -117,7 +117,8 @@ public: void openDeck(DeckLoader *deck); /** @brief Returns the currently active deck. */ - DeckLoader *getDeckList() const; + DeckList *getDeckList() const; + DeckLoader *getDeckLoader() const; /** @brief Sets the modified state of the tab. * @param _windowModified Whether the tab is modified. diff --git a/cockatrice/src/interface/widgets/tabs/api/edhrec/api_response/average_deck/edhrec_deck_api_response.cpp b/cockatrice/src/interface/widgets/tabs/api/edhrec/api_response/average_deck/edhrec_deck_api_response.cpp index d525baafb..acb5308a6 100644 --- a/cockatrice/src/interface/widgets/tabs/api/edhrec/api_response/average_deck/edhrec_deck_api_response.cpp +++ b/cockatrice/src/interface/widgets/tabs/api/edhrec/api_response/average_deck/edhrec_deck_api_response.cpp @@ -1,11 +1,12 @@ #include "edhrec_deck_api_response.h" +#include "../../../../../../deck_loader/deck_loader.h" + #include #include #include #include #include -#include void EdhrecDeckApiResponse::fromJson(const QJsonArray &json) { diff --git a/cockatrice/src/interface/widgets/tabs/api/edhrec/api_response/average_deck/edhrec_deck_api_response.h b/cockatrice/src/interface/widgets/tabs/api/edhrec/api_response/average_deck/edhrec_deck_api_response.h index 2666789e9..b362819df 100644 --- a/cockatrice/src/interface/widgets/tabs/api/edhrec/api_response/average_deck/edhrec_deck_api_response.h +++ b/cockatrice/src/interface/widgets/tabs/api/edhrec/api_response/average_deck/edhrec_deck_api_response.h @@ -7,12 +7,13 @@ #ifndef EDHREC_DECK_API_RESPONSE_H #define EDHREC_DECK_API_RESPONSE_H +#include "../../../../../../deck_loader/deck_loader.h" + #include #include #include #include #include -#include class EdhrecDeckApiResponse { diff --git a/cockatrice/src/interface/widgets/tabs/tab_deck_storage.cpp b/cockatrice/src/interface/widgets/tabs/tab_deck_storage.cpp index cf8acec5a..8760c775c 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_deck_storage.cpp +++ b/cockatrice/src/interface/widgets/tabs/tab_deck_storage.cpp @@ -1,6 +1,7 @@ #include "tab_deck_storage.h" #include "../../../client/settings/cache_settings.h" +#include "../../deck_loader/deck_loader.h" #include "../interface/widgets/server/remote/remote_decklist_tree_widget.h" #include "../interface/widgets/utility/get_text_with_max.h" @@ -19,7 +20,6 @@ #include #include #include -#include #include #include #include diff --git a/cockatrice/src/interface/widgets/tabs/tab_supervisor.h b/cockatrice/src/interface/widgets/tabs/tab_supervisor.h index fbc7062cc..c620900c4 100644 --- a/cockatrice/src/interface/widgets/tabs/tab_supervisor.h +++ b/cockatrice/src/interface/widgets/tabs/tab_supervisor.h @@ -8,6 +8,7 @@ #ifndef TAB_SUPERVISOR_H #define TAB_SUPERVISOR_H +#include "../../deck_loader/deck_loader.h" #include "../interface/widgets/server/user/user_list_proxy.h" #include "abstract_tab_deck_editor.h" #include "api/edhrec/tab_edhrec.h" @@ -23,7 +24,6 @@ #include #include #include -#include inline Q_LOGGING_CATEGORY(TabSupervisorLog, "tab_supervisor"); diff --git a/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_sample_hand_widget.cpp b/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_sample_hand_widget.cpp index 7e4e2407d..ae9cb10ef 100644 --- a/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_sample_hand_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_sample_hand_widget.cpp @@ -1,10 +1,10 @@ #include "visual_deck_editor_sample_hand_widget.h" #include "../../../client/settings/cache_settings.h" +#include "../../deck_loader/deck_loader.h" #include "../cards/card_info_picture_widget.h" #include -#include #include VisualDeckEditorSampleHandWidget::VisualDeckEditorSampleHandWidget(QWidget *parent, DeckListModel *_deckListModel) diff --git a/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.cpp b/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.cpp index d9acfce5d..005efd6db 100644 --- a/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.cpp +++ b/cockatrice/src/interface/widgets/visual_deck_editor/visual_deck_editor_widget.cpp @@ -1,6 +1,7 @@ #include "visual_deck_editor_widget.h" #include "../../../main.h" +#include "../../deck_loader/deck_loader.h" #include "../../layouts/overlap_layout.h" #include "../cards/card_info_picture_with_text_overlay_widget.h" #include "../cards/deck_card_zone_display_widget.h" @@ -22,7 +23,6 @@ #include #include #include -#include #include VisualDeckEditorWidget::VisualDeckEditorWidget(QWidget *parent, DeckListModel *_deckListModel) diff --git a/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.h b/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.h index 5f6059549..4270e38e5 100644 --- a/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.h +++ b/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.h @@ -7,10 +7,10 @@ #ifndef DECK_PREVIEW_DECK_TAGS_DISPLAY_WIDGET_H #define DECK_PREVIEW_DECK_TAGS_DISPLAY_WIDGET_H +#include "../../../deck_loader/deck_loader.h" #include "deck_preview_widget.h" #include -#include inline bool confirmOverwriteIfExists(QWidget *parent, const QString &filePath); diff --git a/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.h b/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.h index 154af3dfc..49bf3335c 100644 --- a/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.h +++ b/cockatrice/src/interface/widgets/visual_deck_storage/deck_preview/deck_preview_widget.h @@ -7,6 +7,7 @@ #ifndef DECK_PREVIEW_WIDGET_H #define DECK_PREVIEW_WIDGET_H +#include "../../../deck_loader/deck_loader.h" #include "../../cards/additional_info/color_identity_widget.h" #include "../../cards/deck_preview_card_picture_widget.h" #include "../visual_deck_storage_widget.h" @@ -18,7 +19,6 @@ #include #include #include -#include class QMenu; class VisualDeckStorageWidget; diff --git a/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_widget.h b/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_widget.h index f49d2544b..7db6fb0c7 100644 --- a/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_widget.h +++ b/cockatrice/src/interface/widgets/visual_deck_storage/visual_deck_storage_widget.h @@ -7,6 +7,7 @@ #ifndef VISUAL_DECK_STORAGE_WIDGET_H #define VISUAL_DECK_STORAGE_WIDGET_H +#include "../../deck_loader/deck_loader.h" #include "../cards/card_size_widget.h" #include "../general/layout_containers/flow_widget.h" #include "../quick_settings/settings_button_widget.h" diff --git a/libcockatrice_models/libcockatrice/models/deck_list/deck_list_model.cpp b/libcockatrice_models/libcockatrice/models/deck_list/deck_list_model.cpp index c34d2115e..cb5ab23d8 100644 --- a/libcockatrice_models/libcockatrice/models/deck_list/deck_list_model.cpp +++ b/libcockatrice_models/libcockatrice/models/deck_list/deck_list_model.cpp @@ -1,7 +1,5 @@ #include "deck_list_model.h" -#include "deck_loader.h" - #include #include #include @@ -15,10 +13,8 @@ DeckListModel::DeckListModel(QObject *parent) : QAbstractItemModel(parent), lastKnownColumn(1), lastKnownOrder(Qt::AscendingOrder) { - deckList = new DeckLoader; + deckList = new DeckList; deckList->setParent(this); - connect(deckList, &DeckLoader::deckLoaded, this, &DeckListModel::rebuildTree); - connect(deckList, &DeckLoader::deckHashChanged, this, &DeckListModel::deckHashChanged); root = new InnerDecklistNode; } @@ -528,19 +524,17 @@ void DeckListModel::setActiveGroupCriteria(DeckListModelGroupCriteria newCriteri void DeckListModel::cleanList() { - setDeckList(new DeckLoader); + setDeckList(new DeckList); } /** * @param _deck The deck. Takes ownership of the object */ -void DeckListModel::setDeckList(DeckLoader *_deck) +void DeckListModel::setDeckList(DeckList *_deck) { deckList->deleteLater(); deckList = _deck; deckList->setParent(this); - connect(deckList, &DeckLoader::deckLoaded, this, &DeckListModel::rebuildTree); - connect(deckList, &DeckLoader::deckHashChanged, this, &DeckListModel::deckHashChanged); rebuildTree(); } diff --git a/libcockatrice_models/libcockatrice/models/deck_list/deck_list_model.h b/libcockatrice_models/libcockatrice/models/deck_list/deck_list_model.h index e169af395..07d9db18f 100644 --- a/libcockatrice_models/libcockatrice/models/deck_list/deck_list_model.h +++ b/libcockatrice_models/libcockatrice/models/deck_list/deck_list_model.h @@ -8,7 +8,6 @@ #include #include -class DeckLoader; class CardDatabase; class QPrinter; class QTextCursor; @@ -124,7 +123,8 @@ public: class DeckListModel : public QAbstractItemModel { Q_OBJECT -private slots: + +public slots: /** * @brief Rebuilds the model tree from the underlying DeckLoader. * @@ -132,8 +132,6 @@ private slots: * state of the deck. */ void rebuildTree(); - -public slots: /** * @brief Prints the decklist to the provided QPrinter. * @param printer The printer to render the decklist to. @@ -222,11 +220,11 @@ public: * @brief Removes all cards and resets the model. */ void cleanList(); - DeckLoader *getDeckList() const + DeckList *getDeckList() const { return deckList; } - void setDeckList(DeckLoader *_deck); + void setDeckList(DeckList *_deck); QList getCards() const; QList getCardsForZone(const QString &zoneName) const; @@ -239,7 +237,7 @@ public: void setActiveGroupCriteria(DeckListModelGroupCriteria newCriteria); private: - DeckLoader *deckList; /**< Pointer to the deck loader providing the underlying data. */ + DeckList *deckList; /**< Pointer to the deck loader providing the underlying data. */ InnerDecklistNode *root; /**< Root node of the model tree. */ DeckListModelGroupCriteria activeGroupCriteria = DeckListModelGroupCriteria::MAIN_TYPE; int lastKnownColumn; /**< Last column used for sorting. */