mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-15 03:28:49 -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);
|
aTabEdhRec = new QAction(this);
|
||||||
connect(aTabEdhRec, &QAction::triggered, this, [this] { addEdhrecMainTab(); });
|
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 = new QAction(this);
|
||||||
aTabVisualDeckStorage->setCheckable(true);
|
aTabVisualDeckStorage->setCheckable(true);
|
||||||
connect(aTabVisualDeckStorage, &QAction::triggered, this, &TabSupervisor::actTabVisualDeckStorage);
|
connect(aTabVisualDeckStorage, &QAction::triggered, this, &TabSupervisor::actTabVisualDeckStorage);
|
||||||
|
|
@ -201,6 +205,7 @@ void TabSupervisor::retranslateUi()
|
||||||
aTabDeckEditor->setText(tr("Deck Editor"));
|
aTabDeckEditor->setText(tr("Deck Editor"));
|
||||||
aTabVisualDeckEditor->setText(tr("Visual Deck Editor"));
|
aTabVisualDeckEditor->setText(tr("Visual Deck Editor"));
|
||||||
aTabEdhRec->setText(tr("EDHRec"));
|
aTabEdhRec->setText(tr("EDHRec"));
|
||||||
|
aTabHome->setText(tr("Home"));
|
||||||
aTabVisualDeckStorage->setText(tr("&Visual Deck Storage"));
|
aTabVisualDeckStorage->setText(tr("&Visual Deck Storage"));
|
||||||
aTabVisualDatabaseDisplay->setText(tr("Visual Database Display"));
|
aTabVisualDatabaseDisplay->setText(tr("Visual Database Display"));
|
||||||
aTabServer->setText(tr("Server"));
|
aTabServer->setText(tr("Server"));
|
||||||
|
|
@ -250,6 +255,8 @@ 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"));
|
aTabVisualDeckEditor->setShortcuts(shortcuts.getShortcut("Tabs/aTabVisualDeckEditor"));
|
||||||
|
|
||||||
|
aTabHome->setShortcuts(shortcuts.getShortcut("Tabs/aTabHome"));
|
||||||
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"));
|
||||||
|
|
@ -313,8 +320,8 @@ static void checkAndTrigger(QAction *checkableAction, bool checked)
|
||||||
*/
|
*/
|
||||||
void TabSupervisor::initStartupTabs()
|
void TabSupervisor::initStartupTabs()
|
||||||
{
|
{
|
||||||
auto homeTab = addHomeTab();
|
openTabHome();
|
||||||
setCurrentWidget(homeTab);
|
setCurrentWidget(tabHome);
|
||||||
|
|
||||||
if (SettingsCache::instance().getTabVisualDeckStorageOpen()) {
|
if (SettingsCache::instance().getTabVisualDeckStorageOpen()) {
|
||||||
openTabVisualDeckStorage();
|
openTabVisualDeckStorage();
|
||||||
|
|
@ -381,6 +388,7 @@ void TabSupervisor::resetTabsMenu()
|
||||||
tabsMenu->addAction(aTabVisualDeckEditor);
|
tabsMenu->addAction(aTabVisualDeckEditor);
|
||||||
tabsMenu->addAction(aTabEdhRec);
|
tabsMenu->addAction(aTabEdhRec);
|
||||||
tabsMenu->addSeparator();
|
tabsMenu->addSeparator();
|
||||||
|
tabsMenu->addAction(aTabHome);
|
||||||
tabsMenu->addAction(aTabVisualDeckStorage);
|
tabsMenu->addAction(aTabVisualDeckStorage);
|
||||||
tabsMenu->addAction(aTabVisualDatabaseDisplay);
|
tabsMenu->addAction(aTabVisualDatabaseDisplay);
|
||||||
tabsMenu->addAction(aTabDeckStorage);
|
tabsMenu->addAction(aTabDeckStorage);
|
||||||
|
|
@ -497,6 +505,27 @@ void TabSupervisor::stop()
|
||||||
userInfo = nullptr;
|
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)
|
void TabSupervisor::actTabVisualDeckStorage(bool checked)
|
||||||
{
|
{
|
||||||
SettingsCache::instance().setTabVisualDeckStorageOpen(checked);
|
SettingsCache::instance().setTabVisualDeckStorageOpen(checked);
|
||||||
|
|
@ -813,14 +842,6 @@ void TabSupervisor::talkLeft(TabMessage *tab)
|
||||||
removeTab(indexOf(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 a new deck editor tab and loads the deck into it.
|
||||||
* Creates either a classic or visual deck editor tab depending on settings
|
* Creates either a classic or visual deck editor tab depending on settings
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,7 @@ private:
|
||||||
UserListManager *userListManager;
|
UserListManager *userListManager;
|
||||||
QList<AbstractClient *> localClients;
|
QList<AbstractClient *> localClients;
|
||||||
QMenu *tabsMenu;
|
QMenu *tabsMenu;
|
||||||
|
TabHome *tabHome;
|
||||||
TabDeckStorageVisual *tabVisualDeckStorage;
|
TabDeckStorageVisual *tabVisualDeckStorage;
|
||||||
TabServer *tabServer;
|
TabServer *tabServer;
|
||||||
TabAccount *tabAccount;
|
TabAccount *tabAccount;
|
||||||
|
|
@ -104,8 +105,8 @@ private:
|
||||||
QList<AbstractTabDeckEditor *> deckEditorTabs;
|
QList<AbstractTabDeckEditor *> deckEditorTabs;
|
||||||
bool isLocalGame;
|
bool isLocalGame;
|
||||||
|
|
||||||
QAction *aTabDeckEditor, *aTabVisualDeckEditor, *aTabEdhRec, *aTabVisualDeckStorage, *aTabVisualDatabaseDisplay,
|
QAction *aTabHome, *aTabDeckEditor, *aTabVisualDeckEditor, *aTabEdhRec, *aTabVisualDeckStorage,
|
||||||
*aTabServer, *aTabAccount, *aTabDeckStorage, *aTabReplays, *aTabAdmin, *aTabLog;
|
*aTabVisualDatabaseDisplay, *aTabServer, *aTabAccount, *aTabDeckStorage, *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);
|
||||||
|
|
@ -175,6 +176,7 @@ public slots:
|
||||||
private slots:
|
private slots:
|
||||||
void refreshShortcuts();
|
void refreshShortcuts();
|
||||||
|
|
||||||
|
void actTabHome(bool checked);
|
||||||
void actTabServer(bool checked);
|
void actTabServer(bool checked);
|
||||||
void actTabAccount(bool checked);
|
void actTabAccount(bool checked);
|
||||||
void actTabDeckStorage(bool checked);
|
void actTabDeckStorage(bool checked);
|
||||||
|
|
@ -182,6 +184,7 @@ private slots:
|
||||||
void actTabLog(bool checked);
|
void actTabLog(bool checked);
|
||||||
|
|
||||||
void openTabVisualDeckStorage();
|
void openTabVisualDeckStorage();
|
||||||
|
void openTabHome();
|
||||||
void openTabServer();
|
void openTabServer();
|
||||||
void openTabAccount();
|
void openTabAccount();
|
||||||
void openTabDeckStorage();
|
void openTabDeckStorage();
|
||||||
|
|
@ -201,7 +204,6 @@ private slots:
|
||||||
void processUserLeft(const QString &userName);
|
void processUserLeft(const QString &userName);
|
||||||
void processUserJoined(const ServerInfo_User &userInfo);
|
void processUserJoined(const ServerInfo_User &userInfo);
|
||||||
void talkLeft(TabMessage *tab);
|
void talkLeft(TabMessage *tab);
|
||||||
TabHome *addHomeTab();
|
|
||||||
void deckEditorClosed(AbstractTabDeckEditor *tab);
|
void deckEditorClosed(AbstractTabDeckEditor *tab);
|
||||||
void tabUserEvent(bool globalEvent);
|
void tabUserEvent(bool globalEvent);
|
||||||
void updateTabText(Tab *tab, const QString &newTabText);
|
void updateTabText(Tab *tab, const QString &newTabText);
|
||||||
|
|
|
||||||
|
|
@ -707,6 +707,8 @@ private:
|
||||||
ShortcutGroup::Replays)},
|
ShortcutGroup::Replays)},
|
||||||
{"Tabs/aTabDeckEditor",
|
{"Tabs/aTabDeckEditor",
|
||||||
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Deck Editor"), parseSequenceString(""), ShortcutGroup::Tabs)},
|
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"),
|
{"Tabs/aTabVisualDeckStorage", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Visual Deck Storage"),
|
||||||
parseSequenceString(""),
|
parseSequenceString(""),
|
||||||
ShortcutGroup::Tabs)},
|
ShortcutGroup::Tabs)},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue