summaryrefslogtreecommitdiffstats
path: root/src/yuzu/configuration/configure_system.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-10-28 23:11:17 +0100
committerLioncash <mathew1800@gmail.com>2018-10-31 07:05:00 +0100
commita6830e61b885bb181cbf2f8add82fdd980221002 (patch)
tree2d0331eabb6bfc3fda0d2a4dbbcf1b9d1784a5e6 /src/yuzu/configuration/configure_system.cpp
parentMerge pull request #1607 from FearlessTobi/patch-3 (diff)
downloadyuzu-a6830e61b885bb181cbf2f8add82fdd980221002.tar
yuzu-a6830e61b885bb181cbf2f8add82fdd980221002.tar.gz
yuzu-a6830e61b885bb181cbf2f8add82fdd980221002.tar.bz2
yuzu-a6830e61b885bb181cbf2f8add82fdd980221002.tar.lz
yuzu-a6830e61b885bb181cbf2f8add82fdd980221002.tar.xz
yuzu-a6830e61b885bb181cbf2f8add82fdd980221002.tar.zst
yuzu-a6830e61b885bb181cbf2f8add82fdd980221002.zip
Diffstat (limited to 'src/yuzu/configuration/configure_system.cpp')
-rw-r--r--src/yuzu/configuration/configure_system.cpp43
1 files changed, 19 insertions, 24 deletions
diff --git a/src/yuzu/configuration/configure_system.cpp b/src/yuzu/configuration/configure_system.cpp
index 4b34c1e28..a9dbcd71b 100644
--- a/src/yuzu/configuration/configure_system.cpp
+++ b/src/yuzu/configuration/configure_system.cpp
@@ -6,20 +6,20 @@
#include <QFileDialog>
#include <QGraphicsItem>
#include <QGraphicsScene>
-#include <QInputDialog>
+#include <QHeaderView>
#include <QMessageBox>
#include <QStandardItemModel>
#include <QTreeView>
#include <QVBoxLayout>
-#include "common/common_paths.h"
-#include "common/logging/backend.h"
+#include "common/assert.h"
+#include "common/file_util.h"
#include "common/string_util.h"
#include "core/core.h"
#include "core/hle/service/acc/profile_manager.h"
#include "core/settings.h"
#include "ui_configure_system.h"
#include "yuzu/configuration/configure_system.h"
-#include "yuzu/main.h"
+#include "yuzu/util/limitable_input_dialog.h"
namespace {
constexpr std::array<int, 12> days_in_month = {{
@@ -83,6 +83,12 @@ QPixmap GetIcon(Service::Account::UUID uuid) {
return icon.scaled(64, 64, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
}
+
+QString GetProfileUsernameFromUser(QWidget* parent, const QString& description_text) {
+ return LimitableInputDialog::GetText(parent, ConfigureSystem::tr("Enter Username"),
+ description_text, 1,
+ static_cast<int>(Service::Account::profile_username_size));
+}
} // Anonymous namespace
ConfigureSystem::ConfigureSystem(QWidget* parent)
@@ -244,15 +250,13 @@ void ConfigureSystem::SelectUser(const QModelIndex& index) {
}
void ConfigureSystem::AddUser() {
- const auto uuid = Service::Account::UUID::Generate();
-
- bool ok = false;
const auto username =
- QInputDialog::getText(this, tr("Enter Username"), tr("Enter a username for the new user:"),
- QLineEdit::Normal, QString(), &ok);
- if (!ok)
+ GetProfileUsernameFromUser(this, tr("Enter a username for the new user:"));
+ if (username.isEmpty()) {
return;
+ }
+ const auto uuid = Service::Account::UUID::Generate();
profile_manager->CreateNewUser(uuid, username.toStdString());
item_model->appendRow(new QStandardItem{GetIcon(uuid), FormatUserEntryText(username, uuid)});
@@ -267,23 +271,14 @@ void ConfigureSystem::RenameUser() {
if (!profile_manager->GetProfileBase(*uuid, profile))
return;
- bool ok = false;
- const auto old_username = GetAccountUsername(*profile_manager, *uuid);
- const auto new_username =
- QInputDialog::getText(this, tr("Enter Username"), tr("Enter a new username:"),
- QLineEdit::Normal, old_username, &ok);
-
- if (!ok)
+ const auto new_username = GetProfileUsernameFromUser(this, tr("Enter a new username:"));
+ if (new_username.isEmpty()) {
return;
+ }
- std::fill(profile.username.begin(), profile.username.end(), '\0');
const auto username_std = new_username.toStdString();
- if (username_std.size() > profile.username.size()) {
- std::copy_n(username_std.begin(), std::min(profile.username.size(), username_std.size()),
- profile.username.begin());
- } else {
- std::copy(username_std.begin(), username_std.end(), profile.username.begin());
- }
+ std::fill(profile.username.begin(), profile.username.end(), '\0');
+ std::copy(username_std.begin(), username_std.end(), profile.username.begin());
profile_manager->SetProfileBase(*uuid, profile);