aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/MainWindow.cpp
diff options
context:
space:
mode:
authorKenneth Chew <kenneth.c0@protonmail.com>2022-04-15 19:55:49 -0400
committerKenneth Chew <kenneth.c0@protonmail.com>2022-04-15 19:55:49 -0400
commit1049507b3fe1b103e3089bb1178cac3bc92ff964 (patch)
tree1efc4d2f9f76b7a3be26b60f2dabbcbb8c0b9b2a /launcher/ui/MainWindow.cpp
parent1303771b58a213a25faaa1a870c774fbb72e7513 (diff)
downloadPrismLauncher-1049507b3fe1b103e3089bb1178cac3bc92ff964.tar.gz
PrismLauncher-1049507b3fe1b103e3089bb1178cac3bc92ff964.tar.bz2
PrismLauncher-1049507b3fe1b103e3089bb1178cac3bc92ff964.zip
Add logged in accounts to the profiles menu bar menu
Additionally, add keyboard shortcuts for switching between different accounts.
Diffstat (limited to 'launcher/ui/MainWindow.cpp')
-rw-r--r--launcher/ui/MainWindow.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/launcher/ui/MainWindow.cpp b/launcher/ui/MainWindow.cpp
index c144231d..90af763a 100644
--- a/launcher/ui/MainWindow.cpp
+++ b/launcher/ui/MainWindow.cpp
@@ -511,7 +511,6 @@ public:
editMenu->addAction(settingsAct);
profileMenu = menuBar->addMenu(tr("&Profiles"));
- // TODO: add a list of logged in accounts here
profileMenu->addAction(manageAccountAct);
helpMenu = menuBar->addMenu(tr("&Help"));
@@ -1379,6 +1378,7 @@ void MainWindow::updateToolsMenu()
void MainWindow::repopulateAccountsMenu()
{
accountMenu->clear();
+ ui->profileMenu->clear();
auto accounts = APPLICATION->accounts();
MinecraftAccountPtr defaultAccount = accounts->defaultAccount();
@@ -1399,6 +1399,7 @@ void MainWindow::repopulateAccountsMenu()
QAction *action = new QAction(tr("No accounts added!"), this);
action->setEnabled(false);
accountMenu->addAction(action);
+ ui->profileMenu->addAction(action);
}
else
{
@@ -1422,26 +1423,39 @@ void MainWindow::repopulateAccountsMenu()
else {
action->setIcon(APPLICATION->getThemedIcon("noaccount"));
}
+
+ const int highestNumberKey = 9;
+ if(i<highestNumberKey)
+ {
+ action->setShortcut(QKeySequence(tr("Ctrl+%1").arg(i + 1)));
+ }
+
accountMenu->addAction(action);
+ ui->profileMenu->addAction(action);
connect(action, SIGNAL(triggered(bool)), SLOT(changeActiveAccount()));
}
}
accountMenu->addSeparator();
+ ui->profileMenu->addSeparator();
QAction *action = new QAction(tr("No Default Account"), this);
action->setCheckable(true);
action->setIcon(APPLICATION->getThemedIcon("noaccount"));
action->setData(-1);
+ action->setShortcut(QKeySequence(tr("Ctrl+0")));
if (!defaultAccount) {
action->setChecked(true);
}
accountMenu->addAction(action);
+ ui->profileMenu->addAction(action);
connect(action, SIGNAL(triggered(bool)), SLOT(changeActiveAccount()));
accountMenu->addSeparator();
+ ui->profileMenu->addSeparator();
accountMenu->addAction(ui->actionManageAccounts);
+ ui->profileMenu->addAction(ui->manageAccountAct);
}
void MainWindow::updatesAllowedChanged(bool allowed)