mirror of https://git.suyu.dev/suyu/suyu
Merge pull request #4817 from Kewlan/open-single-save-location
main/profile_select: Don't ask for profile when there's only one.
This commit is contained in:
commit
ab052cf684
|
@ -114,6 +114,15 @@ QtProfileSelectionDialog::QtProfileSelectionDialog(QWidget* parent)
|
||||||
|
|
||||||
QtProfileSelectionDialog::~QtProfileSelectionDialog() = default;
|
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() {
|
void QtProfileSelectionDialog::accept() {
|
||||||
QDialog::accept();
|
QDialog::accept();
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,7 @@ public:
|
||||||
explicit QtProfileSelectionDialog(QWidget* parent);
|
explicit QtProfileSelectionDialog(QWidget* parent);
|
||||||
~QtProfileSelectionDialog() override;
|
~QtProfileSelectionDialog() override;
|
||||||
|
|
||||||
|
int exec() override;
|
||||||
void accept() override;
|
void accept() override;
|
||||||
void reject() override;
|
void reject() override;
|
||||||
|
|
||||||
|
|
|
@ -303,24 +303,18 @@ void GMainWindow::ControllerSelectorReconfigureControllers(
|
||||||
}
|
}
|
||||||
|
|
||||||
void GMainWindow::ProfileSelectorSelectProfile() {
|
void GMainWindow::ProfileSelectorSelectProfile() {
|
||||||
const Service::Account::ProfileManager manager;
|
QtProfileSelectionDialog dialog(this);
|
||||||
int index = 0;
|
dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint |
|
||||||
if (manager.GetUserCount() != 1) {
|
Qt::WindowTitleHint | Qt::WindowSystemMenuHint |
|
||||||
QtProfileSelectionDialog dialog(this);
|
Qt::WindowCloseButtonHint);
|
||||||
dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint |
|
dialog.setWindowModality(Qt::WindowModal);
|
||||||
Qt::WindowTitleHint | Qt::WindowSystemMenuHint |
|
if (dialog.exec() == QDialog::Rejected) {
|
||||||
Qt::WindowCloseButtonHint);
|
emit ProfileSelectorFinishedSelection(std::nullopt);
|
||||||
dialog.setWindowModality(Qt::WindowModal);
|
return;
|
||||||
|
|
||||||
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()) {
|
if (!uuid.has_value()) {
|
||||||
emit ProfileSelectorFinishedSelection(std::nullopt);
|
emit ProfileSelectorFinishedSelection(std::nullopt);
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue