GH-4217 Add support for GamePass accounts and MC profile setup

- We now use the new endpoint for loggiong in via XBox tokens (/launcher/login)
- We now check game entitlements instead of only relying on MC profile presence
- Accounts can now be added even when they do not have a profile
- The launcher will guide you through selecting a Minecraft name if you don't have one yet
This commit is contained in:
Petr Mrázek
2021-11-10 03:02:51 +01:00
parent 32f9c61c6e
commit 475d949a1e
17 changed files with 956 additions and 340 deletions

View File

@ -121,7 +121,7 @@ void AccountListPage::on_actionAddMojang_triggered()
{
m_accounts->addAccount(account);
if (m_accounts->count() == 1) {
m_accounts->setActiveAccount(account->profileId());
m_accounts->setActiveAccount(account);
}
}
}
@ -149,7 +149,7 @@ void AccountListPage::on_actionAddMicrosoft_triggered()
{
m_accounts->addAccount(account);
if (m_accounts->count() == 1) {
m_accounts->setActiveAccount(account->profileId());
m_accounts->setActiveAccount(account);
}
}
}
@ -187,13 +187,13 @@ void AccountListPage::on_actionSetDefault_triggered()
{
QModelIndex selected = selection.first();
MinecraftAccountPtr account = selected.data(AccountList::PointerRole).value<MinecraftAccountPtr>();
m_accounts->setActiveAccount(account->profileId());
m_accounts->setActiveAccount(account);
}
}
void AccountListPage::on_actionNoDefault_triggered()
{
m_accounts->setActiveAccount("");
m_accounts->setActiveAccount(nullptr);
}
void AccountListPage::updateButtonStates()