add info & retry dialog

Signed-off-by: Tayou <git@tayou.org>
This commit is contained in:
Tayou 2026-06-11 14:35:07 +02:00
parent 0a3adb7912
commit 768d12259b
No known key found for this signature in database
GPG key ID: AAAF6C17E5E51872

View file

@ -182,6 +182,33 @@ LaunchDecision LaunchController::decideLaunchMode()
QString reauthReason;
switch (state) {
case AccountState::Offline: {
if (m_wantedLaunchMode == LaunchMode::Normal) {
QMessageBox msg(m_parentWidget);
msg.setWindowTitle(tr("Auth servers offline"));
msg.setText(tr("The Minecraft authentication servers are currently unavailable."));
msg.setIcon(QMessageBox::Warning);
auto* launchOfflineButton = msg.addButton(tr("Launch Offline"), QMessageBox::AcceptRole);
auto* retryButton = msg.addButton(tr("Retry"), QMessageBox::ActionRole);
msg.addButton(tr("Cancel"), QMessageBox::RejectRole);
msg.setDefaultButton(launchOfflineButton);
msg.exec();
if (msg.clickedButton() == launchOfflineButton) {
m_actualLaunchMode = LaunchMode::Offline;
return LaunchDecision::Continue;
}
if (msg.clickedButton() == retryButton) {
return LaunchDecision::Undecided;
}
return LaunchDecision::Abort;
}
m_actualLaunchMode = LaunchMode::Offline;
return LaunchDecision::Continue;
}
case AccountState::Errored:
reauthReason = tr("An error occurred while refreshing '%1'").arg(accountToCheck->profileName());
break;