|
|
|
@ -46,11 +46,13 @@ QPixmap GetIcon(Common::UUID uuid) {
|
|
|
|
|
}
|
|
|
|
|
} // Anonymous namespace
|
|
|
|
|
|
|
|
|
|
QtProfileSelectionDialog::QtProfileSelectionDialog(Core::HID::HIDCore& hid_core, QWidget* parent)
|
|
|
|
|
QtProfileSelectionDialog::QtProfileSelectionDialog(
|
|
|
|
|
Core::HID::HIDCore& hid_core, QWidget* parent,
|
|
|
|
|
const Core::Frontend::ProfileSelectParameters& parameters)
|
|
|
|
|
: QDialog(parent), profile_manager(std::make_unique<Service::Account::ProfileManager>()) {
|
|
|
|
|
outer_layout = new QVBoxLayout;
|
|
|
|
|
|
|
|
|
|
instruction_label = new QLabel(tr("Select a user:"));
|
|
|
|
|
instruction_label = new QLabel();
|
|
|
|
|
|
|
|
|
|
scroll_area = new QScrollArea;
|
|
|
|
|
|
|
|
|
@ -120,7 +122,8 @@ QtProfileSelectionDialog::QtProfileSelectionDialog(Core::HID::HIDCore& hid_core,
|
|
|
|
|
item_model->appendRow(item);
|
|
|
|
|
|
|
|
|
|
setLayout(outer_layout);
|
|
|
|
|
setWindowTitle(tr("Profile Selector"));
|
|
|
|
|
SetWindowTitle(parameters);
|
|
|
|
|
SetDialogPurpose(parameters);
|
|
|
|
|
resize(550, 400);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -154,6 +157,76 @@ void QtProfileSelectionDialog::SelectUser(const QModelIndex& index) {
|
|
|
|
|
user_index = index.row();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void QtProfileSelectionDialog::SetWindowTitle(
|
|
|
|
|
const Core::Frontend::ProfileSelectParameters& parameters) {
|
|
|
|
|
using Service::AM::Applets::UiMode;
|
|
|
|
|
switch (parameters.mode) {
|
|
|
|
|
case UiMode::UserCreator:
|
|
|
|
|
case UiMode::UserCreatorForStarter:
|
|
|
|
|
setWindowTitle(tr("Profile Creator"));
|
|
|
|
|
return;
|
|
|
|
|
case UiMode::EnsureNetworkServiceAccountAvailable:
|
|
|
|
|
setWindowTitle(tr("Profile Selector"));
|
|
|
|
|
return;
|
|
|
|
|
case UiMode::UserIconEditor:
|
|
|
|
|
setWindowTitle(tr("Profile Icon Editor"));
|
|
|
|
|
return;
|
|
|
|
|
case UiMode::UserNicknameEditor:
|
|
|
|
|
setWindowTitle(tr("Profile Nickname Editor"));
|
|
|
|
|
return;
|
|
|
|
|
case UiMode::NintendoAccountAuthorizationRequestContext:
|
|
|
|
|
case UiMode::IntroduceExternalNetworkServiceAccount:
|
|
|
|
|
case UiMode::IntroduceExternalNetworkServiceAccountForRegistration:
|
|
|
|
|
case UiMode::NintendoAccountNnidLinker:
|
|
|
|
|
case UiMode::LicenseRequirementsForNetworkService:
|
|
|
|
|
case UiMode::LicenseRequirementsForNetworkServiceWithUserContextImpl:
|
|
|
|
|
case UiMode::UserCreatorForImmediateNaLoginTest:
|
|
|
|
|
case UiMode::UserQualificationPromoter:
|
|
|
|
|
case UiMode::UserSelector:
|
|
|
|
|
default:
|
|
|
|
|
setWindowTitle(tr("Profile Selector"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void QtProfileSelectionDialog::SetDialogPurpose(
|
|
|
|
|
const Core::Frontend::ProfileSelectParameters& parameters) {
|
|
|
|
|
using Service::AM::Applets::UserSelectionPurpose;
|
|
|
|
|
|
|
|
|
|
switch (parameters.purpose) {
|
|
|
|
|
case UserSelectionPurpose::GameCardRegistration:
|
|
|
|
|
instruction_label->setText(tr("Who will receive the points?"));
|
|
|
|
|
return;
|
|
|
|
|
case UserSelectionPurpose::EShopLaunch:
|
|
|
|
|
instruction_label->setText(tr("Who is using Nintendo eShop?"));
|
|
|
|
|
return;
|
|
|
|
|
case UserSelectionPurpose::EShopItemShow:
|
|
|
|
|
instruction_label->setText(tr("Who is making this purchase?"));
|
|
|
|
|
return;
|
|
|
|
|
case UserSelectionPurpose::PicturePost:
|
|
|
|
|
instruction_label->setText(tr("Who is posting?"));
|
|
|
|
|
return;
|
|
|
|
|
case UserSelectionPurpose::NintendoAccountLinkage:
|
|
|
|
|
instruction_label->setText(tr("Select a user to link to a Nintendo Account."));
|
|
|
|
|
return;
|
|
|
|
|
case UserSelectionPurpose::SettingsUpdate:
|
|
|
|
|
instruction_label->setText(tr("Change settings for which user?"));
|
|
|
|
|
return;
|
|
|
|
|
case UserSelectionPurpose::SaveDataDeletion:
|
|
|
|
|
instruction_label->setText(tr("Format data for which user?"));
|
|
|
|
|
return;
|
|
|
|
|
case UserSelectionPurpose::UserMigration:
|
|
|
|
|
instruction_label->setText(tr("Which user will be transferred to another console?"));
|
|
|
|
|
return;
|
|
|
|
|
case UserSelectionPurpose::SaveDataTransfer:
|
|
|
|
|
instruction_label->setText(tr("Send save data for which user?"));
|
|
|
|
|
return;
|
|
|
|
|
case UserSelectionPurpose::General:
|
|
|
|
|
default:
|
|
|
|
|
instruction_label->setText(tr("Select a user:"));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QtProfileSelector::QtProfileSelector(GMainWindow& parent) {
|
|
|
|
|
connect(this, &QtProfileSelector::MainWindowSelectProfile, &parent,
|
|
|
|
|
&GMainWindow::ProfileSelectorSelectProfile, Qt::QueuedConnection);
|
|
|
|
@ -170,9 +243,11 @@ void QtProfileSelector::Close() const {
|
|
|
|
|
emit MainWindowRequestExit();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void QtProfileSelector::SelectProfile(SelectProfileCallback callback_) const {
|
|
|
|
|
void QtProfileSelector::SelectProfile(
|
|
|
|
|
SelectProfileCallback callback_,
|
|
|
|
|
const Core::Frontend::ProfileSelectParameters& parameters) const {
|
|
|
|
|
callback = std::move(callback_);
|
|
|
|
|
emit MainWindowSelectProfile();
|
|
|
|
|
emit MainWindowSelectProfile(parameters);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void QtProfileSelector::MainWindowFinishedSelection(std::optional<Common::UUID> uuid) {
|
|
|
|
|