mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-16 23:42:15 -07:00
Make VisualDeckEditor Tab play nicely with TabSupervisor, open in VDE by default from VDS.
This commit is contained in:
parent
80259a34e7
commit
edd35182c0
3 changed files with 31 additions and 6 deletions
|
|
@ -132,6 +132,9 @@ TabSupervisor::TabSupervisor(AbstractClient *_client, QMenu *tabsMenu, QWidget *
|
||||||
aTabDeckEditor = new QAction(this);
|
aTabDeckEditor = new QAction(this);
|
||||||
connect(aTabDeckEditor, &QAction::triggered, this, [this] { addDeckEditorTab(nullptr); });
|
connect(aTabDeckEditor, &QAction::triggered, this, [this] { addDeckEditorTab(nullptr); });
|
||||||
|
|
||||||
|
aTabVisualDeckEditor = new QAction(this);
|
||||||
|
connect(aTabVisualDeckEditor, &QAction::triggered, this, [this] { addVisualDeckEditorTab(nullptr); });
|
||||||
|
|
||||||
aTabVisualDeckStorage = new QAction(this);
|
aTabVisualDeckStorage = new QAction(this);
|
||||||
aTabVisualDeckStorage->setCheckable(true);
|
aTabVisualDeckStorage->setCheckable(true);
|
||||||
connect(aTabVisualDeckStorage, &QAction::triggered, this, &TabSupervisor::actTabVisualDeckStorage);
|
connect(aTabVisualDeckStorage, &QAction::triggered, this, &TabSupervisor::actTabVisualDeckStorage);
|
||||||
|
|
@ -178,6 +181,7 @@ void TabSupervisor::retranslateUi()
|
||||||
{
|
{
|
||||||
// tab menu actions
|
// tab menu actions
|
||||||
aTabDeckEditor->setText(tr("Deck Editor"));
|
aTabDeckEditor->setText(tr("Deck Editor"));
|
||||||
|
aTabVisualDeckEditor->setText(tr("Visual Deck Editor"));
|
||||||
aTabVisualDeckStorage->setText(tr("&Visual Deck Storage"));
|
aTabVisualDeckStorage->setText(tr("&Visual Deck Storage"));
|
||||||
aTabServer->setText(tr("Server"));
|
aTabServer->setText(tr("Server"));
|
||||||
aTabAccount->setText(tr("Account"));
|
aTabAccount->setText(tr("Account"));
|
||||||
|
|
@ -206,6 +210,9 @@ 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<TabDeckEditorVisual *> visualDeckEditorIterator(visualDeckEditorTabs);
|
||||||
|
while (visualDeckEditorIterator.hasNext())
|
||||||
|
tabs.append(visualDeckEditorIterator.next());
|
||||||
QMapIterator<QString, TabMessage *> messageIterator(messageTabs);
|
QMapIterator<QString, TabMessage *> messageIterator(messageTabs);
|
||||||
while (messageIterator.hasNext())
|
while (messageIterator.hasNext())
|
||||||
tabs.append(messageIterator.next().value());
|
tabs.append(messageIterator.next().value());
|
||||||
|
|
@ -225,6 +232,7 @@ void TabSupervisor::refreshShortcuts()
|
||||||
{
|
{
|
||||||
ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts();
|
ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts();
|
||||||
aTabDeckEditor->setShortcuts(shortcuts.getShortcut("Tabs/aTabDeckEditor"));
|
aTabDeckEditor->setShortcuts(shortcuts.getShortcut("Tabs/aTabDeckEditor"));
|
||||||
|
aTabVisualDeckEditor->setShortcuts(shortcuts.getShortcut("Tabs/aTabVisualDeckEditor"));
|
||||||
aTabVisualDeckStorage->setShortcuts(shortcuts.getShortcut("Tabs/aTabVisualDeckStorage"));
|
aTabVisualDeckStorage->setShortcuts(shortcuts.getShortcut("Tabs/aTabVisualDeckStorage"));
|
||||||
aTabServer->setShortcuts(shortcuts.getShortcut("Tabs/aTabServer"));
|
aTabServer->setShortcuts(shortcuts.getShortcut("Tabs/aTabServer"));
|
||||||
aTabAccount->setShortcuts(shortcuts.getShortcut("Tabs/aTabAccount"));
|
aTabAccount->setShortcuts(shortcuts.getShortcut("Tabs/aTabAccount"));
|
||||||
|
|
@ -372,6 +380,7 @@ void TabSupervisor::resetTabsMenu()
|
||||||
{
|
{
|
||||||
tabsMenu->clear();
|
tabsMenu->clear();
|
||||||
tabsMenu->addAction(aTabDeckEditor);
|
tabsMenu->addAction(aTabDeckEditor);
|
||||||
|
tabsMenu->addAction(aTabVisualDeckEditor);
|
||||||
tabsMenu->addSeparator();
|
tabsMenu->addSeparator();
|
||||||
tabsMenu->addAction(aTabVisualDeckStorage);
|
tabsMenu->addAction(aTabVisualDeckStorage);
|
||||||
tabsMenu->addAction(aTabDeckStorage);
|
tabsMenu->addAction(aTabDeckStorage);
|
||||||
|
|
@ -806,10 +815,15 @@ TabDeckEditor *TabSupervisor::addDeckEditorTab(const DeckLoader *deckToOpen)
|
||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
TabDeckEditorVisual *TabSupervisor::addVisualDeckEditorTab()
|
TabDeckEditorVisual *TabSupervisor::addVisualDeckEditorTab(const DeckLoader *deckToOpen)
|
||||||
{
|
{
|
||||||
TabDeckEditorVisual *tab = new TabDeckEditorVisual(this);
|
TabDeckEditorVisual *tab = new TabDeckEditorVisual(this);
|
||||||
|
if (deckToOpen)
|
||||||
|
tab->setDeck(new DeckLoader(*deckToOpen));
|
||||||
|
connect(tab, &TabDeckEditorVisual::deckEditorClosing, this, &TabSupervisor::visualDeckEditorClosed);
|
||||||
|
// connect(tab, &TabDeckEditorVisual::openDeckEditor, this, &TabSupervisor::addDeckEditorTab);
|
||||||
myAddTab(tab);
|
myAddTab(tab);
|
||||||
|
visualDeckEditorTabs.append(tab);
|
||||||
setCurrentWidget(tab);
|
setCurrentWidget(tab);
|
||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
@ -835,6 +849,15 @@ void TabSupervisor::deckEditorClosed(AbstractTabDeckEditor *tab)
|
||||||
removeTab(indexOf(tab));
|
removeTab(indexOf(tab));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TabSupervisor::visualDeckEditorClosed(TabDeckEditorVisual *tab)
|
||||||
|
{
|
||||||
|
if (tab == currentWidget())
|
||||||
|
emit setMenu();
|
||||||
|
|
||||||
|
visualDeckEditorTabs.removeOne(tab);
|
||||||
|
removeTab(indexOf(tab));
|
||||||
|
}
|
||||||
|
|
||||||
void TabSupervisor::tabUserEvent(bool globalEvent)
|
void TabSupervisor::tabUserEvent(bool globalEvent)
|
||||||
{
|
{
|
||||||
Tab *tab = static_cast<Tab *>(sender());
|
Tab *tab = static_cast<Tab *>(sender());
|
||||||
|
|
|
||||||
|
|
@ -91,10 +91,11 @@ private:
|
||||||
QList<TabGame *> replayTabs;
|
QList<TabGame *> replayTabs;
|
||||||
QMap<QString, TabMessage *> messageTabs;
|
QMap<QString, TabMessage *> messageTabs;
|
||||||
QList<AbstractTabDeckEditor *> deckEditorTabs;
|
QList<AbstractTabDeckEditor *> deckEditorTabs;
|
||||||
|
QList<TabDeckEditorVisual *> visualDeckEditorTabs;
|
||||||
bool isLocalGame;
|
bool isLocalGame;
|
||||||
|
|
||||||
QAction *aTabDeckEditor, *aTabVisualDeckStorage, *aTabServer, *aTabAccount, *aTabDeckStorage, *aTabReplays,
|
QAction *aTabDeckEditor, *aTabVisualDeckEditor, *aTabVisualDeckStorage, *aTabServer, *aTabAccount, *aTabDeckStorage,
|
||||||
*aTabAdmin, *aTabLog;
|
*aTabReplays, *aTabAdmin, *aTabLog;
|
||||||
|
|
||||||
int myAddTab(Tab *tab, QAction *manager = nullptr);
|
int myAddTab(Tab *tab, QAction *manager = nullptr);
|
||||||
void addCloseButtonToTab(Tab *tab, int tabIndex, QAction *manager);
|
void addCloseButtonToTab(Tab *tab, int tabIndex, QAction *manager);
|
||||||
|
|
@ -151,9 +152,9 @@ signals:
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
TabDeckEditor *addDeckEditorTab(const DeckLoader *deckToOpen);
|
TabDeckEditor *addDeckEditorTab(const DeckLoader *deckToOpen);
|
||||||
|
TabDeckEditorVisual *addVisualDeckEditorTab(const DeckLoader *deckToOpen);
|
||||||
TabEdhRec *addEdhrecTab(const CardInfoPtr &cardToQuery, bool isCommander = false);
|
TabEdhRec *addEdhrecTab(const CardInfoPtr &cardToQuery, bool isCommander = false);
|
||||||
TabDeckStorageVisual *addVisualDeckStorageTab();
|
TabDeckStorageVisual *addVisualDeckStorageTab();
|
||||||
TabDeckEditorVisual *addVisualDeckEditorTab();
|
|
||||||
void openReplay(GameReplay *replay);
|
void openReplay(GameReplay *replay);
|
||||||
void maximizeMainWindow();
|
void maximizeMainWindow();
|
||||||
private slots:
|
private slots:
|
||||||
|
|
@ -188,6 +189,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 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);
|
||||||
|
|
|
||||||
|
|
@ -878,8 +878,8 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this,
|
connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this,
|
||||||
&MainWindow::refreshShortcuts);
|
&MainWindow::refreshShortcuts);
|
||||||
refreshShortcuts();
|
refreshShortcuts();
|
||||||
connect(CardDatabaseManager::getInstance(), SIGNAL(cardDatabaseLoadingFinished()), tabSupervisor,
|
connect(CardDatabaseManager::getInstance(), &CardDatabase::cardDatabaseLoadingFinished, this,
|
||||||
SLOT(addVisualDeckEditorTab()));
|
[this]() { tabSupervisor->addVisualDeckEditorTab(nullptr); });
|
||||||
|
|
||||||
connect(CardDatabaseManager::getInstance(), &CardDatabase::cardDatabaseLoadingFailed, this,
|
connect(CardDatabaseManager::getInstance(), &CardDatabase::cardDatabaseLoadingFailed, this,
|
||||||
&MainWindow::cardDatabaseLoadingFailed);
|
&MainWindow::cardDatabaseLoadingFailed);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue