Skip to content

Commit

Permalink
Fix instance account selector face for offline accounts
Browse files Browse the repository at this point in the history
  • Loading branch information
byteduck committed Jan 13, 2023
1 parent e0e3d4d commit 160dd09
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 14 deletions.
26 changes: 12 additions & 14 deletions launcher/ui/pages/instance/InstanceSettingsPage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,7 @@ void InstanceSettingsPage::updateAccountsMenu()

if (defaultAccount) {
ui->instanceAccountSelector->setText(defaultAccount->profileName());
ui->instanceAccountSelector->setIcon(defaultAccount->getFace());
ui->instanceAccountSelector->setIcon(getFaceForAccount(defaultAccount));
} else {
ui->instanceAccountSelector->setText(tr("No default account"));
ui->instanceAccountSelector->setIcon(APPLICATION->getThemedIcon("noaccount"));
Expand All @@ -480,19 +480,21 @@ void InstanceSettingsPage::updateAccountsMenu()
if (accountIndex == i) {
action->setChecked(true);
}

auto face = account->getFace();
if (!face.isNull()) {
action->setIcon(face);
} else {
action->setIcon(APPLICATION->getThemedIcon("noaccount"));
}

action->setIcon(getFaceForAccount(account));
accountMenu->addAction(action);
connect(action, SIGNAL(triggered(bool)), this, SLOT(changeInstanceAccount()));
}
}

QIcon InstanceSettingsPage::getFaceForAccount(MinecraftAccountPtr account)
{
if (auto face = account->getFace(); !face.isNull()) {
return face;
}

return APPLICATION->getThemedIcon("noaccount");
}

void InstanceSettingsPage::changeInstanceAccount()
{
QAction* sAction = (QAction*)sender();
Expand All @@ -506,11 +508,7 @@ void InstanceSettingsPage::changeInstanceAccount()
m_settings->set("InstanceAccountId", account->profileId());

ui->instanceAccountSelector->setText(account->profileName());
if (auto face = account->getFace(); !face.isNull()) {
ui->instanceAccountSelector->setIcon(face);
} else {
ui->instanceAccountSelector->setIcon(APPLICATION->getThemedIcon("noaccount"));
}
ui->instanceAccountSelector->setIcon(getFaceForAccount(account));
}

void InstanceSettingsPage::on_maxMemSpinBox_valueChanged(int i)
Expand Down
1 change: 1 addition & 0 deletions launcher/ui/pages/instance/InstanceSettingsPage.h
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ private slots:
void globalSettingsButtonClicked(bool checked);

void updateAccountsMenu();
QIcon getFaceForAccount(MinecraftAccountPtr account);
void changeInstanceAccount();

private:
Expand Down

0 comments on commit 160dd09

Please sign in to comment.