diff options
author | bunnei <bunneidev@gmail.com> | 2020-10-24 12:02:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-24 12:02:19 +0200 |
commit | ab052cf6847faf2c6f3ea5229b37626743b6a050 (patch) | |
tree | 6459c1897e06fd93035a3d960e0b2952cf51f0fd | |
parent | Merge pull request #4816 from Morph1984/controller-disconnect-fix (diff) | |
parent | Don't ask for profile when there's only one. (diff) | |
download | yuzu-ab052cf6847faf2c6f3ea5229b37626743b6a050.tar yuzu-ab052cf6847faf2c6f3ea5229b37626743b6a050.tar.gz yuzu-ab052cf6847faf2c6f3ea5229b37626743b6a050.tar.bz2 yuzu-ab052cf6847faf2c6f3ea5229b37626743b6a050.tar.lz yuzu-ab052cf6847faf2c6f3ea5229b37626743b6a050.tar.xz yuzu-ab052cf6847faf2c6f3ea5229b37626743b6a050.tar.zst yuzu-ab052cf6847faf2c6f3ea5229b37626743b6a050.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; |