Browse Source
Merge pull request #4817 from Kewlan/open-single-save-location
main/profile_select: Don't ask for profile when there's only one.
pull/15/merge
bunnei
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
20 additions and
16 deletions
-
src/yuzu/applets/profile_select.cpp
-
src/yuzu/applets/profile_select.h
-
src/yuzu/main.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(); |
|
|
|
} |
|
|
|
|
|
|
|
@ -27,6 +27,7 @@ public: |
|
|
|
explicit QtProfileSelectionDialog(QWidget* parent); |
|
|
|
~QtProfileSelectionDialog() override; |
|
|
|
|
|
|
|
int exec() override; |
|
|
|
void accept() override; |
|
|
|
void reject() override; |
|
|
|
|
|
|
|
|
|
|
|
@ -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(); |
|
|
|
} |
|
|
|
|
|
|
|
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; |
|
|
|
|