diff options
author | Zach Hilman <zachhilman@gmail.com> | 2018-11-22 21:03:33 -0500 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2018-12-03 17:26:27 -0500 |
commit | bf90f2402dae06ebf4292e59bf8703490596f6ba (patch) | |
tree | 89bb7e98853f74864d98122c2f8addd8eb7ac40b /src/yuzu/main.cpp | |
parent | 60b59d554d20c4f02036f254604835c62a7f282f (diff) |
qt: Implement GUI dialog frontend for ProfileSelector
Presents profiles in a list, similar to switch.
Diffstat (limited to 'src/yuzu/main.cpp')
-rw-r--r-- | src/yuzu/main.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index b39bf1903..085cab74b 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -208,6 +208,28 @@ GMainWindow::~GMainWindow() { delete render_window; } +void GMainWindow::ProfileSelectorSelectProfile() { + QtProfileSelectionDialog dialog(this); + dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | + Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint); + dialog.setWindowModality(Qt::WindowModal); + dialog.exec(); + + if (!dialog.GetStatus()) { + emit ProfileSelectorFinishedSelection(std::nullopt); + return; + } + + Service::Account::ProfileManager manager; + const auto uuid = manager.GetUser(dialog.GetIndex()); + if (!uuid.has_value()) { + emit ProfileSelectorFinishedSelection(std::nullopt); + return; + } + + emit ProfileSelectorFinishedSelection(uuid); +} + void GMainWindow::SoftwareKeyboardGetText( const Core::Frontend::SoftwareKeyboardParameters& parameters) { QtSoftwareKeyboardDialog dialog(this, parameters); |