summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Zach Hilman2019-06-07 21:46:08 -0400
committerGravatar GitHub2019-06-07 21:46:08 -0400
commitac54f1a967bdafc98e1c38c855b9891a6343f720 (patch)
tree2d95bfb3c5e6812eed265cfc331bdcde0e1329ea /src
parentMerge pull request #2293 from DarkLordZach/system-constants (diff)
parentyuzu/configuration: Make all widgets and dialogs aware of language changes (diff)
downloadyuzu-ac54f1a967bdafc98e1c38c855b9891a6343f720.tar.gz
yuzu-ac54f1a967bdafc98e1c38c855b9891a6343f720.tar.xz
yuzu-ac54f1a967bdafc98e1c38c855b9891a6343f720.zip
Merge pull request #2553 from lioncash/language
yuzu/configuration: Make all widgets and dialogs aware of language changes
Diffstat (limited to 'src')
-rw-r--r--src/yuzu/configuration/configure_audio.cpp33
-rw-r--r--src/yuzu/configuration/configure_audio.h7
-rw-r--r--src/yuzu/configuration/configure_debug.cpp12
-rw-r--r--src/yuzu/configuration/configure_debug.h3
-rw-r--r--src/yuzu/configuration/configure_dialog.cpp60
-rw-r--r--src/yuzu/configuration/configure_dialog.h4
-rw-r--r--src/yuzu/configuration/configure_gamelist.cpp1
-rw-r--r--src/yuzu/configuration/configure_general.cpp12
-rw-r--r--src/yuzu/configuration/configure_general.h3
-rw-r--r--src/yuzu/configuration/configure_graphics.cpp12
-rw-r--r--src/yuzu/configuration/configure_graphics.h3
-rw-r--r--src/yuzu/configuration/configure_hotkeys.cpp21
-rw-r--r--src/yuzu/configuration/configure_hotkeys.h4
-rw-r--r--src/yuzu/configuration/configure_input.cpp46
-rw-r--r--src/yuzu/configuration/configure_input.h6
-rw-r--r--src/yuzu/configuration/configure_input_player.cpp13
-rw-r--r--src/yuzu/configuration/configure_input_player.h3
-rw-r--r--src/yuzu/configuration/configure_input_simple.cpp12
-rw-r--r--src/yuzu/configuration/configure_input_simple.h3
-rw-r--r--src/yuzu/configuration/configure_mouse_advanced.cpp12
-rw-r--r--src/yuzu/configuration/configure_mouse_advanced.h3
-rw-r--r--src/yuzu/configuration/configure_per_general.cpp12
-rw-r--r--src/yuzu/configuration/configure_per_general.h3
-rw-r--r--src/yuzu/configuration/configure_profile_manager.cpp21
-rw-r--r--src/yuzu/configuration/configure_profile_manager.h3
-rw-r--r--src/yuzu/configuration/configure_system.cpp12
-rw-r--r--src/yuzu/configuration/configure_system.h3
-rw-r--r--src/yuzu/configuration/configure_touchscreen_advanced.cpp12
-rw-r--r--src/yuzu/configuration/configure_touchscreen_advanced.h3
-rw-r--r--src/yuzu/configuration/configure_web.cpp38
-rw-r--r--src/yuzu/configuration/configure_web.h4
31 files changed, 326 insertions, 58 deletions
diff --git a/src/yuzu/configuration/configure_audio.cpp b/src/yuzu/configuration/configure_audio.cpp
index 110842eb2..f370c690f 100644
--- a/src/yuzu/configuration/configure_audio.cpp
+++ b/src/yuzu/configuration/configure_audio.cpp
@@ -4,6 +4,8 @@
4 4
5#include <memory> 5#include <memory>
6 6
7#include <QSignalBlocker>
8
7#include "audio_core/sink.h" 9#include "audio_core/sink.h"
8#include "audio_core/sink_details.h" 10#include "audio_core/sink_details.h"
9#include "core/core.h" 11#include "core/core.h"
@@ -15,19 +17,15 @@ ConfigureAudio::ConfigureAudio(QWidget* parent)
15 : QWidget(parent), ui(std::make_unique<Ui::ConfigureAudio>()) { 17 : QWidget(parent), ui(std::make_unique<Ui::ConfigureAudio>()) {
16 ui->setupUi(this); 18 ui->setupUi(this);
17 19
18 ui->output_sink_combo_box->clear(); 20 InitializeAudioOutputSinkComboBox();
19 ui->output_sink_combo_box->addItem(QString::fromUtf8(AudioCore::auto_device_name));
20 for (const char* id : AudioCore::GetSinkIDs()) {
21 ui->output_sink_combo_box->addItem(QString::fromUtf8(id));
22 }
23 21
24 connect(ui->volume_slider, &QSlider::valueChanged, this, 22 connect(ui->volume_slider, &QSlider::valueChanged, this,
25 &ConfigureAudio::SetVolumeIndicatorText); 23 &ConfigureAudio::SetVolumeIndicatorText);
26
27 SetConfiguration();
28 connect(ui->output_sink_combo_box, qOverload<int>(&QComboBox::currentIndexChanged), this, 24 connect(ui->output_sink_combo_box, qOverload<int>(&QComboBox::currentIndexChanged), this,
29 &ConfigureAudio::UpdateAudioDevices); 25 &ConfigureAudio::UpdateAudioDevices);
30 26
27 SetConfiguration();
28
31 const bool is_powered_on = Core::System::GetInstance().IsPoweredOn(); 29 const bool is_powered_on = Core::System::GetInstance().IsPoweredOn();
32 ui->output_sink_combo_box->setEnabled(!is_powered_on); 30 ui->output_sink_combo_box->setEnabled(!is_powered_on);
33 ui->audio_device_combo_box->setEnabled(!is_powered_on); 31 ui->audio_device_combo_box->setEnabled(!is_powered_on);
@@ -49,8 +47,9 @@ void ConfigureAudio::SetConfiguration() {
49} 47}
50 48
51void ConfigureAudio::SetOutputSinkFromSinkID() { 49void ConfigureAudio::SetOutputSinkFromSinkID() {
52 int new_sink_index = 0; 50 [[maybe_unused]] const QSignalBlocker blocker(ui->output_sink_combo_box);
53 51
52 int new_sink_index = 0;
54 const QString sink_id = QString::fromStdString(Settings::values.sink_id); 53 const QString sink_id = QString::fromStdString(Settings::values.sink_id);
55 for (int index = 0; index < ui->output_sink_combo_box->count(); index++) { 54 for (int index = 0; index < ui->output_sink_combo_box->count(); index++) {
56 if (ui->output_sink_combo_box->itemText(index) == sink_id) { 55 if (ui->output_sink_combo_box->itemText(index) == sink_id) {
@@ -92,6 +91,14 @@ void ConfigureAudio::ApplyConfiguration() {
92 static_cast<float>(ui->volume_slider->sliderPosition()) / ui->volume_slider->maximum(); 91 static_cast<float>(ui->volume_slider->sliderPosition()) / ui->volume_slider->maximum();
93} 92}
94 93
94void ConfigureAudio::changeEvent(QEvent* event) {
95 if (event->type() == QEvent::LanguageChange) {
96 RetranslateUI();
97 }
98
99 QWidget::changeEvent(event);
100}
101
95void ConfigureAudio::UpdateAudioDevices(int sink_index) { 102void ConfigureAudio::UpdateAudioDevices(int sink_index) {
96 ui->audio_device_combo_box->clear(); 103 ui->audio_device_combo_box->clear();
97 ui->audio_device_combo_box->addItem(QString::fromUtf8(AudioCore::auto_device_name)); 104 ui->audio_device_combo_box->addItem(QString::fromUtf8(AudioCore::auto_device_name));
@@ -102,6 +109,16 @@ void ConfigureAudio::UpdateAudioDevices(int sink_index) {
102 } 109 }
103} 110}
104 111
112void ConfigureAudio::InitializeAudioOutputSinkComboBox() {
113 ui->output_sink_combo_box->clear();
114 ui->output_sink_combo_box->addItem(QString::fromUtf8(AudioCore::auto_device_name));
115
116 for (const char* id : AudioCore::GetSinkIDs()) {
117 ui->output_sink_combo_box->addItem(QString::fromUtf8(id));
118 }
119}
120
105void ConfigureAudio::RetranslateUI() { 121void ConfigureAudio::RetranslateUI() {
106 ui->retranslateUi(this); 122 ui->retranslateUi(this);
123 SetVolumeIndicatorText(ui->volume_slider->sliderPosition());
107} 124}
diff --git a/src/yuzu/configuration/configure_audio.h b/src/yuzu/configuration/configure_audio.h
index 2bb92d9b5..ea83bd72d 100644
--- a/src/yuzu/configuration/configure_audio.h
+++ b/src/yuzu/configuration/configure_audio.h
@@ -19,9 +19,14 @@ public:
19 ~ConfigureAudio() override; 19 ~ConfigureAudio() override;
20 20
21 void ApplyConfiguration(); 21 void ApplyConfiguration();
22 void RetranslateUI();
23 22
24private: 23private:
24 void changeEvent(QEvent* event) override;
25
26 void InitializeAudioOutputSinkComboBox();
27
28 void RetranslateUI();
29
25 void UpdateAudioDevices(int sink_index); 30 void UpdateAudioDevices(int sink_index);
26 31
27 void SetConfiguration(); 32 void SetConfiguration();
diff --git a/src/yuzu/configuration/configure_debug.cpp b/src/yuzu/configuration/configure_debug.cpp
index afc2e3b38..efc2bedfd 100644
--- a/src/yuzu/configuration/configure_debug.cpp
+++ b/src/yuzu/configuration/configure_debug.cpp
@@ -51,3 +51,15 @@ void ConfigureDebug::ApplyConfiguration() {
51 filter.ParseFilterString(Settings::values.log_filter); 51 filter.ParseFilterString(Settings::values.log_filter);
52 Log::SetGlobalFilter(filter); 52 Log::SetGlobalFilter(filter);
53} 53}
54
55void ConfigureDebug::changeEvent(QEvent* event) {
56 if (event->type() == QEvent::LanguageChange) {
57 RetranslateUI();
58 }
59
60 QWidget::changeEvent(event);
61}
62
63void ConfigureDebug::RetranslateUI() {
64 ui->retranslateUi(this);
65}
diff --git a/src/yuzu/configuration/configure_debug.h b/src/yuzu/configuration/configure_debug.h
index 06b89026c..f4805a1d8 100644
--- a/src/yuzu/configuration/configure_debug.h
+++ b/src/yuzu/configuration/configure_debug.h
@@ -21,6 +21,9 @@ public:
21 void ApplyConfiguration(); 21 void ApplyConfiguration();
22 22
23private: 23private:
24 void changeEvent(QEvent* event) override;
25
26 void RetranslateUI();
24 void SetConfiguration(); 27 void SetConfiguration();
25 28
26 std::unique_ptr<Ui::ConfigureDebug> ui; 29 std::unique_ptr<Ui::ConfigureDebug> ui;
diff --git a/src/yuzu/configuration/configure_dialog.cpp b/src/yuzu/configuration/configure_dialog.cpp
index a1b1e00bc..e636964e3 100644
--- a/src/yuzu/configuration/configure_dialog.cpp
+++ b/src/yuzu/configuration/configure_dialog.cpp
@@ -4,6 +4,7 @@
4 4
5#include <QHash> 5#include <QHash>
6#include <QListWidgetItem> 6#include <QListWidgetItem>
7#include <QSignalBlocker>
7#include "core/settings.h" 8#include "core/settings.h"
8#include "ui_configure.h" 9#include "ui_configure.h"
9#include "yuzu/configuration/config.h" 10#include "yuzu/configuration/config.h"
@@ -46,13 +47,38 @@ void ConfigureDialog::ApplyConfiguration() {
46 Settings::LogSettings(); 47 Settings::LogSettings();
47} 48}
48 49
50void ConfigureDialog::changeEvent(QEvent* event) {
51 if (event->type() == QEvent::LanguageChange) {
52 RetranslateUI();
53 }
54
55 QDialog::changeEvent(event);
56}
57
58void ConfigureDialog::RetranslateUI() {
59 const int old_row = ui->selectorList->currentRow();
60 const int old_index = ui->tabWidget->currentIndex();
61
62 ui->retranslateUi(this);
63
64 PopulateSelectionList();
65 ui->selectorList->setCurrentRow(old_row);
66
67 UpdateVisibleTabs();
68 ui->tabWidget->setCurrentIndex(old_index);
69}
70
49void ConfigureDialog::PopulateSelectionList() { 71void ConfigureDialog::PopulateSelectionList() {
50 const std::array<std::pair<QString, QStringList>, 4> items{ 72 const std::array<std::pair<QString, QStringList>, 4> items{
51 {{tr("General"), {tr("General"), tr("Web"), tr("Debug"), tr("Game List")}}, 73 {{tr("General"), {tr("General"), tr("Web"), tr("Debug"), tr("Game List")}},
52 {tr("System"), {tr("System"), tr("Profiles"), tr("Audio")}}, 74 {tr("System"), {tr("System"), tr("Profiles"), tr("Audio")}},
53 {tr("Graphics"), {tr("Graphics")}}, 75 {tr("Graphics"), {tr("Graphics")}},
54 {tr("Controls"), {tr("Input"), tr("Hotkeys")}}}}; 76 {tr("Controls"), {tr("Input"), tr("Hotkeys")}}},
77 };
55 78
79 [[maybe_unused]] const QSignalBlocker blocker(ui->selectorList);
80
81 ui->selectorList->clear();
56 for (const auto& entry : items) { 82 for (const auto& entry : items) {
57 auto* const item = new QListWidgetItem(entry.first); 83 auto* const item = new QListWidgetItem(entry.first);
58 item->setData(Qt::UserRole, entry.second); 84 item->setData(Qt::UserRole, entry.second);
@@ -63,24 +89,28 @@ void ConfigureDialog::PopulateSelectionList() {
63 89
64void ConfigureDialog::UpdateVisibleTabs() { 90void ConfigureDialog::UpdateVisibleTabs() {
65 const auto items = ui->selectorList->selectedItems(); 91 const auto items = ui->selectorList->selectedItems();
66 if (items.isEmpty()) 92 if (items.isEmpty()) {
67 return; 93 return;
94 }
68 95
69 const std::map<QString, QWidget*> widgets = {{tr("General"), ui->generalTab}, 96 const std::map<QString, QWidget*> widgets = {
70 {tr("System"), ui->systemTab}, 97 {tr("General"), ui->generalTab},
71 {tr("Profiles"), ui->profileManagerTab}, 98 {tr("System"), ui->systemTab},
72 {tr("Input"), ui->inputTab}, 99 {tr("Profiles"), ui->profileManagerTab},
73 {tr("Hotkeys"), ui->hotkeysTab}, 100 {tr("Input"), ui->inputTab},
74 {tr("Graphics"), ui->graphicsTab}, 101 {tr("Hotkeys"), ui->hotkeysTab},
75 {tr("Audio"), ui->audioTab}, 102 {tr("Graphics"), ui->graphicsTab},
76 {tr("Debug"), ui->debugTab}, 103 {tr("Audio"), ui->audioTab},
77 {tr("Web"), ui->webTab}, 104 {tr("Debug"), ui->debugTab},
78 {tr("Game List"), ui->gameListTab}}; 105 {tr("Web"), ui->webTab},
106 {tr("Game List"), ui->gameListTab},
107 };
108
109 [[maybe_unused]] const QSignalBlocker blocker(ui->tabWidget);
79 110
80 ui->tabWidget->clear(); 111 ui->tabWidget->clear();
81
82 const QStringList tabs = items[0]->data(Qt::UserRole).toStringList(); 112 const QStringList tabs = items[0]->data(Qt::UserRole).toStringList();
83 113 for (const auto& tab : tabs) {
84 for (const auto& tab : tabs)
85 ui->tabWidget->addTab(widgets.find(tab)->second, tab); 114 ui->tabWidget->addTab(widgets.find(tab)->second, tab);
115 }
86} 116}
diff --git a/src/yuzu/configuration/configure_dialog.h b/src/yuzu/configuration/configure_dialog.h
index 7e7d90f59..2d3bfc2da 100644
--- a/src/yuzu/configuration/configure_dialog.h
+++ b/src/yuzu/configuration/configure_dialog.h
@@ -23,6 +23,10 @@ public:
23 void ApplyConfiguration(); 23 void ApplyConfiguration();
24 24
25private: 25private:
26 void changeEvent(QEvent* event) override;
27
28 void RetranslateUI();
29
26 void SetConfiguration(); 30 void SetConfiguration();
27 void UpdateVisibleTabs(); 31 void UpdateVisibleTabs();
28 void PopulateSelectionList(); 32 void PopulateSelectionList();
diff --git a/src/yuzu/configuration/configure_gamelist.cpp b/src/yuzu/configuration/configure_gamelist.cpp
index 4b5b0ee48..d1724ba89 100644
--- a/src/yuzu/configuration/configure_gamelist.cpp
+++ b/src/yuzu/configuration/configure_gamelist.cpp
@@ -77,7 +77,6 @@ void ConfigureGameList::SetConfiguration() {
77void ConfigureGameList::changeEvent(QEvent* event) { 77void ConfigureGameList::changeEvent(QEvent* event) {
78 if (event->type() == QEvent::LanguageChange) { 78 if (event->type() == QEvent::LanguageChange) {
79 RetranslateUI(); 79 RetranslateUI();
80 return;
81 } 80 }
82 81
83 QWidget::changeEvent(event); 82 QWidget::changeEvent(event);
diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp
index 8bdc1787a..06d368dfc 100644
--- a/src/yuzu/configuration/configure_general.cpp
+++ b/src/yuzu/configuration/configure_general.cpp
@@ -45,3 +45,15 @@ void ConfigureGeneral::ApplyConfiguration() {
45 45
46 Settings::values.use_cpu_jit = ui->use_cpu_jit->isChecked(); 46 Settings::values.use_cpu_jit = ui->use_cpu_jit->isChecked();
47} 47}
48
49void ConfigureGeneral::changeEvent(QEvent* event) {
50 if (event->type() == QEvent::LanguageChange) {
51 RetranslateUI();
52 }
53
54 QWidget::changeEvent(event);
55}
56
57void ConfigureGeneral::RetranslateUI() {
58 ui->retranslateUi(this);
59}
diff --git a/src/yuzu/configuration/configure_general.h b/src/yuzu/configuration/configure_general.h
index fd5fd2a91..ef05ce065 100644
--- a/src/yuzu/configuration/configure_general.h
+++ b/src/yuzu/configuration/configure_general.h
@@ -23,6 +23,9 @@ public:
23 void ApplyConfiguration(); 23 void ApplyConfiguration();
24 24
25private: 25private:
26 void changeEvent(QEvent* event) override;
27 void RetranslateUI();
28
26 void SetConfiguration(); 29 void SetConfiguration();
27 30
28 std::unique_ptr<Ui::ConfigureGeneral> ui; 31 std::unique_ptr<Ui::ConfigureGeneral> ui;
diff --git a/src/yuzu/configuration/configure_graphics.cpp b/src/yuzu/configuration/configure_graphics.cpp
index 902ef5cd4..2b17b250c 100644
--- a/src/yuzu/configuration/configure_graphics.cpp
+++ b/src/yuzu/configuration/configure_graphics.cpp
@@ -101,6 +101,18 @@ void ConfigureGraphics::ApplyConfiguration() {
101 Settings::values.bg_blue = static_cast<float>(bg_color.blueF()); 101 Settings::values.bg_blue = static_cast<float>(bg_color.blueF());
102} 102}
103 103
104void ConfigureGraphics::changeEvent(QEvent* event) {
105 if (event->type() == QEvent::LanguageChange) {
106 RetranslateUI();
107 }
108
109 QWidget::changeEvent(event);
110}
111
112void ConfigureGraphics::RetranslateUI() {
113 ui->retranslateUi(this);
114}
115
104void ConfigureGraphics::UpdateBackgroundColorButton(QColor color) { 116void ConfigureGraphics::UpdateBackgroundColorButton(QColor color) {
105 bg_color = color; 117 bg_color = color;
106 118
diff --git a/src/yuzu/configuration/configure_graphics.h b/src/yuzu/configuration/configure_graphics.h
index 6b3c39705..fae28d98e 100644
--- a/src/yuzu/configuration/configure_graphics.h
+++ b/src/yuzu/configuration/configure_graphics.h
@@ -21,6 +21,9 @@ public:
21 void ApplyConfiguration(); 21 void ApplyConfiguration();
22 22
23private: 23private:
24 void changeEvent(QEvent* event) override;
25 void RetranslateUI();
26
24 void SetConfiguration(); 27 void SetConfiguration();
25 28
26 void UpdateBackgroundColorButton(QColor color); 29 void UpdateBackgroundColorButton(QColor color);
diff --git a/src/yuzu/configuration/configure_hotkeys.cpp b/src/yuzu/configuration/configure_hotkeys.cpp
index 04119e9d7..3ea0b8d67 100644
--- a/src/yuzu/configuration/configure_hotkeys.cpp
+++ b/src/yuzu/configuration/configure_hotkeys.cpp
@@ -17,7 +17,6 @@ ConfigureHotkeys::ConfigureHotkeys(QWidget* parent)
17 17
18 model = new QStandardItemModel(this); 18 model = new QStandardItemModel(this);
19 model->setColumnCount(3); 19 model->setColumnCount(3);
20 model->setHorizontalHeaderLabels({tr("Action"), tr("Hotkey"), tr("Context")});
21 20
22 connect(ui->hotkey_list, &QTreeView::doubleClicked, this, &ConfigureHotkeys::Configure); 21 connect(ui->hotkey_list, &QTreeView::doubleClicked, this, &ConfigureHotkeys::Configure);
23 ui->hotkey_list->setModel(model); 22 ui->hotkey_list->setModel(model);
@@ -27,6 +26,8 @@ ConfigureHotkeys::ConfigureHotkeys(QWidget* parent)
27 26
28 ui->hotkey_list->setColumnWidth(0, 200); 27 ui->hotkey_list->setColumnWidth(0, 200);
29 ui->hotkey_list->resizeColumnToContents(1); 28 ui->hotkey_list->resizeColumnToContents(1);
29
30 RetranslateUI();
30} 31}
31 32
32ConfigureHotkeys::~ConfigureHotkeys() = default; 33ConfigureHotkeys::~ConfigureHotkeys() = default;
@@ -49,6 +50,20 @@ void ConfigureHotkeys::Populate(const HotkeyRegistry& registry) {
49 ui->hotkey_list->expandAll(); 50 ui->hotkey_list->expandAll();
50} 51}
51 52
53void ConfigureHotkeys::changeEvent(QEvent* event) {
54 if (event->type() == QEvent::LanguageChange) {
55 RetranslateUI();
56 }
57
58 QWidget::changeEvent(event);
59}
60
61void ConfigureHotkeys::RetranslateUI() {
62 ui->retranslateUi(this);
63
64 model->setHorizontalHeaderLabels({tr("Action"), tr("Hotkey"), tr("Context")});
65}
66
52void ConfigureHotkeys::Configure(QModelIndex index) { 67void ConfigureHotkeys::Configure(QModelIndex index) {
53 if (!index.parent().isValid()) { 68 if (!index.parent().isValid()) {
54 return; 69 return;
@@ -112,7 +127,3 @@ void ConfigureHotkeys::ApplyConfiguration(HotkeyRegistry& registry) {
112 127
113 registry.SaveHotkeys(); 128 registry.SaveHotkeys();
114} 129}
115
116void ConfigureHotkeys::RetranslateUI() {
117 ui->retranslateUi(this);
118}
diff --git a/src/yuzu/configuration/configure_hotkeys.h b/src/yuzu/configuration/configure_hotkeys.h
index a1f4c7134..8f8c6173b 100644
--- a/src/yuzu/configuration/configure_hotkeys.h
+++ b/src/yuzu/configuration/configure_hotkeys.h
@@ -22,7 +22,6 @@ public:
22 ~ConfigureHotkeys() override; 22 ~ConfigureHotkeys() override;
23 23
24 void ApplyConfiguration(HotkeyRegistry& registry); 24 void ApplyConfiguration(HotkeyRegistry& registry);
25 void RetranslateUI();
26 25
27 /** 26 /**
28 * Populates the hotkey list widget using data from the provided registry. 27 * Populates the hotkey list widget using data from the provided registry.
@@ -32,6 +31,9 @@ public:
32 void Populate(const HotkeyRegistry& registry); 31 void Populate(const HotkeyRegistry& registry);
33 32
34private: 33private:
34 void changeEvent(QEvent* event) override;
35 void RetranslateUI();
36
35 void Configure(QModelIndex index); 37 void Configure(QModelIndex index);
36 bool IsUsedKey(QKeySequence key_sequence) const; 38 bool IsUsedKey(QKeySequence key_sequence) const;
37 39
diff --git a/src/yuzu/configuration/configure_input.cpp b/src/yuzu/configuration/configure_input.cpp
index fb1210bcb..4dd775aab 100644
--- a/src/yuzu/configuration/configure_input.cpp
+++ b/src/yuzu/configuration/configure_input.cpp
@@ -5,6 +5,7 @@
5#include <algorithm> 5#include <algorithm>
6#include <memory> 6#include <memory>
7 7
8#include <QSignalBlocker>
8#include <QTimer> 9#include <QTimer>
9 10
10#include "configuration/configure_touchscreen_advanced.h" 11#include "configuration/configure_touchscreen_advanced.h"
@@ -74,11 +75,7 @@ ConfigureInput::ConfigureInput(QWidget* parent)
74 ui->player5_configure, ui->player6_configure, ui->player7_configure, ui->player8_configure, 75 ui->player5_configure, ui->player6_configure, ui->player7_configure, ui->player8_configure,
75 }; 76 };
76 77
77 for (auto* controller_box : players_controller) { 78 RetranslateUI();
78 controller_box->addItems({tr("None"), tr("Pro Controller"), tr("Dual Joycons"),
79 tr("Single Right Joycon"), tr("Single Left Joycon")});
80 }
81
82 LoadConfiguration(); 79 LoadConfiguration();
83 UpdateUIEnabled(); 80 UpdateUIEnabled();
84 81
@@ -144,6 +141,31 @@ void ConfigureInput::ApplyConfiguration() {
144 Settings::values.touchscreen.enabled = ui->touchscreen_enabled->isChecked(); 141 Settings::values.touchscreen.enabled = ui->touchscreen_enabled->isChecked();
145} 142}
146 143
144void ConfigureInput::changeEvent(QEvent* event) {
145 if (event->type() == QEvent::LanguageChange) {
146 RetranslateUI();
147 }
148
149 QDialog::changeEvent(event);
150}
151
152void ConfigureInput::RetranslateUI() {
153 ui->retranslateUi(this);
154 RetranslateControllerComboBoxes();
155}
156
157void ConfigureInput::RetranslateControllerComboBoxes() {
158 for (auto* controller_box : players_controller) {
159 [[maybe_unused]] const QSignalBlocker blocker(controller_box);
160
161 controller_box->clear();
162 controller_box->addItems({tr("None"), tr("Pro Controller"), tr("Dual Joycons"),
163 tr("Single Right Joycon"), tr("Single Left Joycon")});
164 }
165
166 LoadPlayerControllerIndices();
167}
168
147void ConfigureInput::UpdateUIEnabled() { 169void ConfigureInput::UpdateUIEnabled() {
148 bool hit_disabled = false; 170 bool hit_disabled = false;
149 for (auto* player : players_controller) { 171 for (auto* player : players_controller) {
@@ -175,11 +197,7 @@ void ConfigureInput::LoadConfiguration() {
175 Service::HID::Controller_NPad::NPadIdToIndex(Service::HID::NPAD_HANDHELD), 197 Service::HID::Controller_NPad::NPadIdToIndex(Service::HID::NPAD_HANDHELD),
176 [](const auto& player) { return player.connected; }); 198 [](const auto& player) { return player.connected; });
177 199
178 for (std::size_t i = 0; i < players_controller.size(); ++i) { 200 LoadPlayerControllerIndices();
179 const auto connected = Settings::values.players[i].connected;
180 players_controller[i]->setCurrentIndex(
181 connected ? static_cast<u8>(Settings::values.players[i].type) + 1 : 0);
182 }
183 201
184 ui->use_docked_mode->setChecked(Settings::values.use_docked_mode); 202 ui->use_docked_mode->setChecked(Settings::values.use_docked_mode);
185 ui->handheld_connected->setChecked( 203 ui->handheld_connected->setChecked(
@@ -194,6 +212,14 @@ void ConfigureInput::LoadConfiguration() {
194 UpdateUIEnabled(); 212 UpdateUIEnabled();
195} 213}
196 214
215void ConfigureInput::LoadPlayerControllerIndices() {
216 for (std::size_t i = 0; i < players_controller.size(); ++i) {
217 const auto connected = Settings::values.players[i].connected;
218 players_controller[i]->setCurrentIndex(
219 connected ? static_cast<u8>(Settings::values.players[i].type) + 1 : 0);
220 }
221}
222
197void ConfigureInput::RestoreDefaults() { 223void ConfigureInput::RestoreDefaults() {
198 players_controller[0]->setCurrentIndex(2); 224 players_controller[0]->setCurrentIndex(2);
199 225
diff --git a/src/yuzu/configuration/configure_input.h b/src/yuzu/configuration/configure_input.h
index 6a2125215..2f70cb3ca 100644
--- a/src/yuzu/configuration/configure_input.h
+++ b/src/yuzu/configuration/configure_input.h
@@ -33,10 +33,16 @@ public:
33 void ApplyConfiguration(); 33 void ApplyConfiguration();
34 34
35private: 35private:
36 void changeEvent(QEvent* event) override;
37 void RetranslateUI();
38 void RetranslateControllerComboBoxes();
39
36 void UpdateUIEnabled(); 40 void UpdateUIEnabled();
37 41
38 /// Load configuration settings. 42 /// Load configuration settings.
39 void LoadConfiguration(); 43 void LoadConfiguration();
44 void LoadPlayerControllerIndices();
45
40 /// Restore all buttons to their default values. 46 /// Restore all buttons to their default values.
41 void RestoreDefaults(); 47 void RestoreDefaults();
42 48
diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp
index 32d2a6815..916baccc1 100644
--- a/src/yuzu/configuration/configure_input_player.cpp
+++ b/src/yuzu/configuration/configure_input_player.cpp
@@ -373,6 +373,19 @@ void ConfigureInputPlayer::ApplyConfiguration() {
373 Settings::values.players[player_index].button_color_right = colors[3]; 373 Settings::values.players[player_index].button_color_right = colors[3];
374} 374}
375 375
376void ConfigureInputPlayer::changeEvent(QEvent* event) {
377 if (event->type() == QEvent::LanguageChange) {
378 RetranslateUI();
379 }
380
381 QDialog::changeEvent(event);
382}
383
384void ConfigureInputPlayer::RetranslateUI() {
385 ui->retranslateUi(this);
386 UpdateButtonLabels();
387}
388
376void ConfigureInputPlayer::OnControllerButtonClick(int i) { 389void ConfigureInputPlayer::OnControllerButtonClick(int i) {
377 const QColor new_bg_color = QColorDialog::getColor(controller_colors[i]); 390 const QColor new_bg_color = QColorDialog::getColor(controller_colors[i]);
378 if (!new_bg_color.isValid()) 391 if (!new_bg_color.isValid())
diff --git a/src/yuzu/configuration/configure_input_player.h b/src/yuzu/configuration/configure_input_player.h
index 27924fcce..c66027651 100644
--- a/src/yuzu/configuration/configure_input_player.h
+++ b/src/yuzu/configuration/configure_input_player.h
@@ -41,6 +41,9 @@ public:
41 void ApplyConfiguration(); 41 void ApplyConfiguration();
42 42
43private: 43private:
44 void changeEvent(QEvent* event) override;
45 void RetranslateUI();
46
44 void OnControllerButtonClick(int i); 47 void OnControllerButtonClick(int i);
45 48
46 /// Load configuration settings. 49 /// Load configuration settings.
diff --git a/src/yuzu/configuration/configure_input_simple.cpp b/src/yuzu/configuration/configure_input_simple.cpp
index 6140a5573..864803ea3 100644
--- a/src/yuzu/configuration/configure_input_simple.cpp
+++ b/src/yuzu/configuration/configure_input_simple.cpp
@@ -119,6 +119,18 @@ void ConfigureInputSimple::ApplyConfiguration() {
119 UISettings::values.profile_index = index; 119 UISettings::values.profile_index = index;
120} 120}
121 121
122void ConfigureInputSimple::changeEvent(QEvent* event) {
123 if (event->type() == QEvent::LanguageChange) {
124 RetranslateUI();
125 }
126
127 QWidget::changeEvent(event);
128}
129
130void ConfigureInputSimple::RetranslateUI() {
131 ui->retranslateUi(this);
132}
133
122void ConfigureInputSimple::LoadConfiguration() { 134void ConfigureInputSimple::LoadConfiguration() {
123 const auto index = UISettings::values.profile_index; 135 const auto index = UISettings::values.profile_index;
124 if (index >= static_cast<int>(INPUT_PROFILES.size()) || index < 0) { 136 if (index >= static_cast<int>(INPUT_PROFILES.size()) || index < 0) {
diff --git a/src/yuzu/configuration/configure_input_simple.h b/src/yuzu/configuration/configure_input_simple.h
index 573c2db2b..bb5050224 100644
--- a/src/yuzu/configuration/configure_input_simple.h
+++ b/src/yuzu/configuration/configure_input_simple.h
@@ -30,6 +30,9 @@ public:
30 void ApplyConfiguration(); 30 void ApplyConfiguration();
31 31
32private: 32private:
33 void changeEvent(QEvent* event) override;
34 void RetranslateUI();
35
33 /// Load configuration settings. 36 /// Load configuration settings.
34 void LoadConfiguration(); 37 void LoadConfiguration();
35 38
diff --git a/src/yuzu/configuration/configure_mouse_advanced.cpp b/src/yuzu/configuration/configure_mouse_advanced.cpp
index 26f53128f..b7305e653 100644
--- a/src/yuzu/configuration/configure_mouse_advanced.cpp
+++ b/src/yuzu/configuration/configure_mouse_advanced.cpp
@@ -140,6 +140,18 @@ void ConfigureMouseAdvanced::LoadConfiguration() {
140 UpdateButtonLabels(); 140 UpdateButtonLabels();
141} 141}
142 142
143void ConfigureMouseAdvanced::changeEvent(QEvent* event) {
144 if (event->type() == QEvent::LanguageChange) {
145 RetranslateUI();
146 }
147
148 QDialog::changeEvent(event);
149}
150
151void ConfigureMouseAdvanced::RetranslateUI() {
152 ui->retranslateUi(this);
153}
154
143void ConfigureMouseAdvanced::RestoreDefaults() { 155void ConfigureMouseAdvanced::RestoreDefaults() {
144 for (int button_id = 0; button_id < Settings::NativeMouseButton::NumMouseButtons; button_id++) { 156 for (int button_id = 0; button_id < Settings::NativeMouseButton::NumMouseButtons; button_id++) {
145 buttons_param[button_id] = Common::ParamPackage{ 157 buttons_param[button_id] = Common::ParamPackage{
diff --git a/src/yuzu/configuration/configure_mouse_advanced.h b/src/yuzu/configuration/configure_mouse_advanced.h
index 373f992c9..342b82412 100644
--- a/src/yuzu/configuration/configure_mouse_advanced.h
+++ b/src/yuzu/configuration/configure_mouse_advanced.h
@@ -28,6 +28,9 @@ public:
28 void ApplyConfiguration(); 28 void ApplyConfiguration();
29 29
30private: 30private:
31 void changeEvent(QEvent* event) override;
32 void RetranslateUI();
33
31 /// Load configuration settings. 34 /// Load configuration settings.
32 void LoadConfiguration(); 35 void LoadConfiguration();
33 /// Restore all buttons to their default values. 36 /// Restore all buttons to their default values.
diff --git a/src/yuzu/configuration/configure_per_general.cpp b/src/yuzu/configuration/configure_per_general.cpp
index 275519c7b..90336e235 100644
--- a/src/yuzu/configuration/configure_per_general.cpp
+++ b/src/yuzu/configuration/configure_per_general.cpp
@@ -92,6 +92,18 @@ void ConfigurePerGameGeneral::ApplyConfiguration() {
92 Settings::values.disabled_addons[title_id] = disabled_addons; 92 Settings::values.disabled_addons[title_id] = disabled_addons;
93} 93}
94 94
95void ConfigurePerGameGeneral::changeEvent(QEvent* event) {
96 if (event->type() == QEvent::LanguageChange) {
97 RetranslateUI();
98 }
99
100 QDialog::changeEvent(event);
101}
102
103void ConfigurePerGameGeneral::RetranslateUI() {
104 ui->retranslateUi(this);
105}
106
95void ConfigurePerGameGeneral::LoadFromFile(FileSys::VirtualFile file) { 107void ConfigurePerGameGeneral::LoadFromFile(FileSys::VirtualFile file) {
96 this->file = std::move(file); 108 this->file = std::move(file);
97 LoadConfiguration(); 109 LoadConfiguration();
diff --git a/src/yuzu/configuration/configure_per_general.h b/src/yuzu/configuration/configure_per_general.h
index b95e07079..a3b2cdeff 100644
--- a/src/yuzu/configuration/configure_per_general.h
+++ b/src/yuzu/configuration/configure_per_general.h
@@ -35,6 +35,9 @@ public:
35 void LoadFromFile(FileSys::VirtualFile file); 35 void LoadFromFile(FileSys::VirtualFile file);
36 36
37private: 37private:
38 void changeEvent(QEvent* event) override;
39 void RetranslateUI();
40
38 void LoadConfiguration(); 41 void LoadConfiguration();
39 42
40 std::unique_ptr<Ui::ConfigurePerGameGeneral> ui; 43 std::unique_ptr<Ui::ConfigurePerGameGeneral> ui;
diff --git a/src/yuzu/configuration/configure_profile_manager.cpp b/src/yuzu/configuration/configure_profile_manager.cpp
index 7c1597488..c90f4cdd8 100644
--- a/src/yuzu/configuration/configure_profile_manager.cpp
+++ b/src/yuzu/configuration/configure_profile_manager.cpp
@@ -80,11 +80,10 @@ ConfigureProfileManager ::ConfigureProfileManager(QWidget* parent)
80 profile_manager(std::make_unique<Service::Account::ProfileManager>()) { 80 profile_manager(std::make_unique<Service::Account::ProfileManager>()) {
81 ui->setupUi(this); 81 ui->setupUi(this);
82 82
83 layout = new QVBoxLayout;
84 tree_view = new QTreeView; 83 tree_view = new QTreeView;
85 item_model = new QStandardItemModel(tree_view); 84 item_model = new QStandardItemModel(tree_view);
85 item_model->insertColumns(0, 1);
86 tree_view->setModel(item_model); 86 tree_view->setModel(item_model);
87
88 tree_view->setAlternatingRowColors(true); 87 tree_view->setAlternatingRowColors(true);
89 tree_view->setSelectionMode(QHeaderView::SingleSelection); 88 tree_view->setSelectionMode(QHeaderView::SingleSelection);
90 tree_view->setSelectionBehavior(QHeaderView::SelectRows); 89 tree_view->setSelectionBehavior(QHeaderView::SelectRows);
@@ -96,13 +95,11 @@ ConfigureProfileManager ::ConfigureProfileManager(QWidget* parent)
96 tree_view->setIconSize({64, 64}); 95 tree_view->setIconSize({64, 64});
97 tree_view->setContextMenuPolicy(Qt::NoContextMenu); 96 tree_view->setContextMenuPolicy(Qt::NoContextMenu);
98 97
99 item_model->insertColumns(0, 1);
100 item_model->setHeaderData(0, Qt::Horizontal, tr("Users"));
101
102 // We must register all custom types with the Qt Automoc system so that we are able to use it 98 // We must register all custom types with the Qt Automoc system so that we are able to use it
103 // with signals/slots. In this case, QList falls under the umbrells of custom types. 99 // with signals/slots. In this case, QList falls under the umbrells of custom types.
104 qRegisterMetaType<QList<QStandardItem*>>("QList<QStandardItem*>"); 100 qRegisterMetaType<QList<QStandardItem*>>("QList<QStandardItem*>");
105 101
102 layout = new QVBoxLayout;
106 layout->setContentsMargins(0, 0, 0, 0); 103 layout->setContentsMargins(0, 0, 0, 0);
107 layout->setSpacing(0); 104 layout->setSpacing(0);
108 layout->addWidget(tree_view); 105 layout->addWidget(tree_view);
@@ -120,10 +117,24 @@ ConfigureProfileManager ::ConfigureProfileManager(QWidget* parent)
120 ui->current_user_icon->setScene(scene); 117 ui->current_user_icon->setScene(scene);
121 118
122 SetConfiguration(); 119 SetConfiguration();
120 RetranslateUI();
123} 121}
124 122
125ConfigureProfileManager::~ConfigureProfileManager() = default; 123ConfigureProfileManager::~ConfigureProfileManager() = default;
126 124
125void ConfigureProfileManager::changeEvent(QEvent* event) {
126 if (event->type() == QEvent::LanguageChange) {
127 RetranslateUI();
128 }
129
130 QWidget::changeEvent(event);
131}
132
133void ConfigureProfileManager::RetranslateUI() {
134 ui->retranslateUi(this);
135 item_model->setHeaderData(0, Qt::Horizontal, tr("Users"));
136}
137
127void ConfigureProfileManager::SetConfiguration() { 138void ConfigureProfileManager::SetConfiguration() {
128 enabled = !Core::System::GetInstance().IsPoweredOn(); 139 enabled = !Core::System::GetInstance().IsPoweredOn();
129 item_model->removeRows(0, item_model->rowCount()); 140 item_model->removeRows(0, item_model->rowCount());
diff --git a/src/yuzu/configuration/configure_profile_manager.h b/src/yuzu/configuration/configure_profile_manager.h
index 4e9b4e8ea..0a9bca2a6 100644
--- a/src/yuzu/configuration/configure_profile_manager.h
+++ b/src/yuzu/configuration/configure_profile_manager.h
@@ -33,6 +33,9 @@ public:
33 void ApplyConfiguration(); 33 void ApplyConfiguration();
34 34
35private: 35private:
36 void changeEvent(QEvent* event) override;
37 void RetranslateUI();
38
36 void SetConfiguration(); 39 void SetConfiguration();
37 40
38 void PopulateUserList(); 41 void PopulateUserList();
diff --git a/src/yuzu/configuration/configure_system.cpp b/src/yuzu/configuration/configure_system.cpp
index 5f0ed2f61..e1b52f8d9 100644
--- a/src/yuzu/configuration/configure_system.cpp
+++ b/src/yuzu/configuration/configure_system.cpp
@@ -40,6 +40,18 @@ ConfigureSystem::ConfigureSystem(QWidget* parent) : QWidget(parent), ui(new Ui::
40 40
41ConfigureSystem::~ConfigureSystem() = default; 41ConfigureSystem::~ConfigureSystem() = default;
42 42
43void ConfigureSystem::changeEvent(QEvent* event) {
44 if (event->type() == QEvent::LanguageChange) {
45 RetranslateUI();
46 }
47
48 QWidget::changeEvent(event);
49}
50
51void ConfigureSystem::RetranslateUI() {
52 ui->retranslateUi(this);
53}
54
43void ConfigureSystem::SetConfiguration() { 55void ConfigureSystem::SetConfiguration() {
44 enabled = !Core::System::GetInstance().IsPoweredOn(); 56 enabled = !Core::System::GetInstance().IsPoweredOn();
45 57
diff --git a/src/yuzu/configuration/configure_system.h b/src/yuzu/configuration/configure_system.h
index 4c0329d57..1eab3781d 100644
--- a/src/yuzu/configuration/configure_system.h
+++ b/src/yuzu/configuration/configure_system.h
@@ -23,6 +23,9 @@ public:
23 void ApplyConfiguration(); 23 void ApplyConfiguration();
24 24
25private: 25private:
26 void changeEvent(QEvent* event) override;
27 void RetranslateUI();
28
26 void SetConfiguration(); 29 void SetConfiguration();
27 30
28 void ReadSystemSettings(); 31 void ReadSystemSettings();
diff --git a/src/yuzu/configuration/configure_touchscreen_advanced.cpp b/src/yuzu/configuration/configure_touchscreen_advanced.cpp
index bad224239..8ced28c75 100644
--- a/src/yuzu/configuration/configure_touchscreen_advanced.cpp
+++ b/src/yuzu/configuration/configure_touchscreen_advanced.cpp
@@ -20,6 +20,18 @@ ConfigureTouchscreenAdvanced::ConfigureTouchscreenAdvanced(QWidget* parent)
20 20
21ConfigureTouchscreenAdvanced::~ConfigureTouchscreenAdvanced() = default; 21ConfigureTouchscreenAdvanced::~ConfigureTouchscreenAdvanced() = default;
22 22
23void ConfigureTouchscreenAdvanced::changeEvent(QEvent* event) {
24 if (event->type() == QEvent::LanguageChange) {
25 RetranslateUI();
26 }
27
28 QDialog::changeEvent(event);
29}
30
31void ConfigureTouchscreenAdvanced::RetranslateUI() {
32 ui->retranslateUi(this);
33}
34
23void ConfigureTouchscreenAdvanced::ApplyConfiguration() { 35void ConfigureTouchscreenAdvanced::ApplyConfiguration() {
24 Settings::values.touchscreen.finger = ui->finger_box->value(); 36 Settings::values.touchscreen.finger = ui->finger_box->value();
25 Settings::values.touchscreen.diameter_x = ui->diameter_x_box->value(); 37 Settings::values.touchscreen.diameter_x = ui->diameter_x_box->value();
diff --git a/src/yuzu/configuration/configure_touchscreen_advanced.h b/src/yuzu/configuration/configure_touchscreen_advanced.h
index 94edd85b1..72061492c 100644
--- a/src/yuzu/configuration/configure_touchscreen_advanced.h
+++ b/src/yuzu/configuration/configure_touchscreen_advanced.h
@@ -21,6 +21,9 @@ public:
21 void ApplyConfiguration(); 21 void ApplyConfiguration();
22 22
23private: 23private:
24 void changeEvent(QEvent* event) override;
25 void RetranslateUI();
26
24 /// Load configuration settings. 27 /// Load configuration settings.
25 void LoadConfiguration(); 28 void LoadConfiguration();
26 /// Restore all buttons to their default values. 29 /// Restore all buttons to their default values.
diff --git a/src/yuzu/configuration/configure_web.cpp b/src/yuzu/configuration/configure_web.cpp
index 8cacb75f3..5a70ef168 100644
--- a/src/yuzu/configuration/configure_web.cpp
+++ b/src/yuzu/configuration/configure_web.cpp
@@ -22,35 +22,55 @@ ConfigureWeb::ConfigureWeb(QWidget* parent)
22#ifndef USE_DISCORD_PRESENCE 22#ifndef USE_DISCORD_PRESENCE
23 ui->discord_group->setVisible(false); 23 ui->discord_group->setVisible(false);
24#endif 24#endif
25
25 SetConfiguration(); 26 SetConfiguration();
27 RetranslateUI();
26} 28}
27 29
28ConfigureWeb::~ConfigureWeb() = default; 30ConfigureWeb::~ConfigureWeb() = default;
29 31
30void ConfigureWeb::SetConfiguration() { 32void ConfigureWeb::changeEvent(QEvent* event) {
31 ui->web_credentials_disclaimer->setWordWrap(true); 33 if (event->type() == QEvent::LanguageChange) {
32 ui->telemetry_learn_more->setOpenExternalLinks(true); 34 RetranslateUI();
35 }
36
37 QWidget::changeEvent(event);
38}
39
40void ConfigureWeb::RetranslateUI() {
41 ui->retranslateUi(this);
42
33 ui->telemetry_learn_more->setText( 43 ui->telemetry_learn_more->setText(
34 tr("<a href='https://yuzu-emu.org/help/feature/telemetry/'><span style=\"text-decoration: " 44 tr("<a href='https://yuzu-emu.org/help/feature/telemetry/'><span style=\"text-decoration: "
35 "underline; color:#039be5;\">Learn more</span></a>")); 45 "underline; color:#039be5;\">Learn more</span></a>"));
36 46
37 ui->web_signup_link->setOpenExternalLinks(true);
38 ui->web_signup_link->setText( 47 ui->web_signup_link->setText(
39 tr("<a href='https://profile.yuzu-emu.org/'><span style=\"text-decoration: underline; " 48 tr("<a href='https://profile.yuzu-emu.org/'><span style=\"text-decoration: underline; "
40 "color:#039be5;\">Sign up</span></a>")); 49 "color:#039be5;\">Sign up</span></a>"));
41 ui->web_token_info_link->setOpenExternalLinks(true); 50
42 ui->web_token_info_link->setText( 51 ui->web_token_info_link->setText(
43 tr("<a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style=\"text-decoration: " 52 tr("<a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style=\"text-decoration: "
44 "underline; color:#039be5;\">What is my token?</span></a>")); 53 "underline; color:#039be5;\">What is my token?</span></a>"));
45 54
55 ui->label_telemetry_id->setText(
56 tr("Telemetry ID: 0x%1").arg(QString::number(Core::GetTelemetryId(), 16).toUpper()));
57}
58
59void ConfigureWeb::SetConfiguration() {
60 ui->web_credentials_disclaimer->setWordWrap(true);
61
62 ui->telemetry_learn_more->setOpenExternalLinks(true);
63 ui->web_signup_link->setOpenExternalLinks(true);
64 ui->web_token_info_link->setOpenExternalLinks(true);
65
46 ui->toggle_telemetry->setChecked(Settings::values.enable_telemetry); 66 ui->toggle_telemetry->setChecked(Settings::values.enable_telemetry);
47 ui->edit_username->setText(QString::fromStdString(Settings::values.yuzu_username)); 67 ui->edit_username->setText(QString::fromStdString(Settings::values.yuzu_username));
48 ui->edit_token->setText(QString::fromStdString(Settings::values.yuzu_token)); 68 ui->edit_token->setText(QString::fromStdString(Settings::values.yuzu_token));
69
49 // Connect after setting the values, to avoid calling OnLoginChanged now 70 // Connect after setting the values, to avoid calling OnLoginChanged now
50 connect(ui->edit_token, &QLineEdit::textChanged, this, &ConfigureWeb::OnLoginChanged); 71 connect(ui->edit_token, &QLineEdit::textChanged, this, &ConfigureWeb::OnLoginChanged);
51 connect(ui->edit_username, &QLineEdit::textChanged, this, &ConfigureWeb::OnLoginChanged); 72 connect(ui->edit_username, &QLineEdit::textChanged, this, &ConfigureWeb::OnLoginChanged);
52 ui->label_telemetry_id->setText( 73
53 tr("Telemetry ID: 0x%1").arg(QString::number(Core::GetTelemetryId(), 16).toUpper()));
54 user_verified = true; 74 user_verified = true;
55 75
56 ui->toggle_discordrpc->setChecked(UISettings::values.enable_discord_presence); 76 ui->toggle_discordrpc->setChecked(UISettings::values.enable_discord_presence);
@@ -120,7 +140,3 @@ void ConfigureWeb::OnLoginVerified() {
120 "correctly, and that your internet connection is working.")); 140 "correctly, and that your internet connection is working."));
121 } 141 }
122} 142}
123
124void ConfigureWeb::RetranslateUI() {
125 ui->retranslateUi(this);
126}
diff --git a/src/yuzu/configuration/configure_web.h b/src/yuzu/configuration/configure_web.h
index 49bee171b..9054711ea 100644
--- a/src/yuzu/configuration/configure_web.h
+++ b/src/yuzu/configuration/configure_web.h
@@ -20,9 +20,11 @@ public:
20 ~ConfigureWeb() override; 20 ~ConfigureWeb() override;
21 21
22 void ApplyConfiguration(); 22 void ApplyConfiguration();
23 void RetranslateUI();
24 23
25private: 24private:
25 void changeEvent(QEvent* event) override;
26 void RetranslateUI();
27
26 void RefreshTelemetryID(); 28 void RefreshTelemetryID();
27 void OnLoginChanged(); 29 void OnLoginChanged();
28 void VerifyLogin(); 30 void VerifyLogin();