mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
Make TabHome a managed tab (#6147)
* Make TabHome a managed tab * Add shortcut
This commit is contained in:
parent
94ba1c83c6
commit
a9cbd5a172
3 changed files with 38 additions and 13 deletions
|
|
@ -141,6 +141,10 @@ TabSupervisor::TabSupervisor(AbstractClient *_client, QMenu *tabsMenu, QWidget *
|
|||
aTabEdhRec = new QAction(this);
|
||||
connect(aTabEdhRec, &QAction::triggered, this, [this] { addEdhrecMainTab(); });
|
||||
|
||||
aTabHome = new QAction(this);
|
||||
aTabHome->setCheckable(true);
|
||||
connect(aTabHome, &QAction::triggered, this, &TabSupervisor::actTabHome);
|
||||
|
||||
aTabVisualDeckStorage = new QAction(this);
|
||||
aTabVisualDeckStorage->setCheckable(true);
|
||||
connect(aTabVisualDeckStorage, &QAction::triggered, this, &TabSupervisor::actTabVisualDeckStorage);
|
||||
|
|
@ -201,6 +205,7 @@ void TabSupervisor::retranslateUi()
|
|||
aTabDeckEditor->setText(tr("Deck Editor"));
|
||||
aTabVisualDeckEditor->setText(tr("Visual Deck Editor"));
|
||||
aTabEdhRec->setText(tr("EDHRec"));
|
||||
aTabHome->setText(tr("Home"));
|
||||
aTabVisualDeckStorage->setText(tr("&Visual Deck Storage"));
|
||||
aTabVisualDatabaseDisplay->setText(tr("Visual Database Display"));
|
||||
aTabServer->setText(tr("Server"));
|
||||
|
|
@ -250,6 +255,8 @@ void TabSupervisor::refreshShortcuts()
|
|||
ShortcutsSettings &shortcuts = SettingsCache::instance().shortcuts();
|
||||
aTabDeckEditor->setShortcuts(shortcuts.getShortcut("Tabs/aTabDeckEditor"));
|
||||
aTabVisualDeckEditor->setShortcuts(shortcuts.getShortcut("Tabs/aTabVisualDeckEditor"));
|
||||
|
||||
aTabHome->setShortcuts(shortcuts.getShortcut("Tabs/aTabHome"));
|
||||
aTabVisualDeckStorage->setShortcuts(shortcuts.getShortcut("Tabs/aTabVisualDeckStorage"));
|
||||
aTabServer->setShortcuts(shortcuts.getShortcut("Tabs/aTabServer"));
|
||||
aTabAccount->setShortcuts(shortcuts.getShortcut("Tabs/aTabAccount"));
|
||||
|
|
@ -313,8 +320,8 @@ static void checkAndTrigger(QAction *checkableAction, bool checked)
|
|||
*/
|
||||
void TabSupervisor::initStartupTabs()
|
||||
{
|
||||
auto homeTab = addHomeTab();
|
||||
setCurrentWidget(homeTab);
|
||||
openTabHome();
|
||||
setCurrentWidget(tabHome);
|
||||
|
||||
if (SettingsCache::instance().getTabVisualDeckStorageOpen()) {
|
||||
openTabVisualDeckStorage();
|
||||
|
|
@ -381,6 +388,7 @@ void TabSupervisor::resetTabsMenu()
|
|||
tabsMenu->addAction(aTabVisualDeckEditor);
|
||||
tabsMenu->addAction(aTabEdhRec);
|
||||
tabsMenu->addSeparator();
|
||||
tabsMenu->addAction(aTabHome);
|
||||
tabsMenu->addAction(aTabVisualDeckStorage);
|
||||
tabsMenu->addAction(aTabVisualDatabaseDisplay);
|
||||
tabsMenu->addAction(aTabDeckStorage);
|
||||
|
|
@ -497,6 +505,27 @@ void TabSupervisor::stop()
|
|||
userInfo = nullptr;
|
||||
}
|
||||
|
||||
void TabSupervisor::actTabHome(bool checked)
|
||||
{
|
||||
if (checked && !tabHome) {
|
||||
openTabHome();
|
||||
setCurrentWidget(tabHome);
|
||||
} else if (!checked && tabHome) {
|
||||
tabHome->closeRequest();
|
||||
}
|
||||
}
|
||||
|
||||
void TabSupervisor::openTabHome()
|
||||
{
|
||||
tabHome = new TabHome(this, client);
|
||||
myAddTab(tabHome, aTabHome);
|
||||
connect(tabHome, &QObject::destroyed, this, [this] {
|
||||
tabHome = nullptr;
|
||||
aTabHome->setChecked(false);
|
||||
});
|
||||
aTabHome->setChecked(true);
|
||||
}
|
||||
|
||||
void TabSupervisor::actTabVisualDeckStorage(bool checked)
|
||||
{
|
||||
SettingsCache::instance().setTabVisualDeckStorageOpen(checked);
|
||||
|
|
@ -813,14 +842,6 @@ void TabSupervisor::talkLeft(TabMessage *tab)
|
|||
removeTab(indexOf(tab));
|
||||
}
|
||||
|
||||
TabHome *TabSupervisor::addHomeTab()
|
||||
{
|
||||
auto *tab = new TabHome(this, client);
|
||||
myAddTab(tab);
|
||||
setCurrentWidget(tab);
|
||||
return tab;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new deck editor tab and loads the deck into it.
|
||||
* Creates either a classic or visual deck editor tab depending on settings
|
||||
|
|
|
|||
|
|
@ -90,6 +90,7 @@ private:
|
|||
UserListManager *userListManager;
|
||||
QList<AbstractClient *> localClients;
|
||||
QMenu *tabsMenu;
|
||||
TabHome *tabHome;
|
||||
TabDeckStorageVisual *tabVisualDeckStorage;
|
||||
TabServer *tabServer;
|
||||
TabAccount *tabAccount;
|
||||
|
|
@ -104,8 +105,8 @@ private:
|
|||
QList<AbstractTabDeckEditor *> deckEditorTabs;
|
||||
bool isLocalGame;
|
||||
|
||||
QAction *aTabDeckEditor, *aTabVisualDeckEditor, *aTabEdhRec, *aTabVisualDeckStorage, *aTabVisualDatabaseDisplay,
|
||||
*aTabServer, *aTabAccount, *aTabDeckStorage, *aTabReplays, *aTabAdmin, *aTabLog;
|
||||
QAction *aTabHome, *aTabDeckEditor, *aTabVisualDeckEditor, *aTabEdhRec, *aTabVisualDeckStorage,
|
||||
*aTabVisualDatabaseDisplay, *aTabServer, *aTabAccount, *aTabDeckStorage, *aTabReplays, *aTabAdmin, *aTabLog;
|
||||
|
||||
int myAddTab(Tab *tab, QAction *manager = nullptr);
|
||||
void addCloseButtonToTab(Tab *tab, int tabIndex, QAction *manager);
|
||||
|
|
@ -175,6 +176,7 @@ public slots:
|
|||
private slots:
|
||||
void refreshShortcuts();
|
||||
|
||||
void actTabHome(bool checked);
|
||||
void actTabServer(bool checked);
|
||||
void actTabAccount(bool checked);
|
||||
void actTabDeckStorage(bool checked);
|
||||
|
|
@ -182,6 +184,7 @@ private slots:
|
|||
void actTabLog(bool checked);
|
||||
|
||||
void openTabVisualDeckStorage();
|
||||
void openTabHome();
|
||||
void openTabServer();
|
||||
void openTabAccount();
|
||||
void openTabDeckStorage();
|
||||
|
|
@ -201,7 +204,6 @@ private slots:
|
|||
void processUserLeft(const QString &userName);
|
||||
void processUserJoined(const ServerInfo_User &userInfo);
|
||||
void talkLeft(TabMessage *tab);
|
||||
TabHome *addHomeTab();
|
||||
void deckEditorClosed(AbstractTabDeckEditor *tab);
|
||||
void tabUserEvent(bool globalEvent);
|
||||
void updateTabText(Tab *tab, const QString &newTabText);
|
||||
|
|
|
|||
|
|
@ -707,6 +707,8 @@ private:
|
|||
ShortcutGroup::Replays)},
|
||||
{"Tabs/aTabDeckEditor",
|
||||
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Deck Editor"), parseSequenceString(""), ShortcutGroup::Tabs)},
|
||||
{"Tabs/aTabHome",
|
||||
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Home"), parseSequenceString(""), ShortcutGroup::Tabs)},
|
||||
{"Tabs/aTabVisualDeckStorage", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Visual Deck Storage"),
|
||||
parseSequenceString(""),
|
||||
ShortcutGroup::Tabs)},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue