Fixup to support new generic format.

This commit is contained in:
Lukas Brübach 2025-02-27 16:57:47 +01:00
parent 27c065e0d5
commit 57bbbec206
10 changed files with 29 additions and 55 deletions

View file

@ -210,7 +210,7 @@ void TabSupervisor::retranslateUi()
QListIterator<AbstractTabDeckEditor *> deckEditorIterator(deckEditorTabs); QListIterator<AbstractTabDeckEditor *> deckEditorIterator(deckEditorTabs);
while (deckEditorIterator.hasNext()) while (deckEditorIterator.hasNext())
tabs.append(deckEditorIterator.next()); tabs.append(deckEditorIterator.next());
QListIterator<TabGenericDeckEditor *> visualDeckEditorIterator(visualDeckEditorTabs); QListIterator<AbstractTabDeckEditor *> visualDeckEditorIterator(visualDeckEditorTabs);
while (visualDeckEditorIterator.hasNext()) while (visualDeckEditorIterator.hasNext())
tabs.append(visualDeckEditorIterator.next()); tabs.append(visualDeckEditorIterator.next());
QMapIterator<QString, TabMessage *> messageIterator(messageTabs); QMapIterator<QString, TabMessage *> messageIterator(messageTabs);
@ -820,8 +820,8 @@ TabDeckEditorVisual *TabSupervisor::addVisualDeckEditorTab(const DeckLoader *dec
auto *tab = new TabDeckEditorVisual(this); auto *tab = new TabDeckEditorVisual(this);
if (deckToOpen) if (deckToOpen)
tab->setDeck(new DeckLoader(*deckToOpen)); tab->setDeck(new DeckLoader(*deckToOpen));
connect(tab, &TabGenericDeckEditor::deckEditorClosing, this, &TabSupervisor::visualDeckEditorClosed); connect(tab, &AbstractTabDeckEditor::deckEditorClosing, this, &TabSupervisor::visualDeckEditorClosed);
connect(tab, &TabGenericDeckEditor::openDeckEditor, this, &TabSupervisor::addVisualDeckEditorTab); connect(tab, &AbstractTabDeckEditor::openDeckEditor, this, &TabSupervisor::addVisualDeckEditorTab);
myAddTab(tab); myAddTab(tab);
visualDeckEditorTabs.append(tab); visualDeckEditorTabs.append(tab);
setCurrentWidget(tab); setCurrentWidget(tab);
@ -849,7 +849,7 @@ void TabSupervisor::deckEditorClosed(AbstractTabDeckEditor *tab)
removeTab(indexOf(tab)); removeTab(indexOf(tab));
} }
void TabSupervisor::visualDeckEditorClosed(TabGenericDeckEditor *tab) void TabSupervisor::visualDeckEditorClosed(AbstractTabDeckEditor *tab)
{ {
if (tab == currentWidget()) if (tab == currentWidget())
emit setMenu(); emit setMenu();

View file

@ -2,11 +2,11 @@
#define TAB_SUPERVISOR_H #define TAB_SUPERVISOR_H
#include "../../deck/deck_loader.h" #include "../../deck/deck_loader.h"
#include "visual_deck_editor/tab_deck_editor_visual.h"
#include "visual_deck_editor/tab_deck_editor_visual_tab_widget.h"
#include "../../server/user/user_list_proxy.h" #include "../../server/user/user_list_proxy.h"
#include "abstract_tab_deck_editor.h" #include "abstract_tab_deck_editor.h"
#include "api/edhrec/tab_edhrec.h" #include "api/edhrec/tab_edhrec.h"
#include "visual_deck_editor/tab_deck_editor_visual.h"
#include "visual_deck_editor/tab_deck_editor_visual_tab_widget.h"
#include "visual_deck_storage/tab_deck_storage_visual.h" #include "visual_deck_storage/tab_deck_storage_visual.h"
#include <QAbstractButton> #include <QAbstractButton>
@ -188,7 +188,7 @@ private slots:
void processUserJoined(const ServerInfo_User &userInfo); void processUserJoined(const ServerInfo_User &userInfo);
void talkLeft(TabMessage *tab); void talkLeft(TabMessage *tab);
void deckEditorClosed(AbstractTabDeckEditor *tab); void deckEditorClosed(AbstractTabDeckEditor *tab);
void visualDeckEditorClosed(TabDeckEditorVisual *tab); void visualDeckEditorClosed(AbstractTabDeckEditor *tab);
void tabUserEvent(bool globalEvent); void tabUserEvent(bool globalEvent);
void updateTabText(Tab *tab, const QString &newTabText); void updateTabText(Tab *tab, const QString &newTabText);
void processRoomEvent(const RoomEvent &event); void processRoomEvent(const RoomEvent &event);

View file

@ -4,16 +4,10 @@
#include "../../../deck/deck_stats_interface.h" #include "../../../deck/deck_stats_interface.h"
#include "../../../dialogs/dlg_load_deck.h" #include "../../../dialogs/dlg_load_deck.h"
#include "../../../dialogs/dlg_load_deck_from_clipboard.h" #include "../../../dialogs/dlg_load_deck_from_clipboard.h"
#include "../../../game/cards/card_database_manager.h"
#include "../../../game/cards/card_database_model.h" #include "../../../game/cards/card_database_model.h"
#include "../../../game/filters/filter_builder.h" #include "../../../game/filters/filter_builder.h"
#include "../../../game/filters/filter_tree_model.h"
#include "../../../main.h"
#include "../../../server/pending_command.h" #include "../../../server/pending_command.h"
#include "../../../settings/cache_settings.h" #include "../../../settings/cache_settings.h"
#include "../../game_logic/abstract_client.h"
#include "../../tapped_out_interface.h"
#include "../../ui/picture_loader/picture_loader.h"
#include "../../ui/pixel_map_generator.h" #include "../../ui/pixel_map_generator.h"
#include "../../ui/widgets/cards/card_info_frame_widget.h" #include "../../ui/widgets/cards/card_info_frame_widget.h"
#include "../../ui/widgets/deck_analytics/deck_analytics_widget.h" #include "../../ui/widgets/deck_analytics/deck_analytics_widget.h"
@ -21,54 +15,36 @@
#include "../tab_deck_editor.h" #include "../tab_deck_editor.h"
#include "../tab_supervisor.h" #include "../tab_supervisor.h"
#include "pb/command_deck_upload.pb.h" #include "pb/command_deck_upload.pb.h"
#include "pb/response.pb.h"
#include "tab_deck_editor_visual_tab_widget.h" #include "tab_deck_editor_visual_tab_widget.h"
#include "trice_limits.h" #include "trice_limits.h"
#include <QAction> #include <QAction>
#include <QApplication> #include <QApplication>
#include <QClipboard>
#include <QCloseEvent> #include <QCloseEvent>
#include <QDesktopServices>
#include <QDir> #include <QDir>
#include <QDockWidget> #include <QDockWidget>
#include <QFileDialog> #include <QFileDialog>
#include <QHeaderView> #include <QHeaderView>
#include <QLabel>
#include <QLineEdit> #include <QLineEdit>
#include <QMenu> #include <QMenu>
#include <QMenuBar>
#include <QMessageBox> #include <QMessageBox>
#include <QPrintPreviewDialog> #include <QPrintPreviewDialog>
#include <QProcessEnvironment> #include <QProcessEnvironment>
#include <QPushButton>
#include <QRegularExpression>
#include <QSplitter> #include <QSplitter>
#include <QTextBrowser>
#include <QTextEdit>
#include <QTextStream> #include <QTextStream>
#include <QTimer> #include <QTimer>
#include <QToolBar>
#include <QToolButton>
#include <QTreeView> #include <QTreeView>
#include <QUrl>
#include <QVBoxLayout> #include <QVBoxLayout>
TabDeckEditorVisual::TabDeckEditorVisual(TabSupervisor *_tabSupervisor) : TabGenericDeckEditor(_tabSupervisor) TabDeckEditorVisual::TabDeckEditorVisual(TabSupervisor *_tabSupervisor) : AbstractTabDeckEditor(_tabSupervisor)
{ {
setObjectName("TabDeckEditorVisual"); setObjectName("TabDeckEditorVisual");
databaseDisplayDockWidget = new DeckEditorDatabaseDisplayWidget(this, this);
deckDockWidget = new DeckEditorDeckDockWidget(this, this);
cardInfoDockWidget = new DeckEditorCardInfoDockWidget(this);
filterDockWidget = new DeckEditorFilterDockWidget(this, this);
printingSelectorDockWidget = new DeckEditorPrintingSelectorDockWidget(this, this);
createCentralFrame(); createCentralFrame();
TabDeckEditorVisual::createMenus(); TabDeckEditorVisual::createMenus();
this->installEventFilter(this); installEventFilter(this);
TabDeckEditorVisual::retranslateUi(); TabDeckEditorVisual::retranslateUi();
connect(&SettingsCache::instance().shortcuts(), SIGNAL(shortCutChanged()), this, SLOT(refreshShortcuts())); connect(&SettingsCache::instance().shortcuts(), SIGNAL(shortCutChanged()), this, SLOT(refreshShortcuts()));
@ -91,7 +67,7 @@ void TabDeckEditorVisual::createCentralFrame()
connect(tabContainer, &TabDeckEditorVisualTabWidget::cardChanged, this, connect(tabContainer, &TabDeckEditorVisualTabWidget::cardChanged, this,
&TabDeckEditorVisual::changeModelIndexAndCardInfo); &TabDeckEditorVisual::changeModelIndexAndCardInfo);
connect(tabContainer, &TabDeckEditorVisualTabWidget::cardChangedDatabaseDisplay, this, connect(tabContainer, &TabDeckEditorVisualTabWidget::cardChangedDatabaseDisplay, this,
&TabGenericDeckEditor::updateCardInfo); &AbstractTabDeckEditor::updateCard);
connect(tabContainer, SIGNAL(mainboardCardClicked(QMouseEvent *, CardInfoPictureWithTextOverlayWidget *)), this, connect(tabContainer, SIGNAL(mainboardCardClicked(QMouseEvent *, CardInfoPictureWithTextOverlayWidget *)), this,
SLOT(processMainboardCardClick(QMouseEvent *, CardInfoPictureWithTextOverlayWidget *))); SLOT(processMainboardCardClick(QMouseEvent *, CardInfoPictureWithTextOverlayWidget *)));
connect(tabContainer, SIGNAL(sideboardCardClicked(QMouseEvent *, CardInfoPictureWithTextOverlayWidget *)), this, connect(tabContainer, SIGNAL(sideboardCardClicked(QMouseEvent *, CardInfoPictureWithTextOverlayWidget *)), this,
@ -166,7 +142,7 @@ QString TabDeckEditorVisual::getTabText() const
void TabDeckEditorVisual::changeModelIndexAndCardInfo(CardInfoPtr activeCard) void TabDeckEditorVisual::changeModelIndexAndCardInfo(CardInfoPtr activeCard)
{ {
updateCardInfo(activeCard); updateCard(activeCard);
changeModelIndexToCard(activeCard); changeModelIndexToCard(activeCard);
} }
@ -370,7 +346,7 @@ void TabDeckEditorVisual::actLoadDeck()
void TabDeckEditorVisual::actLoadDeckFromClipboard() void TabDeckEditorVisual::actLoadDeckFromClipboard()
{ {
TabGenericDeckEditor::actLoadDeckFromClipboard(); AbstractTabDeckEditor::actLoadDeckFromClipboard();
tabContainer->visualDeckView->updateDisplay(); tabContainer->visualDeckView->updateDisplay();
tabContainer->deckAnalytics->refreshDisplays(deckDockWidget->deckModel); tabContainer->deckAnalytics->refreshDisplays(deckDockWidget->deckModel);
tabContainer->sampleHandWidget->setDeckModel(deckDockWidget->deckModel); tabContainer->sampleHandWidget->setDeckModel(deckDockWidget->deckModel);
@ -403,7 +379,7 @@ void TabDeckEditorVisual::openDeckFromFile(const QString &fileName, DeckOpenLoca
void TabDeckEditorVisual::setDeck(DeckLoader *_deck) void TabDeckEditorVisual::setDeck(DeckLoader *_deck)
{ {
TabGenericDeckEditor::setDeck(_deck); AbstractTabDeckEditor::setDeck(_deck);
tabContainer->visualDeckView->updateDisplay(); tabContainer->visualDeckView->updateDisplay();
tabContainer->deckAnalytics->refreshDisplays(deckDockWidget->deckModel); tabContainer->deckAnalytics->refreshDisplays(deckDockWidget->deckModel);
tabContainer->sampleHandWidget->setDeckModel(deckDockWidget->deckModel); tabContainer->sampleHandWidget->setDeckModel(deckDockWidget->deckModel);

View file

@ -1,12 +1,10 @@
#ifndef WINDOW_DECKEDITORVISUAL_H #ifndef WINDOW_DECKEDITORVISUAL_H
#define WINDOW_DECKEDITORVISUAL_H #define WINDOW_DECKEDITORVISUAL_H
#include "../../game_logic/key_signals.h"
#include "../tab.h" #include "../tab.h"
#include "../tab_deck_editor.h"
#include "tab_deck_editor_visual_tab_widget.h" #include "tab_deck_editor_visual_tab_widget.h"
class TabDeckEditorVisual : public TabGenericDeckEditor class TabDeckEditorVisual : public AbstractTabDeckEditor
{ {
Q_OBJECT Q_OBJECT
protected slots: protected slots:
@ -25,7 +23,7 @@ protected slots:
void dockTopLevelChanged(bool topLevel) override; void dockTopLevelChanged(bool topLevel) override;
protected: protected:
void openDeckFromFile(const QString &fileName, TabGenericDeckEditor::DeckOpenLocation deckOpenLocation) override; void openDeckFromFile(const QString &fileName, AbstractTabDeckEditor::DeckOpenLocation deckOpenLocation) override;
TabDeckEditorVisualTabWidget *tabContainer; TabDeckEditorVisualTabWidget *tabContainer;
QVBoxLayout *centralFrame; QVBoxLayout *centralFrame;

View file

@ -1,10 +1,10 @@
#include "tab_deck_editor_visual_tab_widget.h" #include "tab_deck_editor_visual_tab_widget.h"
#include "../../ui/widgets/visual_database_display/visual_database_display_widget.h" #include "../../ui/widgets/visual_database_display/visual_database_display_widget.h"
#include "../tab_generic_deck_editor.h" #include "../abstract_tab_deck_editor.h"
TabDeckEditorVisualTabWidget::TabDeckEditorVisualTabWidget(QWidget *parent, TabDeckEditorVisualTabWidget::TabDeckEditorVisualTabWidget(QWidget *parent,
TabGenericDeckEditor *_deckEditor, AbstractTabDeckEditor *_deckEditor,
DeckListModel *model, DeckListModel *model,
CardDatabaseModel *card_database_model, CardDatabaseModel *card_database_model,
CardDatabaseDisplayModel *card_database_display_model) CardDatabaseDisplayModel *card_database_display_model)

View file

@ -6,7 +6,7 @@
#include "../../ui/widgets/visual_database_display/visual_database_display_widget.h" #include "../../ui/widgets/visual_database_display/visual_database_display_widget.h"
#include "../../ui/widgets/visual_deck_editor/visual_deck_editor_sample_hand_widget.h" #include "../../ui/widgets/visual_deck_editor/visual_deck_editor_sample_hand_widget.h"
#include "../../ui/widgets/visual_deck_editor/visual_deck_editor_widget.h" #include "../../ui/widgets/visual_deck_editor/visual_deck_editor_widget.h"
#include "../tab_generic_deck_editor.h" #include "../abstract_tab_deck_editor.h"
#include <QTabWidget> #include <QTabWidget>
#include <QVBoxLayout> #include <QVBoxLayout>
@ -18,7 +18,7 @@ class TabDeckEditorVisualTabWidget : public QTabWidget
public: public:
explicit TabDeckEditorVisualTabWidget(QWidget *parent = nullptr, explicit TabDeckEditorVisualTabWidget(QWidget *parent = nullptr,
TabGenericDeckEditor *deckEditor = nullptr, AbstractTabDeckEditor *deckEditor = nullptr,
DeckListModel *deckModel = nullptr, DeckListModel *deckModel = nullptr,
CardDatabaseModel *card_database_model = nullptr, CardDatabaseModel *card_database_model = nullptr,
CardDatabaseDisplayModel *card_database_display_model = nullptr); CardDatabaseDisplayModel *card_database_display_model = nullptr);
@ -52,7 +52,7 @@ signals:
private: private:
QVBoxLayout *layout; // Layout for the tab widget and other controls QVBoxLayout *layout; // Layout for the tab widget and other controls
TabGenericDeckEditor *deckEditor; AbstractTabDeckEditor *deckEditor;
DeckListModel *deckModel; DeckListModel *deckModel;
CardDatabaseModel *cardDatabaseModel; CardDatabaseModel *cardDatabaseModel;
CardDatabaseDisplayModel *cardDatabaseDisplayModel; CardDatabaseDisplayModel *cardDatabaseDisplayModel;

View file

@ -1,11 +1,11 @@
#include "visual_database_display_name_filter_widget.h" #include "visual_database_display_name_filter_widget.h"
#include "../../../tabs/tab_generic_deck_editor.h" #include "../../../tabs/abstract_tab_deck_editor.h"
#include <QHBoxLayout> #include <QHBoxLayout>
VisualDatabaseDisplayNameFilterWidget::VisualDatabaseDisplayNameFilterWidget(QWidget *parent, VisualDatabaseDisplayNameFilterWidget::VisualDatabaseDisplayNameFilterWidget(QWidget *parent,
TabGenericDeckEditor *_deckEditor, AbstractTabDeckEditor *_deckEditor,
FilterTreeModel *_filterModel) FilterTreeModel *_filterModel)
: QWidget(parent), deckEditor(_deckEditor), filterModel(_filterModel) : QWidget(parent), deckEditor(_deckEditor), filterModel(_filterModel)
{ {

View file

@ -2,7 +2,7 @@
#define VISUAL_DATABASE_DISPLAY_NAME_FILTER_WIDGET_H #define VISUAL_DATABASE_DISPLAY_NAME_FILTER_WIDGET_H
#include "../../../../game/filters/filter_tree_model.h" #include "../../../../game/filters/filter_tree_model.h"
#include "../../../tabs/tab_generic_deck_editor.h" #include "../../../tabs/abstract_tab_deck_editor.h"
#include "../general/layout_containers/flow_widget.h" #include "../general/layout_containers/flow_widget.h"
#include <QLineEdit> #include <QLineEdit>
@ -16,7 +16,7 @@ class VisualDatabaseDisplayNameFilterWidget : public QWidget
Q_OBJECT Q_OBJECT
public: public:
explicit VisualDatabaseDisplayNameFilterWidget(QWidget *parent, explicit VisualDatabaseDisplayNameFilterWidget(QWidget *parent,
TabGenericDeckEditor *deckEditor, AbstractTabDeckEditor *deckEditor,
FilterTreeModel *filterModel); FilterTreeModel *filterModel);
void createNameFilter(const QString &name); void createNameFilter(const QString &name);
@ -25,7 +25,7 @@ public:
void updateFilterModel(); void updateFilterModel();
private: private:
TabGenericDeckEditor *deckEditor; AbstractTabDeckEditor *deckEditor;
FilterTreeModel *filterModel; FilterTreeModel *filterModel;
QVBoxLayout *layout; QVBoxLayout *layout;
QLineEdit *searchBox; QLineEdit *searchBox;

View file

@ -20,7 +20,7 @@
#include <qpropertyanimation.h> #include <qpropertyanimation.h>
VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent, VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
TabGenericDeckEditor *_deckEditor, AbstractTabDeckEditor *_deckEditor,
CardDatabaseModel *database_model, CardDatabaseModel *database_model,
CardDatabaseDisplayModel *database_display_model) CardDatabaseDisplayModel *database_display_model)
: QWidget(parent), deckEditor(_deckEditor), databaseModel(database_model), : QWidget(parent), deckEditor(_deckEditor), databaseModel(database_model),

View file

@ -7,7 +7,7 @@
#include "../../../../game/cards/card_database_model.h" #include "../../../../game/cards/card_database_model.h"
#include "../../../../game/filters/filter_tree_model.h" #include "../../../../game/filters/filter_tree_model.h"
#include "../../../game_logic/key_signals.h" #include "../../../game_logic/key_signals.h"
#include "../../../tabs/tab_generic_deck_editor.h" #include "../../../tabs/abstract_tab_deck_editor.h"
#include "../../layouts/flow_layout.h" #include "../../layouts/flow_layout.h"
#include "../cards/card_info_picture_with_text_overlay_widget.h" #include "../cards/card_info_picture_with_text_overlay_widget.h"
#include "../cards/card_size_widget.h" #include "../cards/card_size_widget.h"
@ -30,7 +30,7 @@ class VisualDatabaseDisplayWidget : public QWidget
public: public:
explicit VisualDatabaseDisplayWidget(QWidget *parent, explicit VisualDatabaseDisplayWidget(QWidget *parent,
TabGenericDeckEditor *deckEditor, AbstractTabDeckEditor *deckEditor,
CardDatabaseModel *database_model, CardDatabaseModel *database_model,
CardDatabaseDisplayModel *database_display_model); CardDatabaseDisplayModel *database_display_model);
@ -63,7 +63,7 @@ protected slots:
private: private:
KeySignals searchKeySignals; KeySignals searchKeySignals;
TabGenericDeckEditor *deckEditor; AbstractTabDeckEditor *deckEditor;
CardDatabaseModel *databaseModel; CardDatabaseModel *databaseModel;
CardDatabaseDisplayModel *databaseDisplayModel; CardDatabaseDisplayModel *databaseDisplayModel;
QTreeView *databaseView; QTreeView *databaseView;