From b2674c97678ef3fa61abc58bea1c44a016baedc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Fri, 3 Jan 2025 14:06:40 +0100 Subject: [PATCH] Fix the close button not working on the tab, add an option to launch the visual deck storage tab to Cockatrice menu. --- .../tabs/visual_deck_storage/tab_deck_storage_visual.cpp | 7 ++++++- .../tabs/visual_deck_storage/tab_deck_storage_visual.h | 2 ++ cockatrice/src/client/ui/window_main.cpp | 9 +++++++++ cockatrice/src/client/ui/window_main.h | 8 +++++--- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/cockatrice/src/client/tabs/visual_deck_storage/tab_deck_storage_visual.cpp b/cockatrice/src/client/tabs/visual_deck_storage/tab_deck_storage_visual.cpp index 144d63b66..e1cd2207a 100644 --- a/cockatrice/src/client/tabs/visual_deck_storage/tab_deck_storage_visual.cpp +++ b/cockatrice/src/client/tabs/visual_deck_storage/tab_deck_storage_visual.cpp @@ -52,12 +52,17 @@ TabDeckStorageVisual::TabDeckStorageVisual(TabSupervisor *_tabSupervisor, Abstra connect(visualDeckStorageWidget, &VisualDeckStorageWidget::imageDoubleClicked, this, &TabDeckStorageVisual::actOpenLocalDeck); - layout->addWidget(leftToolBar); + // layout->addWidget(leftToolBar); layout->addWidget(visualDeckStorageWidget); retranslateUi(); } +void TabDeckStorageVisual::closeRequest() +{ + this->close(); +} + void TabDeckStorageVisual::retranslateUi() { diff --git a/cockatrice/src/client/tabs/visual_deck_storage/tab_deck_storage_visual.h b/cockatrice/src/client/tabs/visual_deck_storage/tab_deck_storage_visual.h index eaf7e8176..f1cf0f9f8 100644 --- a/cockatrice/src/client/tabs/visual_deck_storage/tab_deck_storage_visual.h +++ b/cockatrice/src/client/tabs/visual_deck_storage/tab_deck_storage_visual.h @@ -25,6 +25,7 @@ class TabDeckStorageVisual final : public Tab Q_OBJECT public: TabDeckStorageVisual(TabSupervisor *_tabSupervisor, AbstractClient *_client); + void retranslateUi(); QString getTabText() const { @@ -32,6 +33,7 @@ public: } public slots: void cardUpdateFinished(int exitCode, QProcess::ExitStatus exitStatus); + void closeRequest() override; signals: void openDeckEditor(const DeckLoader *deckLoader); diff --git a/cockatrice/src/client/ui/window_main.cpp b/cockatrice/src/client/ui/window_main.cpp index 92c29f967..b0cf4165e 100644 --- a/cockatrice/src/client/ui/window_main.cpp +++ b/cockatrice/src/client/ui/window_main.cpp @@ -290,6 +290,11 @@ void MainWindow::actDeckEditor() tabSupervisor->addDeckEditorTab(nullptr); } +void MainWindow::actVisualDeckStorage() +{ + tabSupervisor->addVisualDeckStorageTab(); +} + void MainWindow::actFullScreen(bool checked) { if (checked) @@ -654,6 +659,7 @@ void MainWindow::retranslateUi() aSinglePlayer->setText(tr("Start &local game...")); aWatchReplay->setText(tr("&Watch replay...")); aDeckEditor->setText(tr("&Deck editor")); + aVisualDeckStorage->setText(tr("&Visual Deck storage")); aFullScreen->setText(tr("&Full screen")); aRegister->setText(tr("&Register to server...")); aForgotPassword->setText(tr("&Restore password...")); @@ -700,6 +706,8 @@ void MainWindow::createActions() connect(aWatchReplay, SIGNAL(triggered()), this, SLOT(actWatchReplay())); aDeckEditor = new QAction(this); connect(aDeckEditor, SIGNAL(triggered()), this, SLOT(actDeckEditor())); + aVisualDeckStorage = new QAction(this); + connect(aVisualDeckStorage, SIGNAL(triggered()), this, SLOT(actVisualDeckStorage())); aFullScreen = new QAction(this); aFullScreen->setCheckable(true); connect(aFullScreen, SIGNAL(toggled(bool)), this, SLOT(actFullScreen(bool))); @@ -785,6 +793,7 @@ void MainWindow::createMenus() cockatriceMenu->addAction(aWatchReplay); cockatriceMenu->addSeparator(); cockatriceMenu->addAction(aDeckEditor); + cockatriceMenu->addAction(aVisualDeckStorage); cockatriceMenu->addSeparator(); cockatriceMenu->addAction(aFullScreen); cockatriceMenu->addSeparator(); diff --git a/cockatrice/src/client/ui/window_main.h b/cockatrice/src/client/ui/window_main.h index be2cf1577..356b6f529 100644 --- a/cockatrice/src/client/ui/window_main.h +++ b/cockatrice/src/client/ui/window_main.h @@ -74,6 +74,7 @@ private slots: void actSinglePlayer(); void actWatchReplay(); void actDeckEditor(); + void actVisualDeckStorage(); void actFullScreen(bool checked); void actRegister(); void actSettings(); @@ -130,9 +131,10 @@ private: QList tabMenus; QMenu *cockatriceMenu, *dbMenu, *helpMenu, *trayIconMenu; - QAction *aConnect, *aDisconnect, *aSinglePlayer, *aWatchReplay, *aDeckEditor, *aFullScreen, *aSettings, *aExit, - *aAbout, *aTips, *aCheckCardUpdates, *aRegister, *aForgotPassword, *aUpdate, *aViewLog, *aManageSets, - *aEditTokens, *aOpenCustomFolder, *aOpenCustomsetsFolder, *aAddCustomSet, *aReloadCardDatabase, *aShow; + QAction *aConnect, *aDisconnect, *aSinglePlayer, *aWatchReplay, *aDeckEditor, *aVisualDeckStorage, *aFullScreen, + *aSettings, *aExit, *aAbout, *aTips, *aCheckCardUpdates, *aRegister, *aForgotPassword, *aUpdate, *aViewLog, + *aManageSets, *aEditTokens, *aOpenCustomFolder, *aOpenCustomsetsFolder, *aAddCustomSet, *aReloadCardDatabase, + *aShow; TabSupervisor *tabSupervisor; WndSets *wndSets; RemoteClient *client;