main/profile_select: Don't prompt for profile selection when only one is available

This commit is contained in:
FearlessTobi 2020-07-11 16:08:34 +02:00
parent a0ee597b19
commit a59ad9246b
1 changed files with 13 additions and 9 deletions

View File

@ -278,17 +278,21 @@ GMainWindow::~GMainWindow() {
} }
void GMainWindow::ProfileSelectorSelectProfile() { void GMainWindow::ProfileSelectorSelectProfile() {
QtProfileSelectionDialog dialog(this); const Service::Account::ProfileManager manager;
dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | int index = 0;
Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint); if (manager.GetUserCount() != 1) {
dialog.setWindowModality(Qt::WindowModal); QtProfileSelectionDialog dialog(this);
if (dialog.exec() == QDialog::Rejected) { dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint |
emit ProfileSelectorFinishedSelection(std::nullopt); Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint);
return; dialog.setWindowModality(Qt::WindowModal);
if (dialog.exec() == QDialog::Rejected) {
emit ProfileSelectorFinishedSelection(std::nullopt);
return;
}
index = dialog.GetIndex();
} }
Service::Account::ProfileManager manager; const auto uuid = manager.GetUser(static_cast<std::size_t>(index));
const auto uuid = manager.GetUser(static_cast<std::size_t>(dialog.GetIndex()));
if (!uuid.has_value()) { if (!uuid.has_value()) {
emit ProfileSelectorFinishedSelection(std::nullopt); emit ProfileSelectorFinishedSelection(std::nullopt);
return; return;