summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/yuzu/CMakeLists.txt6
-rw-r--r--src/yuzu/configuration/configure.ui6
-rw-r--r--src/yuzu/configuration/configure_dialog.cpp6
-rw-r--r--src/yuzu/configuration/configure_general.cpp8
-rw-r--r--src/yuzu/configuration/configure_general.ui37
-rw-r--r--src/yuzu/configuration/configure_ui.cpp (renamed from src/yuzu/configuration/configure_gamelist.cpp)48
-rw-r--r--src/yuzu/configuration/configure_ui.h (renamed from src/yuzu/configuration/configure_gamelist.h)10
-rw-r--r--src/yuzu/configuration/configure_ui.ui (renamed from src/yuzu/configuration/configure_gamelist.ui)59
8 files changed, 76 insertions, 104 deletions
diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt
index 11ae1e66e..a3fb91d29 100644
--- a/src/yuzu/CMakeLists.txt
+++ b/src/yuzu/CMakeLists.txt
@@ -36,9 +36,6 @@ add_executable(yuzu
36 configuration/configure_filesystem.cpp 36 configuration/configure_filesystem.cpp
37 configuration/configure_filesystem.h 37 configuration/configure_filesystem.h
38 configuration/configure_filesystem.ui 38 configuration/configure_filesystem.ui
39 configuration/configure_gamelist.cpp
40 configuration/configure_gamelist.h
41 configuration/configure_gamelist.ui
42 configuration/configure_general.cpp 39 configuration/configure_general.cpp
43 configuration/configure_general.h 40 configuration/configure_general.h
44 configuration/configure_general.ui 41 configuration/configure_general.ui
@@ -75,6 +72,9 @@ add_executable(yuzu
75 configuration/configure_touchscreen_advanced.cpp 72 configuration/configure_touchscreen_advanced.cpp
76 configuration/configure_touchscreen_advanced.h 73 configuration/configure_touchscreen_advanced.h
77 configuration/configure_touchscreen_advanced.ui 74 configuration/configure_touchscreen_advanced.ui
75 configuration/configure_ui.cpp
76 configuration/configure_ui.h
77 configuration/configure_ui.ui
78 configuration/configure_web.cpp 78 configuration/configure_web.cpp
79 configuration/configure_web.h 79 configuration/configure_web.h
80 configuration/configure_web.ui 80 configuration/configure_web.ui
diff --git a/src/yuzu/configuration/configure.ui b/src/yuzu/configuration/configure.ui
index 372427ae2..67b990f1a 100644
--- a/src/yuzu/configuration/configure.ui
+++ b/src/yuzu/configuration/configure.ui
@@ -48,7 +48,7 @@
48 <string>General</string> 48 <string>General</string>
49 </attribute> 49 </attribute>
50 </widget> 50 </widget>
51 <widget class="ConfigureGameList" name="gameListTab"> 51 <widget class="ConfigureUi" name="uiTab">
52 <attribute name="title"> 52 <attribute name="title">
53 <string>Game List</string> 53 <string>Game List</string>
54 </attribute> 54 </attribute>
@@ -166,9 +166,9 @@
166 <container>1</container> 166 <container>1</container>
167 </customwidget> 167 </customwidget>
168 <customwidget> 168 <customwidget>
169 <class>ConfigureGameList</class> 169 <class>ConfigureUi</class>
170 <extends>QWidget</extends> 170 <extends>QWidget</extends>
171 <header>configuration/configure_gamelist.h</header> 171 <header>configuration/configure_ui.h</header>
172 <container>1</container> 172 <container>1</container>
173 </customwidget> 173 </customwidget>
174 <customwidget> 174 <customwidget>
diff --git a/src/yuzu/configuration/configure_dialog.cpp b/src/yuzu/configuration/configure_dialog.cpp
index 8497eaa14..db3b19352 100644
--- a/src/yuzu/configuration/configure_dialog.cpp
+++ b/src/yuzu/configuration/configure_dialog.cpp
@@ -34,7 +34,7 @@ void ConfigureDialog::SetConfiguration() {}
34 34
35void ConfigureDialog::ApplyConfiguration() { 35void ConfigureDialog::ApplyConfiguration() {
36 ui->generalTab->ApplyConfiguration(); 36 ui->generalTab->ApplyConfiguration();
37 ui->gameListTab->ApplyConfiguration(); 37 ui->uiTab->ApplyConfiguration();
38 ui->systemTab->ApplyConfiguration(); 38 ui->systemTab->ApplyConfiguration();
39 ui->profileManagerTab->ApplyConfiguration(); 39 ui->profileManagerTab->ApplyConfiguration();
40 ui->filesystemTab->applyConfiguration(); 40 ui->filesystemTab->applyConfiguration();
@@ -74,7 +74,7 @@ Q_DECLARE_METATYPE(QList<QWidget*>);
74 74
75void ConfigureDialog::PopulateSelectionList() { 75void ConfigureDialog::PopulateSelectionList() {
76 const std::array<std::pair<QString, QList<QWidget*>>, 5> items{ 76 const std::array<std::pair<QString, QList<QWidget*>>, 5> items{
77 {{tr("General"), {ui->generalTab, ui->webTab, ui->debugTab, ui->gameListTab}}, 77 {{tr("General"), {ui->generalTab, ui->webTab, ui->debugTab, ui->uiTab}},
78 {tr("System"), {ui->systemTab, ui->profileManagerTab, ui->serviceTab, ui->filesystemTab}}, 78 {tr("System"), {ui->systemTab, ui->profileManagerTab, ui->serviceTab, ui->filesystemTab}},
79 {tr("Graphics"), {ui->graphicsTab}}, 79 {tr("Graphics"), {ui->graphicsTab}},
80 {tr("Audio"), {ui->audioTab}}, 80 {tr("Audio"), {ui->audioTab}},
@@ -108,7 +108,7 @@ void ConfigureDialog::UpdateVisibleTabs() {
108 {ui->audioTab, tr("Audio")}, 108 {ui->audioTab, tr("Audio")},
109 {ui->debugTab, tr("Debug")}, 109 {ui->debugTab, tr("Debug")},
110 {ui->webTab, tr("Web")}, 110 {ui->webTab, tr("Web")},
111 {ui->gameListTab, tr("Game List")}, 111 {ui->uiTab, tr("UI")},
112 {ui->filesystemTab, tr("Filesystem")}, 112 {ui->filesystemTab, tr("Filesystem")},
113 {ui->serviceTab, tr("Services")}, 113 {ui->serviceTab, tr("Services")},
114 }; 114 };
diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp
index 34e1d7fea..5ef927114 100644
--- a/src/yuzu/configuration/configure_general.cpp
+++ b/src/yuzu/configuration/configure_general.cpp
@@ -15,11 +15,6 @@ ConfigureGeneral::ConfigureGeneral(QWidget* parent)
15 15
16 ui->setupUi(this); 16 ui->setupUi(this);
17 17
18 for (const auto& theme : UISettings::themes) {
19 ui->theme_combobox->addItem(QString::fromUtf8(theme.first),
20 QString::fromUtf8(theme.second));
21 }
22
23 SetConfiguration(); 18 SetConfiguration();
24 19
25 connect(ui->toggle_frame_limit, &QCheckBox::toggled, ui->frame_limit, &QSpinBox::setEnabled); 20 connect(ui->toggle_frame_limit, &QCheckBox::toggled, ui->frame_limit, &QSpinBox::setEnabled);
@@ -30,7 +25,6 @@ ConfigureGeneral::~ConfigureGeneral() = default;
30void ConfigureGeneral::SetConfiguration() { 25void ConfigureGeneral::SetConfiguration() {
31 ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing); 26 ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing);
32 ui->toggle_user_on_boot->setChecked(UISettings::values.select_user_on_boot); 27 ui->toggle_user_on_boot->setChecked(UISettings::values.select_user_on_boot);
33 ui->theme_combobox->setCurrentIndex(ui->theme_combobox->findData(UISettings::values.theme));
34 ui->toggle_background_pause->setChecked(UISettings::values.pause_when_in_background); 28 ui->toggle_background_pause->setChecked(UISettings::values.pause_when_in_background);
35 29
36 ui->toggle_frame_limit->setChecked(Settings::values.use_frame_limit); 30 ui->toggle_frame_limit->setChecked(Settings::values.use_frame_limit);
@@ -41,8 +35,6 @@ void ConfigureGeneral::SetConfiguration() {
41void ConfigureGeneral::ApplyConfiguration() { 35void ConfigureGeneral::ApplyConfiguration() {
42 UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked(); 36 UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked();
43 UISettings::values.select_user_on_boot = ui->toggle_user_on_boot->isChecked(); 37 UISettings::values.select_user_on_boot = ui->toggle_user_on_boot->isChecked();
44 UISettings::values.theme =
45 ui->theme_combobox->itemData(ui->theme_combobox->currentIndex()).toString();
46 UISettings::values.pause_when_in_background = ui->toggle_background_pause->isChecked(); 38 UISettings::values.pause_when_in_background = ui->toggle_background_pause->isChecked();
47 39
48 Settings::values.use_frame_limit = ui->toggle_frame_limit->isChecked(); 40 Settings::values.use_frame_limit = ui->toggle_frame_limit->isChecked();
diff --git a/src/yuzu/configuration/configure_general.ui b/src/yuzu/configuration/configure_general.ui
index 26b3486ff..857119bb3 100644
--- a/src/yuzu/configuration/configure_general.ui
+++ b/src/yuzu/configuration/configure_general.ui
@@ -65,39 +65,12 @@
65 </property> 65 </property>
66 </widget> 66 </widget>
67 </item> 67 </item>
68 <item>
69 <widget class="QCheckBox" name="toggle_background_pause">
70 <property name="text">
71 <string>Pause emulation when in background</string>
72 </property>
73 </widget>
74 </item>
75 </layout>
76 </item>
77 </layout>
78 </widget>
79 </item>
80 <item>
81 <widget class="QGroupBox" name="theme_group_box">
82 <property name="title">
83 <string>Theme</string>
84 </property>
85 <layout class="QHBoxLayout" name="theme_qhbox_layout">
86 <item>
87 <layout class="QVBoxLayout" name="theme_qvbox_layout">
88 <item> 68 <item>
89 <layout class="QHBoxLayout" name="theme_qhbox_layout_2"> 69 <widget class="QCheckBox" name="toggle_background_pause">
90 <item> 70 <property name="text">
91 <widget class="QLabel" name="theme_label"> 71 <string>Pause emulation when in background</string>
92 <property name="text"> 72 </property>
93 <string>Theme:</string> 73 </widget>
94 </property>
95 </widget>
96 </item>
97 <item>
98 <widget class="QComboBox" name="theme_combobox"/>
99 </item>
100 </layout>
101 </item> 74 </item>
102 </layout> 75 </layout>
103 </item> 76 </item>
diff --git a/src/yuzu/configuration/configure_gamelist.cpp b/src/yuzu/configuration/configure_ui.cpp
index e43e84d39..c4a84cc67 100644
--- a/src/yuzu/configuration/configure_gamelist.cpp
+++ b/src/yuzu/configuration/configure_ui.cpp
@@ -7,8 +7,8 @@
7 7
8#include "common/common_types.h" 8#include "common/common_types.h"
9#include "core/settings.h" 9#include "core/settings.h"
10#include "ui_configure_gamelist.h" 10#include "ui_configure_ui.h"
11#include "yuzu/configuration/configure_gamelist.h" 11#include "yuzu/configuration/configure_ui.h"
12#include "yuzu/uisettings.h" 12#include "yuzu/uisettings.h"
13 13
14namespace { 14namespace {
@@ -26,35 +26,40 @@ constexpr std::array row_text_names{
26}; 26};
27} // Anonymous namespace 27} // Anonymous namespace
28 28
29ConfigureGameList::ConfigureGameList(QWidget* parent) 29ConfigureUi::ConfigureUi(QWidget* parent) : QWidget(parent), ui(new Ui::ConfigureUi) {
30 : QWidget(parent), ui(new Ui::ConfigureGameList) {
31 ui->setupUi(this); 30 ui->setupUi(this);
32 31
32 for (const auto& theme : UISettings::themes) {
33 ui->theme_combobox->addItem(QString::fromUtf8(theme.first),
34 QString::fromUtf8(theme.second));
35 }
36
33 InitializeIconSizeComboBox(); 37 InitializeIconSizeComboBox();
34 InitializeRowComboBoxes(); 38 InitializeRowComboBoxes();
35 39
36 SetConfiguration(); 40 SetConfiguration();
37 41
38 // Force game list reload if any of the relevant settings are changed. 42 // Force game list reload if any of the relevant settings are changed.
39 connect(ui->show_unknown, &QCheckBox::stateChanged, this, 43 connect(ui->show_unknown, &QCheckBox::stateChanged, this, &ConfigureUi::RequestGameListUpdate);
40 &ConfigureGameList::RequestGameListUpdate);
41 connect(ui->icon_size_combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, 44 connect(ui->icon_size_combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
42 &ConfigureGameList::RequestGameListUpdate); 45 &ConfigureUi::RequestGameListUpdate);
43 connect(ui->row_1_text_combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, 46 connect(ui->row_1_text_combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
44 &ConfigureGameList::RequestGameListUpdate); 47 &ConfigureUi::RequestGameListUpdate);
45 connect(ui->row_2_text_combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, 48 connect(ui->row_2_text_combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
46 &ConfigureGameList::RequestGameListUpdate); 49 &ConfigureUi::RequestGameListUpdate);
47 50
48 // Update text ComboBoxes after user interaction. 51 // Update text ComboBoxes after user interaction.
49 connect(ui->row_1_text_combobox, QOverload<int>::of(&QComboBox::activated), 52 connect(ui->row_1_text_combobox, QOverload<int>::of(&QComboBox::activated),
50 [=]() { ConfigureGameList::UpdateSecondRowComboBox(); }); 53 [=]() { ConfigureUi::UpdateSecondRowComboBox(); });
51 connect(ui->row_2_text_combobox, QOverload<int>::of(&QComboBox::activated), 54 connect(ui->row_2_text_combobox, QOverload<int>::of(&QComboBox::activated),
52 [=]() { ConfigureGameList::UpdateFirstRowComboBox(); }); 55 [=]() { ConfigureUi::UpdateFirstRowComboBox(); });
53} 56}
54 57
55ConfigureGameList::~ConfigureGameList() = default; 58ConfigureUi::~ConfigureUi() = default;
56 59
57void ConfigureGameList::ApplyConfiguration() { 60void ConfigureUi::ApplyConfiguration() {
61 UISettings::values.theme =
62 ui->theme_combobox->itemData(ui->theme_combobox->currentIndex()).toString();
58 UISettings::values.show_unknown = ui->show_unknown->isChecked(); 63 UISettings::values.show_unknown = ui->show_unknown->isChecked();
59 UISettings::values.show_add_ons = ui->show_add_ons->isChecked(); 64 UISettings::values.show_add_ons = ui->show_add_ons->isChecked();
60 UISettings::values.icon_size = ui->icon_size_combobox->currentData().toUInt(); 65 UISettings::values.icon_size = ui->icon_size_combobox->currentData().toUInt();
@@ -63,18 +68,19 @@ void ConfigureGameList::ApplyConfiguration() {
63 Settings::Apply(); 68 Settings::Apply();
64} 69}
65 70
66void ConfigureGameList::RequestGameListUpdate() { 71void ConfigureUi::RequestGameListUpdate() {
67 UISettings::values.is_game_list_reload_pending.exchange(true); 72 UISettings::values.is_game_list_reload_pending.exchange(true);
68} 73}
69 74
70void ConfigureGameList::SetConfiguration() { 75void ConfigureUi::SetConfiguration() {
76 ui->theme_combobox->setCurrentIndex(ui->theme_combobox->findData(UISettings::values.theme));
71 ui->show_unknown->setChecked(UISettings::values.show_unknown); 77 ui->show_unknown->setChecked(UISettings::values.show_unknown);
72 ui->show_add_ons->setChecked(UISettings::values.show_add_ons); 78 ui->show_add_ons->setChecked(UISettings::values.show_add_ons);
73 ui->icon_size_combobox->setCurrentIndex( 79 ui->icon_size_combobox->setCurrentIndex(
74 ui->icon_size_combobox->findData(UISettings::values.icon_size)); 80 ui->icon_size_combobox->findData(UISettings::values.icon_size));
75} 81}
76 82
77void ConfigureGameList::changeEvent(QEvent* event) { 83void ConfigureUi::changeEvent(QEvent* event) {
78 if (event->type() == QEvent::LanguageChange) { 84 if (event->type() == QEvent::LanguageChange) {
79 RetranslateUI(); 85 RetranslateUI();
80 } 86 }
@@ -82,7 +88,7 @@ void ConfigureGameList::changeEvent(QEvent* event) {
82 QWidget::changeEvent(event); 88 QWidget::changeEvent(event);
83} 89}
84 90
85void ConfigureGameList::RetranslateUI() { 91void ConfigureUi::RetranslateUI() {
86 ui->retranslateUi(this); 92 ui->retranslateUi(this);
87 93
88 for (int i = 0; i < ui->icon_size_combobox->count(); i++) { 94 for (int i = 0; i < ui->icon_size_combobox->count(); i++) {
@@ -97,18 +103,18 @@ void ConfigureGameList::RetranslateUI() {
97 } 103 }
98} 104}
99 105
100void ConfigureGameList::InitializeIconSizeComboBox() { 106void ConfigureUi::InitializeIconSizeComboBox() {
101 for (const auto& size : default_icon_sizes) { 107 for (const auto& size : default_icon_sizes) {
102 ui->icon_size_combobox->addItem(QString::fromUtf8(size.second), size.first); 108 ui->icon_size_combobox->addItem(QString::fromUtf8(size.second), size.first);
103 } 109 }
104} 110}
105 111
106void ConfigureGameList::InitializeRowComboBoxes() { 112void ConfigureUi::InitializeRowComboBoxes() {
107 UpdateFirstRowComboBox(true); 113 UpdateFirstRowComboBox(true);
108 UpdateSecondRowComboBox(true); 114 UpdateSecondRowComboBox(true);
109} 115}
110 116
111void ConfigureGameList::UpdateFirstRowComboBox(bool init) { 117void ConfigureUi::UpdateFirstRowComboBox(bool init) {
112 const int currentIndex = 118 const int currentIndex =
113 init ? UISettings::values.row_1_text_id 119 init ? UISettings::values.row_1_text_id
114 : ui->row_1_text_combobox->findData(ui->row_1_text_combobox->currentData()); 120 : ui->row_1_text_combobox->findData(ui->row_1_text_combobox->currentData());
@@ -127,7 +133,7 @@ void ConfigureGameList::UpdateFirstRowComboBox(bool init) {
127 ui->row_1_text_combobox->findData(ui->row_2_text_combobox->currentData())); 133 ui->row_1_text_combobox->findData(ui->row_2_text_combobox->currentData()));
128} 134}
129 135
130void ConfigureGameList::UpdateSecondRowComboBox(bool init) { 136void ConfigureUi::UpdateSecondRowComboBox(bool init) {
131 const int currentIndex = 137 const int currentIndex =
132 init ? UISettings::values.row_2_text_id 138 init ? UISettings::values.row_2_text_id
133 : ui->row_2_text_combobox->findData(ui->row_2_text_combobox->currentData()); 139 : ui->row_2_text_combobox->findData(ui->row_2_text_combobox->currentData());
diff --git a/src/yuzu/configuration/configure_gamelist.h b/src/yuzu/configuration/configure_ui.h
index ecd3fa174..d471afe99 100644
--- a/src/yuzu/configuration/configure_gamelist.h
+++ b/src/yuzu/configuration/configure_ui.h
@@ -8,15 +8,15 @@
8#include <QWidget> 8#include <QWidget>
9 9
10namespace Ui { 10namespace Ui {
11class ConfigureGameList; 11class ConfigureUi;
12} 12}
13 13
14class ConfigureGameList : public QWidget { 14class ConfigureUi : public QWidget {
15 Q_OBJECT 15 Q_OBJECT
16 16
17public: 17public:
18 explicit ConfigureGameList(QWidget* parent = nullptr); 18 explicit ConfigureUi(QWidget* parent = nullptr);
19 ~ConfigureGameList() override; 19 ~ConfigureUi() override;
20 20
21 void ApplyConfiguration(); 21 void ApplyConfiguration();
22 22
@@ -34,5 +34,5 @@ private:
34 void UpdateFirstRowComboBox(bool init = false); 34 void UpdateFirstRowComboBox(bool init = false);
35 void UpdateSecondRowComboBox(bool init = false); 35 void UpdateSecondRowComboBox(bool init = false);
36 36
37 std::unique_ptr<Ui::ConfigureGameList> ui; 37 std::unique_ptr<Ui::ConfigureUi> ui;
38}; 38};
diff --git a/src/yuzu/configuration/configure_gamelist.ui b/src/yuzu/configuration/configure_ui.ui
index 7a69377e7..aa36bd112 100644
--- a/src/yuzu/configuration/configure_gamelist.ui
+++ b/src/yuzu/configuration/configure_ui.ui
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<ui version="4.0"> 2<ui version="4.0">
3 <class>ConfigureGameList</class> 3 <class>ConfigureUi</class>
4 <widget class="QWidget" name="ConfigureGameList"> 4 <widget class="QWidget" name="ConfigureUi">
5 <property name="geometry"> 5 <property name="geometry">
6 <rect> 6 <rect>
7 <x>0</x> 7 <x>0</x>
@@ -21,7 +21,34 @@
21 <property name="title"> 21 <property name="title">
22 <string>General</string> 22 <string>General</string>
23 </property> 23 </property>
24 <layout class="QHBoxLayout" name="GeneralHorizontalLayout"> 24 <layout class="QHBoxLayout" name="horizontalLayout">
25 <item>
26 <layout class="QVBoxLayout" name="verticalLayout">
27 <item>
28 <layout class="QHBoxLayout" name="horizontalLayout_3">
29 <item>
30 <widget class="QLabel" name="theme_label">
31 <property name="text">
32 <string>Theme:</string>
33 </property>
34 </widget>
35 </item>
36 <item>
37 <widget class="QComboBox" name="theme_combobox"/>
38 </item>
39 </layout>
40 </item>
41 </layout>
42 </item>
43 </layout>
44 </widget>
45 </item>
46 <item>
47 <widget class="QGroupBox" name="GameListGroupBox">
48 <property name="title">
49 <string>Game List</string>
50 </property>
51 <layout class="QHBoxLayout" name="GameListHorizontalLayout">
25 <item> 52 <item>
26 <layout class="QVBoxLayout" name="GeneralVerticalLayout"> 53 <layout class="QVBoxLayout" name="GeneralVerticalLayout">
27 <item> 54 <item>
@@ -38,19 +65,6 @@
38 </property> 65 </property>
39 </widget> 66 </widget>
40 </item> 67 </item>
41 </layout>
42 </item>
43 </layout>
44 </widget>
45 </item>
46 <item>
47 <widget class="QGroupBox" name="IconSizeGroupBox">
48 <property name="title">
49 <string>Icon Size</string>
50 </property>
51 <layout class="QHBoxLayout" name="icon_size_qhbox_layout">
52 <item>
53 <layout class="QVBoxLayout" name="icon_size_qvbox_layout">
54 <item> 68 <item>
55 <layout class="QHBoxLayout" name="icon_size_qhbox_layout_2"> 69 <layout class="QHBoxLayout" name="icon_size_qhbox_layout_2">
56 <item> 70 <item>
@@ -65,19 +79,6 @@
65 </item> 79 </item>
66 </layout> 80 </layout>
67 </item> 81 </item>
68 </layout>
69 </item>
70 </layout>
71 </widget>
72 </item>
73 <item>
74 <widget class="QGroupBox" name="RowGroupBox">
75 <property name="title">
76 <string>Row Text</string>
77 </property>
78 <layout class="QHBoxLayout" name="RowHorizontalLayout">
79 <item>
80 <layout class="QVBoxLayout" name="RowVerticalLayout">
81 <item> 82 <item>
82 <layout class="QHBoxLayout" name="row_1_qhbox_layout"> 83 <layout class="QHBoxLayout" name="row_1_qhbox_layout">
83 <item> 84 <item>