diff options
author | Kewlan <colin_rehn@hotmail.com> | 2020-10-21 20:36:57 +0200 |
---|---|---|
committer | Kewlan <colin_rehn@hotmail.com> | 2020-10-22 11:16:56 +0200 |
commit | 85b5b816cfa28371d9c78097eab22d6ec7438eee (patch) | |
tree | 6f277d62a918b63aeada8c129d2b5b8f1082be14 | |
parent | Merge pull request #4811 from lioncash/warn-video (diff) | |
download | yuzu-85b5b816cfa28371d9c78097eab22d6ec7438eee.tar yuzu-85b5b816cfa28371d9c78097eab22d6ec7438eee.tar.gz yuzu-85b5b816cfa28371d9c78097eab22d6ec7438eee.tar.bz2 yuzu-85b5b816cfa28371d9c78097eab22d6ec7438eee.tar.lz yuzu-85b5b816cfa28371d9c78097eab22d6ec7438eee.tar.xz yuzu-85b5b816cfa28371d9c78097eab22d6ec7438eee.tar.zst yuzu-85b5b816cfa28371d9c78097eab22d6ec7438eee.zip |
-rw-r--r-- | src/yuzu/applets/profile_select.cpp | 9 | ||||
-rw-r--r-- | src/yuzu/applets/profile_select.h | 1 | ||||
-rw-r--r-- | src/yuzu/main.cpp | 26 |
3 files changed, 20 insertions, 16 deletions
diff --git a/src/yuzu/applets/profile_select.cpp b/src/yuzu/applets/profile_select.cpp index dca8835ed..68b76269d 100644 --- a/src/yuzu/applets/profile_select.cpp +++ b/src/yuzu/applets/profile_select.cpp @@ -114,6 +114,15 @@ QtProfileSelectionDialog::QtProfileSelectionDialog(QWidget* parent) QtProfileSelectionDialog::~QtProfileSelectionDialog() = default; +int QtProfileSelectionDialog::exec() { + // Skip profile selection when there's only one. + if (profile_manager->GetUserCount() == 1) { + user_index = 0; + return QDialog::Accepted; + } + QDialog::exec(); +} + void QtProfileSelectionDialog::accept() { QDialog::accept(); } diff --git a/src/yuzu/applets/profile_select.h b/src/yuzu/applets/profile_select.h index cee886a77..29c33cca0 100644 --- a/src/yuzu/applets/profile_select.h +++ b/src/yuzu/applets/profile_select.h @@ -27,6 +27,7 @@ public: explicit QtProfileSelectionDialog(QWidget* parent); ~QtProfileSelectionDialog() override; + int exec() override; void accept() override; void reject() override; diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index e3de0f0e1..18e68e590 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -303,24 +303,18 @@ void GMainWindow::ControllerSelectorReconfigureControllers( } void GMainWindow::ProfileSelectorSelectProfile() { - const Service::Account::ProfileManager manager; - int index = 0; - if (manager.GetUserCount() != 1) { - QtProfileSelectionDialog dialog(this); - dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint | - Qt::WindowTitleHint | Qt::WindowSystemMenuHint | - Qt::WindowCloseButtonHint); - dialog.setWindowModality(Qt::WindowModal); - - if (dialog.exec() == QDialog::Rejected) { - emit ProfileSelectorFinishedSelection(std::nullopt); - return; - } - - index = dialog.GetIndex(); + QtProfileSelectionDialog dialog(this); + dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint | + Qt::WindowTitleHint | Qt::WindowSystemMenuHint | + Qt::WindowCloseButtonHint); + dialog.setWindowModality(Qt::WindowModal); + if (dialog.exec() == QDialog::Rejected) { + emit ProfileSelectorFinishedSelection(std::nullopt); + return; } - const auto uuid = manager.GetUser(static_cast<std::size_t>(index)); + const Service::Account::ProfileManager manager; + const auto uuid = manager.GetUser(static_cast<std::size_t>(dialog.GetIndex())); if (!uuid.has_value()) { emit ProfileSelectorFinishedSelection(std::nullopt); return; |