MCPcopy Create free account
hub / github.com/MultiMC/Launcher / repopulateAccountsMenu

Method repopulateAccountsMenu

launcher/ui/MainWindow.cpp:1025–1091  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1023}
1024
1025void MainWindow::repopulateAccountsMenu()
1026{
1027 accountMenu->clear();
1028
1029 auto accounts = APPLICATION->accounts();
1030 MinecraftAccountPtr defaultAccount = accounts->defaultAccount();
1031
1032 QString active_profileId = "";
1033 if (defaultAccount)
1034 {
1035 // this can be called before accountMenuButton exists
1036 if (accountMenuButton)
1037 {
1038 auto profileLabel = profileInUseFilter(defaultAccount->profileName(), defaultAccount->isInUse());
1039 accountMenuButton->setText(profileLabel);
1040 }
1041 }
1042
1043 if (accounts->count() <= 0)
1044 {
1045 QAction *action = new QAction(tr("No accounts added!"), this);
1046 action->setEnabled(false);
1047 accountMenu->addAction(action);
1048 }
1049 else
1050 {
1051 // TODO: Nicer way to iterate?
1052 for (int i = 0; i < accounts->count(); i++)
1053 {
1054 MinecraftAccountPtr account = accounts->at(i);
1055 auto profileLabel = profileInUseFilter(account->profileName(), account->isInUse());
1056 QAction *action = new QAction(profileLabel, this);
1057 action->setData(i);
1058 action->setCheckable(true);
1059 if (defaultAccount == account)
1060 {
1061 action->setChecked(true);
1062 }
1063
1064 auto face = account->getFace();
1065 if(!face.isNull()) {
1066 action->setIcon(face);
1067 }
1068 else {
1069 action->setIcon(APPLICATION->getThemedIcon("noaccount"));
1070 }
1071 accountMenu->addAction(action);
1072 connect(action, SIGNAL(triggered(bool)), SLOT(changeActiveAccount()));
1073 }
1074 }
1075
1076 accountMenu->addSeparator();
1077
1078 QAction *action = new QAction(tr("No Default Account"), this);
1079 action->setCheckable(true);
1080 action->setIcon(APPLICATION->getThemedIcon("noaccount"));
1081 action->setData(-1);
1082 if (!defaultAccount) {

Callers

nothing calls this directly

Calls 15

profileInUseFilterFunction · 0.85
accountsMethod · 0.80
defaultAccountMethod · 0.80
isInUseMethod · 0.80
setEnabledMethod · 0.80
addActionMethod · 0.80
getFaceMethod · 0.80
getThemedIconMethod · 0.80
addSeparatorMethod · 0.80
clearMethod · 0.45
profileNameMethod · 0.45
setTextMethod · 0.45

Tested by

no test coverage detected