add new param to closeRequest

This commit is contained in:
RickyRister 2025-01-11 15:57:31 -08:00
parent 3b544a36a8
commit 48414986f8
11 changed files with 17 additions and 11 deletions

View file

@ -50,7 +50,13 @@ public:
} }
virtual QString getTabText() const = 0; virtual QString getTabText() const = 0;
virtual void retranslateUi() = 0; virtual void retranslateUi() = 0;
virtual void closeRequest() /**
* Sends a request to close the tab.
* Signals for cleanup should be emitted from this method instead of the destructor.
*
* @param forced whether this close request was initiated by the user or forced by the server.
*/
virtual void closeRequest(bool forced = false)
{ {
} }
virtual void tabActivated() virtual void tabActivated()

View file

@ -980,7 +980,7 @@ bool TabDeckEditor::confirmClose()
return true; return true;
} }
void TabDeckEditor::closeRequest() void TabDeckEditor::closeRequest(bool forced)
{ {
if (confirmClose()) if (confirmClose())
deleteLater(); deleteLater();

View file

@ -179,7 +179,7 @@ public:
void updateCardInfo(CardInfoPtr _card); void updateCardInfo(CardInfoPtr _card);
public slots: public slots:
void closeRequest() override; void closeRequest(bool forced = false) override;
void showPrintingSelector(); void showPrintingSelector();
signals: signals:
void openDeckEditor(const DeckLoader *deckLoader); void openDeckEditor(const DeckLoader *deckLoader);

View file

@ -701,7 +701,7 @@ void TabGame::retranslateUi()
scene->retranslateUi(); scene->retranslateUi();
} }
void TabGame::closeRequest() void TabGame::closeRequest(bool forced)
{ {
actLeaveGame(); actLeaveGame();
} }

View file

@ -278,7 +278,7 @@ public:
~TabGame() override; ~TabGame() override;
void retranslateUi() override; void retranslateUi() override;
void updatePlayerListDockTitle(); void updatePlayerListDockTitle();
void closeRequest() override; void closeRequest(bool forced = false) override;
const QMap<int, Player *> &getPlayers() const const QMap<int, Player *> &getPlayers() const
{ {
return players; return players;

View file

@ -86,7 +86,7 @@ QString TabMessage::getTabText() const
return tr("%1 - Private chat").arg(QString::fromStdString(otherUserInfo->name())); return tr("%1 - Private chat").arg(QString::fromStdString(otherUserInfo->name()));
} }
void TabMessage::closeRequest() void TabMessage::closeRequest(bool forced)
{ {
actLeave(); actLeave();
} }

View file

@ -41,7 +41,7 @@ public:
const ServerInfo_User &_otherUserInfo); const ServerInfo_User &_otherUserInfo);
~TabMessage() override; ~TabMessage() override;
void retranslateUi() override; void retranslateUi() override;
void closeRequest() override; void closeRequest(bool forced = false) override;
void tabActivated() override; void tabActivated() override;
QString getUserName() const; QString getUserName() const;
QString getTabText() const override; QString getTabText() const override;

View file

@ -175,7 +175,7 @@ void TabRoom::actShowPopup(const QString &message)
} }
} }
void TabRoom::closeRequest() void TabRoom::closeRequest(bool forced)
{ {
actLeaveRoom(); actLeaveRoom();
} }

View file

@ -93,7 +93,7 @@ public:
const ServerInfo_Room &info); const ServerInfo_Room &info);
~TabRoom() override; ~TabRoom() override;
void retranslateUi() override; void retranslateUi() override;
void closeRequest() override; void closeRequest(bool forced = false) override;
void tabActivated() override; void tabActivated() override;
void processRoomEvent(const RoomEvent &event); void processRoomEvent(const RoomEvent &event);
int getRoomId() const int getRoomId() const

View file

@ -58,7 +58,7 @@ TabDeckStorageVisual::TabDeckStorageVisual(TabSupervisor *_tabSupervisor, Abstra
retranslateUi(); retranslateUi();
} }
void TabDeckStorageVisual::closeRequest() void TabDeckStorageVisual::closeRequest(bool forced)
{ {
this->close(); this->close();
} }

View file

@ -33,7 +33,7 @@ public:
} }
public slots: public slots:
void cardUpdateFinished(int exitCode, QProcess::ExitStatus exitStatus); void cardUpdateFinished(int exitCode, QProcess::ExitStatus exitStatus);
void closeRequest() override; void closeRequest(bool forced = false) override;
void actOpenLocalDeck(QMouseEvent *event, DeckPreviewCardPictureWidget *instance); void actOpenLocalDeck(QMouseEvent *event, DeckPreviewCardPictureWidget *instance);
void actDeleteLocalDeck(); void actDeleteLocalDeck();
signals: signals: