diff options
| -rw-r--r-- | src/yuzu/configuration/configure_system.cpp | 56 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_system.h | 35 | 
2 files changed, 46 insertions, 45 deletions
diff --git a/src/yuzu/configuration/configure_system.cpp b/src/yuzu/configuration/configure_system.cpp index 0bc307e99..20ffb0a9a 100644 --- a/src/yuzu/configuration/configure_system.cpp +++ b/src/yuzu/configuration/configure_system.cpp @@ -21,12 +21,8 @@  #include "yuzu/configuration/configure_system.h"  #include "yuzu/main.h" -static std::string GetImagePath(Service::Account::UUID uuid) { -    return FileUtil::GetUserPath(FileUtil::UserPath::NANDDir) + -           "/system/save/8000000000000010/su/avators/" + uuid.FormatSwitch() + ".jpg"; -} - -static const std::array<int, 12> days_in_month = {{ +namespace { +constexpr std::array<int, 12> days_in_month = {{      31,      29,      31, @@ -42,7 +38,7 @@ static const std::array<int, 12> days_in_month = {{  }};  // Same backup JPEG used by acc IProfile::GetImage if no jpeg found -static constexpr std::array<u8, 107> backup_jpeg{ +constexpr std::array<u8, 107> backup_jpeg{      0xff, 0xd8, 0xff, 0xdb, 0x00, 0x43, 0x00, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02,      0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x06, 0x06, 0x05,      0x06, 0x09, 0x08, 0x0a, 0x0a, 0x09, 0x08, 0x09, 0x09, 0x0a, 0x0c, 0x0f, 0x0c, 0x0a, 0x0b, 0x0e, @@ -52,15 +48,32 @@ static constexpr std::array<u8, 107> backup_jpeg{      0x01, 0x01, 0x00, 0x00, 0x3f, 0x00, 0xd2, 0xcf, 0x20, 0xff, 0xd9,  }; +std::string GetImagePath(Service::Account::UUID uuid) { +    return FileUtil::GetUserPath(FileUtil::UserPath::NANDDir) + +           "/system/save/8000000000000010/su/avators/" + uuid.FormatSwitch() + ".jpg"; +} + +std::string GetAccountUsername(const Service::Account::ProfileManager& manager, +                               Service::Account::UUID uuid) { +    Service::Account::ProfileBase profile; +    if (!manager.GetProfileBase(uuid, profile)) { +        return ""; +    } + +    return Common::StringFromFixedZeroTerminatedBuffer( +        reinterpret_cast<const char*>(profile.username.data()), profile.username.size()); +} +} // Anonymous namespace +  ConfigureSystem::ConfigureSystem(QWidget* parent)      : QWidget(parent), ui(new Ui::ConfigureSystem),        profile_manager(std::make_unique<Service::Account::ProfileManager>()) {      ui->setupUi(this);      connect(ui->combo_birthmonth,              static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, -            &ConfigureSystem::updateBirthdayComboBox); +            &ConfigureSystem::UpdateBirthdayComboBox);      connect(ui->button_regenerate_console_id, &QPushButton::clicked, this, -            &ConfigureSystem::refreshConsoleID); +            &ConfigureSystem::RefreshConsoleID);      layout = new QVBoxLayout;      tree_view = new QTreeView; @@ -154,7 +167,7 @@ void ConfigureSystem::UpdateCurrentUser() {      const auto& current_user = profile_manager->GetUser(Settings::values.current_user);      ASSERT(current_user != std::nullopt); -    const auto username = GetAccountUsername(*current_user); +    const auto username = GetAccountUsername(*profile_manager, *current_user);      scene->clear();      scene->addPixmap( @@ -164,14 +177,6 @@ void ConfigureSystem::UpdateCurrentUser() {  void ConfigureSystem::ReadSystemSettings() {} -std::string ConfigureSystem::GetAccountUsername(Service::Account::UUID uuid) const { -    Service::Account::ProfileBase profile; -    if (!profile_manager->GetProfileBase(uuid, profile)) -        return ""; -    return Common::StringFromFixedZeroTerminatedBuffer( -        reinterpret_cast<const char*>(profile.username.data()), profile.username.size()); -} -  void ConfigureSystem::applyConfiguration() {      if (!enabled)          return; @@ -180,7 +185,7 @@ void ConfigureSystem::applyConfiguration() {      Settings::Apply();  } -void ConfigureSystem::updateBirthdayComboBox(int birthmonth_index) { +void ConfigureSystem::UpdateBirthdayComboBox(int birthmonth_index) {      if (birthmonth_index < 0 || birthmonth_index >= 12)          return; @@ -205,7 +210,7 @@ void ConfigureSystem::updateBirthdayComboBox(int birthmonth_index) {      ui->combo_birthday->setCurrentIndex(birthday_index);  } -void ConfigureSystem::refreshConsoleID() { +void ConfigureSystem::RefreshConsoleID() {      QMessageBox::StandardButton reply;      QString warning_text = tr("This will replace your current virtual Switch with a new one. "                                "Your current virtual Switch will not be recoverable. " @@ -232,8 +237,7 @@ void ConfigureSystem::SelectUser(const QModelIndex& index) {  }  void ConfigureSystem::AddUser() { -    Service::Account::UUID uuid; -    uuid.Generate(); +    const auto uuid = Service::Account::UUID::Generate();      bool ok = false;      const auto username = @@ -253,7 +257,7 @@ void ConfigureSystem::RenameUser() {      const auto user = tree_view->currentIndex().row();      const auto uuid = profile_manager->GetUser(user);      ASSERT(uuid != std::nullopt); -    const auto username = GetAccountUsername(*uuid); +    const auto username = GetAccountUsername(*profile_manager, *uuid);      Service::Account::ProfileBase profile;      if (!profile_manager->GetProfileBase(*uuid, profile)) @@ -293,7 +297,7 @@ void ConfigureSystem::DeleteUser() {      const auto index = tree_view->currentIndex().row();      const auto uuid = profile_manager->GetUser(index);      ASSERT(uuid != std::nullopt); -    const auto username = GetAccountUsername(*uuid); +    const auto username = GetAccountUsername(*profile_manager, *uuid);      const auto confirm =          QMessageBox::question(this, tr("Confirm Delete"), @@ -321,10 +325,10 @@ void ConfigureSystem::SetUserImage() {      const auto index = tree_view->currentIndex().row();      const auto uuid = profile_manager->GetUser(index);      ASSERT(uuid != std::nullopt); -    const auto username = GetAccountUsername(*uuid); +    const auto username = GetAccountUsername(*profile_manager, *uuid);      const auto file = QFileDialog::getOpenFileName(this, tr("Select User Image"), QString(), -                                                   "JPEG Images (*.jpg *.jpeg)"); +                                                   tr("JPEG Images (*.jpg *.jpeg)"));      if (file.isEmpty())          return; diff --git a/src/yuzu/configuration/configure_system.h b/src/yuzu/configuration/configure_system.h index b73e0719c..07764e1f7 100644 --- a/src/yuzu/configuration/configure_system.h +++ b/src/yuzu/configuration/configure_system.h @@ -9,17 +9,16 @@  #include <QList>  #include <QWidget> -namespace Service::Account { -class ProfileManager; -struct UUID; -} // namespace Service::Account -  class QGraphicsScene;  class QStandardItem;  class QStandardItemModel;  class QTreeView;  class QVBoxLayout; +namespace Service::Account { +class ProfileManager; +} +  namespace Ui {  class ConfigureSystem;  } @@ -29,28 +28,25 @@ class ConfigureSystem : public QWidget {  public:      explicit ConfigureSystem(QWidget* parent = nullptr); -    ~ConfigureSystem(); +    ~ConfigureSystem() override;      void applyConfiguration();      void setConfiguration(); -    void PopulateUserList(); -    void UpdateCurrentUser(); +private: +    void ReadSystemSettings(); -public slots: -    void updateBirthdayComboBox(int birthmonth_index); -    void refreshConsoleID(); +    void UpdateBirthdayComboBox(int birthmonth_index); +    void RefreshConsoleID(); +    void PopulateUserList(); +    void UpdateCurrentUser();      void SelectUser(const QModelIndex& index);      void AddUser();      void RenameUser();      void DeleteUser();      void SetUserImage(); -private: -    void ReadSystemSettings(); -    std::string GetAccountUsername(Service::Account::UUID uuid) const; -      QVBoxLayout* layout;      QTreeView* tree_view;      QStandardItemModel* item_model; @@ -59,11 +55,12 @@ private:      std::vector<QList<QStandardItem*>> list_items;      std::unique_ptr<Ui::ConfigureSystem> ui; -    bool enabled; +    bool enabled = false; -    int birthmonth, birthday; -    int language_index; -    int sound_index; +    int birthmonth = 0; +    int birthday = 0; +    int language_index = 0; +    int sound_index = 0;      std::unique_ptr<Service::Account::ProfileManager> profile_manager;  };  | 
