summaryrefslogtreecommitdiff
path: root/src/yuzu/configuration
diff options
context:
space:
mode:
Diffstat (limited to 'src/yuzu/configuration')
-rw-r--r--src/yuzu/configuration/config.cpp5
-rw-r--r--src/yuzu/configuration/configure_audio.cpp77
-rw-r--r--src/yuzu/configuration/configure_audio.h30
-rw-r--r--src/yuzu/configuration/configure_audio.ui73
-rw-r--r--src/yuzu/configuration/configure_debug.cpp3
-rw-r--r--src/yuzu/configuration/configure_dialog.cpp7
-rw-r--r--src/yuzu/configuration/configure_general.cpp4
-rw-r--r--src/yuzu/configuration/configure_graphics.cpp3
-rw-r--r--src/yuzu/configuration/configure_input.cpp5
-rw-r--r--src/yuzu/configuration/configure_system.cpp8
-rw-r--r--src/yuzu/configuration/configure_web.cpp102
-rw-r--r--src/yuzu/configuration/configure_web.h40
-rw-r--r--src/yuzu/configuration/configure_web.ui190
13 files changed, 19 insertions, 528 deletions
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index fd884db7a..362f4ffe2 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -3,10 +3,11 @@
// Refer to the license.txt file included.
#include <QSettings>
-#include "citra_qt/configuration/config.h"
-#include "citra_qt/ui_settings.h"
#include "common/file_util.h"
#include "input_common/main.h"
+#include "yuzu/configuration/config.h"
+#include "yuzu/ui_settings.h"
+
Config::Config() {
// TODO: Don't hardcode the path; let the frontend decide where to put the config files.
diff --git a/src/yuzu/configuration/configure_audio.cpp b/src/yuzu/configuration/configure_audio.cpp
deleted file mode 100644
index 3fd1d127a..000000000
--- a/src/yuzu/configuration/configure_audio.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2016 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#include <memory>
-#include "audio_core/audio_core.h"
-#include "audio_core/sink.h"
-#include "audio_core/sink_details.h"
-#include "citra_qt/configuration/configure_audio.h"
-#include "core/settings.h"
-#include "ui_configure_audio.h"
-
-ConfigureAudio::ConfigureAudio(QWidget* parent)
- : QWidget(parent), ui(std::make_unique<Ui::ConfigureAudio>()) {
- ui->setupUi(this);
-
- ui->output_sink_combo_box->clear();
- ui->output_sink_combo_box->addItem("auto");
- for (const auto& sink_detail : AudioCore::g_sink_details) {
- ui->output_sink_combo_box->addItem(sink_detail.id);
- }
-
- this->setConfiguration();
- connect(ui->output_sink_combo_box, SIGNAL(currentIndexChanged(int)), this,
- SLOT(updateAudioDevices(int)));
-}
-
-ConfigureAudio::~ConfigureAudio() {}
-
-void ConfigureAudio::setConfiguration() {
- int new_sink_index = 0;
- for (int index = 0; index < ui->output_sink_combo_box->count(); index++) {
- if (ui->output_sink_combo_box->itemText(index).toStdString() == Settings::values.sink_id) {
- new_sink_index = index;
- break;
- }
- }
- ui->output_sink_combo_box->setCurrentIndex(new_sink_index);
-
- ui->toggle_audio_stretching->setChecked(Settings::values.enable_audio_stretching);
-
- // The device list cannot be pre-populated (nor listed) until the output sink is known.
- updateAudioDevices(new_sink_index);
-
- int new_device_index = -1;
- for (int index = 0; index < ui->audio_device_combo_box->count(); index++) {
- if (ui->audio_device_combo_box->itemText(index).toStdString() ==
- Settings::values.audio_device_id) {
- new_device_index = index;
- break;
- }
- }
- ui->audio_device_combo_box->setCurrentIndex(new_device_index);
-}
-
-void ConfigureAudio::applyConfiguration() {
- Settings::values.sink_id =
- ui->output_sink_combo_box->itemText(ui->output_sink_combo_box->currentIndex())
- .toStdString();
- Settings::values.enable_audio_stretching = ui->toggle_audio_stretching->isChecked();
- Settings::values.audio_device_id =
- ui->audio_device_combo_box->itemText(ui->audio_device_combo_box->currentIndex())
- .toStdString();
- Settings::Apply();
-}
-
-void ConfigureAudio::updateAudioDevices(int sink_index) {
- ui->audio_device_combo_box->clear();
- ui->audio_device_combo_box->addItem("auto");
-
- std::string sink_id = ui->output_sink_combo_box->itemText(sink_index).toStdString();
- std::vector<std::string> device_list =
- AudioCore::GetSinkDetails(sink_id).factory()->GetDeviceList();
- for (const auto& device : device_list) {
- ui->audio_device_combo_box->addItem(device.c_str());
- }
-}
diff --git a/src/yuzu/configuration/configure_audio.h b/src/yuzu/configuration/configure_audio.h
deleted file mode 100644
index 8190e694f..000000000
--- a/src/yuzu/configuration/configure_audio.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2016 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#pragma once
-
-#include <memory>
-#include <QWidget>
-
-namespace Ui {
-class ConfigureAudio;
-}
-
-class ConfigureAudio : public QWidget {
- Q_OBJECT
-
-public:
- explicit ConfigureAudio(QWidget* parent = nullptr);
- ~ConfigureAudio();
-
- void applyConfiguration();
-
-public slots:
- void updateAudioDevices(int sink_index);
-
-private:
- void setConfiguration();
-
- std::unique_ptr<Ui::ConfigureAudio> ui;
-};
diff --git a/src/yuzu/configuration/configure_audio.ui b/src/yuzu/configuration/configure_audio.ui
deleted file mode 100644
index dd870eb61..000000000
--- a/src/yuzu/configuration/configure_audio.ui
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<ui version="4.0">
- <class>ConfigureAudio</class>
- <widget class="QWidget" name="ConfigureAudio">
- <layout class="QVBoxLayout">
- <item>
- <widget class="QGroupBox">
- <property name="title">
- <string>Audio</string>
- </property>
- <layout class="QVBoxLayout">
- <item>
- <layout class="QHBoxLayout">
- <item>
- <widget class="QLabel">
- <property name="text">
- <string>Output Engine:</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="output_sink_combo_box">
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QCheckBox" name="toggle_audio_stretching">
- <property name="text">
- <string>Enable audio stretching</string>
- </property>
- <property name="toolTip">
- <string>This post-processing effect adjusts audio speed to match emulation speed and helps prevent audio stutter. This however increases audio latency.</string>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout">
- <item>
- <widget class="QLabel">
- <property name="text">
- <string>Audio Device:</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="audio_device_combo_box">
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <resources />
- <connections />
-</ui>
diff --git a/src/yuzu/configuration/configure_debug.cpp b/src/yuzu/configuration/configure_debug.cpp
index 263f73f38..9eb71c593 100644
--- a/src/yuzu/configuration/configure_debug.cpp
+++ b/src/yuzu/configuration/configure_debug.cpp
@@ -2,9 +2,10 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
-#include "citra_qt/configuration/configure_debug.h"
#include "core/settings.h"
#include "ui_configure_debug.h"
+#include "yuzu/configuration/configure_debug.h"
+
ConfigureDebug::ConfigureDebug(QWidget* parent) : QWidget(parent), ui(new Ui::ConfigureDebug) {
ui->setupUi(this);
diff --git a/src/yuzu/configuration/configure_dialog.cpp b/src/yuzu/configuration/configure_dialog.cpp
index b87dc0e6c..23e5687d0 100644
--- a/src/yuzu/configuration/configure_dialog.cpp
+++ b/src/yuzu/configuration/configure_dialog.cpp
@@ -2,10 +2,11 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
-#include "citra_qt/configuration/config.h"
-#include "citra_qt/configuration/configure_dialog.h"
#include "core/settings.h"
#include "ui_configure.h"
+#include "yuzu/configuration/config.h"
+#include "yuzu/configuration/configure_dialog.h"
+
ConfigureDialog::ConfigureDialog(QWidget* parent) : QDialog(parent), ui(new Ui::ConfigureDialog) {
ui->setupUi(this);
@@ -21,8 +22,6 @@ void ConfigureDialog::applyConfiguration() {
ui->systemTab->applyConfiguration();
ui->inputTab->applyConfiguration();
ui->graphicsTab->applyConfiguration();
- ui->audioTab->applyConfiguration();
ui->debugTab->applyConfiguration();
- ui->webTab->applyConfiguration();
Settings::Apply();
}
diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp
index 0de27aa8b..4a1002c17 100644
--- a/src/yuzu/configuration/configure_general.cpp
+++ b/src/yuzu/configuration/configure_general.cpp
@@ -2,11 +2,11 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
-#include "citra_qt/configuration/configure_general.h"
-#include "citra_qt/ui_settings.h"
#include "core/core.h"
#include "core/settings.h"
#include "ui_configure_general.h"
+#include "yuzu/configuration/configure_general.h"
+#include "yuzu/ui_settings.h"
ConfigureGeneral::ConfigureGeneral(QWidget* parent)
: QWidget(parent), ui(new Ui::ConfigureGeneral) {
diff --git a/src/yuzu/configuration/configure_graphics.cpp b/src/yuzu/configuration/configure_graphics.cpp
index b5a5ab1e1..379e13301 100644
--- a/src/yuzu/configuration/configure_graphics.cpp
+++ b/src/yuzu/configuration/configure_graphics.cpp
@@ -2,10 +2,11 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
-#include "citra_qt/configuration/configure_graphics.h"
#include "core/core.h"
#include "core/settings.h"
#include "ui_configure_graphics.h"
+#include "yuzu/configuration/configure_graphics.h"
+
ConfigureGraphics::ConfigureGraphics(QWidget* parent)
: QWidget(parent), ui(new Ui::ConfigureGraphics) {
diff --git a/src/yuzu/configuration/configure_input.cpp b/src/yuzu/configuration/configure_input.cpp
index 116a6330f..4c2a3e738 100644
--- a/src/yuzu/configuration/configure_input.cpp
+++ b/src/yuzu/configuration/configure_input.cpp
@@ -6,10 +6,11 @@
#include <memory>
#include <utility>
#include <QTimer>
-#include "citra_qt/configuration/config.h"
-#include "citra_qt/configuration/configure_input.h"
#include "common/param_package.h"
#include "input_common/main.h"
+#include "yuzu/configuration/config.h"
+#include "yuzu/configuration/configure_input.h"
+
const std::array<std::string, ConfigureInput::ANALOG_SUB_BUTTONS_NUM>
ConfigureInput::analog_sub_buttons{{
diff --git a/src/yuzu/configuration/configure_system.cpp b/src/yuzu/configuration/configure_system.cpp
index d83c2db23..00966266b 100644
--- a/src/yuzu/configuration/configure_system.cpp
+++ b/src/yuzu/configuration/configure_system.cpp
@@ -3,10 +3,11 @@
// Refer to the license.txt file included.
#include <QMessageBox>
-#include "citra_qt/configuration/configure_system.h"
-#include "citra_qt/ui_settings.h"
#include "core/core.h"
#include "ui_configure_system.h"
+#include "yuzu/configuration/configure_system.h"
+#include "yuzu/ui_settings.h"
+
static const std::array<int, 12> days_in_month = {{
31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,
@@ -29,8 +30,7 @@ void ConfigureSystem::setConfiguration() {
enabled = !Core::System::GetInstance().IsPoweredOn();
}
-void ConfigureSystem::ReadSystemSettings() {
-}
+void ConfigureSystem::ReadSystemSettings() {}
void ConfigureSystem::applyConfiguration() {
if (!enabled)
diff --git a/src/yuzu/configuration/configure_web.cpp b/src/yuzu/configuration/configure_web.cpp
deleted file mode 100644
index bf8c21ac7..000000000
--- a/src/yuzu/configuration/configure_web.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright 2017 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#include <QMessageBox>
-#include "citra_qt/configuration/configure_web.h"
-#include "core/settings.h"
-#include "core/telemetry_session.h"
-#include "ui_configure_web.h"
-
-ConfigureWeb::ConfigureWeb(QWidget* parent)
- : QWidget(parent), ui(std::make_unique<Ui::ConfigureWeb>()) {
- ui->setupUi(this);
- connect(ui->button_regenerate_telemetry_id, &QPushButton::clicked, this,
- &ConfigureWeb::RefreshTelemetryID);
- connect(ui->button_verify_login, &QPushButton::clicked, this, &ConfigureWeb::VerifyLogin);
- connect(this, &ConfigureWeb::LoginVerified, this, &ConfigureWeb::OnLoginVerified);
-
- this->setConfiguration();
-}
-
-ConfigureWeb::~ConfigureWeb() {}
-
-void ConfigureWeb::setConfiguration() {
- ui->web_credentials_disclaimer->setWordWrap(true);
- ui->telemetry_learn_more->setOpenExternalLinks(true);
- ui->telemetry_learn_more->setText(tr("<a "
- "href='https://citra-emu.org/entry/"
- "telemetry-and-why-thats-a-good-thing/'>Learn more</a>"));
-
- ui->web_signup_link->setOpenExternalLinks(true);
- ui->web_signup_link->setText(tr("<a href='https://services.citra-emu.org/'>Sign up</a>"));
- ui->web_token_info_link->setOpenExternalLinks(true);
- ui->web_token_info_link->setText(
- tr("<a href='https://citra-emu.org/wiki/citra-web-service/'>What is my token?</a>"));
-
- ui->toggle_telemetry->setChecked(Settings::values.enable_telemetry);
- ui->edit_username->setText(QString::fromStdString(Settings::values.citra_username));
- ui->edit_token->setText(QString::fromStdString(Settings::values.citra_token));
- // Connect after setting the values, to avoid calling OnLoginChanged now
- connect(ui->edit_token, &QLineEdit::textChanged, this, &ConfigureWeb::OnLoginChanged);
- connect(ui->edit_username, &QLineEdit::textChanged, this, &ConfigureWeb::OnLoginChanged);
- ui->label_telemetry_id->setText(
- tr("Telemetry ID: 0x%1").arg(QString::number(Core::GetTelemetryId(), 16).toUpper()));
- user_verified = true;
-}
-
-void ConfigureWeb::applyConfiguration() {
- Settings::values.enable_telemetry = ui->toggle_telemetry->isChecked();
- if (user_verified) {
- Settings::values.citra_username = ui->edit_username->text().toStdString();
- Settings::values.citra_token = ui->edit_token->text().toStdString();
- } else {
- QMessageBox::warning(this, tr("Username and token not verfied"),
- tr("Username and token were not verified. The changes to your "
- "username and/or token have not been saved."));
- }
- Settings::Apply();
-}
-
-void ConfigureWeb::RefreshTelemetryID() {
- const u64 new_telemetry_id{Core::RegenerateTelemetryId()};
- ui->label_telemetry_id->setText(
- tr("Telemetry ID: 0x%1").arg(QString::number(new_telemetry_id, 16).toUpper()));
-}
-
-void ConfigureWeb::OnLoginChanged() {
- if (ui->edit_username->text().isEmpty() && ui->edit_token->text().isEmpty()) {
- user_verified = true;
- ui->label_username_verified->setPixmap(QPixmap(":/icons/checked.png"));
- ui->label_token_verified->setPixmap(QPixmap(":/icons/checked.png"));
- } else {
- user_verified = false;
- ui->label_username_verified->setPixmap(QPixmap(":/icons/failed.png"));
- ui->label_token_verified->setPixmap(QPixmap(":/icons/failed.png"));
- }
-}
-
-void ConfigureWeb::VerifyLogin() {
- verified =
- Core::VerifyLogin(ui->edit_username->text().toStdString(),
- ui->edit_token->text().toStdString(), [&]() { emit LoginVerified(); });
- ui->button_verify_login->setDisabled(true);
- ui->button_verify_login->setText(tr("Verifying"));
-}
-
-void ConfigureWeb::OnLoginVerified() {
- ui->button_verify_login->setEnabled(true);
- ui->button_verify_login->setText(tr("Verify"));
- if (verified.get()) {
- user_verified = true;
- ui->label_username_verified->setPixmap(QPixmap(":/icons/checked.png"));
- ui->label_token_verified->setPixmap(QPixmap(":/icons/checked.png"));
- } else {
- ui->label_username_verified->setPixmap(QPixmap(":/icons/failed.png"));
- ui->label_token_verified->setPixmap(QPixmap(":/icons/failed.png"));
- QMessageBox::critical(
- this, tr("Verification failed"),
- tr("Verification failed. Check that you have entered your username and token "
- "correctly, and that your internet connection is working."));
- }
-}
diff --git a/src/yuzu/configuration/configure_web.h b/src/yuzu/configuration/configure_web.h
deleted file mode 100644
index ad2d58f6e..000000000
--- a/src/yuzu/configuration/configure_web.h
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2017 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#pragma once
-
-#include <future>
-#include <memory>
-#include <QWidget>
-
-namespace Ui {
-class ConfigureWeb;
-}
-
-class ConfigureWeb : public QWidget {
- Q_OBJECT
-
-public:
- explicit ConfigureWeb(QWidget* parent = nullptr);
- ~ConfigureWeb();
-
- void applyConfiguration();
-
-public slots:
- void RefreshTelemetryID();
- void OnLoginChanged();
- void VerifyLogin();
- void OnLoginVerified();
-
-signals:
- void LoginVerified();
-
-private:
- void setConfiguration();
-
- bool user_verified = true;
- std::future<bool> verified;
-
- std::unique_ptr<Ui::ConfigureWeb> ui;
-};
diff --git a/src/yuzu/configuration/configure_web.ui b/src/yuzu/configuration/configure_web.ui
deleted file mode 100644
index dd996ab62..000000000
--- a/src/yuzu/configuration/configure_web.ui
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>ConfigureWeb</class>
- <widget class="QWidget" name="ConfigureWeb">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>926</width>
- <height>561</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Form</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_3">
- <item>
- <widget class="QGroupBox" name="groupBoxWebConfig">
- <property name="title">
- <string>Citra Web Service</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayoutCitraWebService">
- <item>
- <widget class="QLabel" name="web_credentials_disclaimer">
- <property name="text">
- <string>By providing your username and token, you agree to allow Citra to collect additional usage data, which may include user identifying information.</string>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QGridLayout" name="gridLayoutCitraUsername">
- <item row="2" column="3">
- <widget class="QPushButton" name="button_verify_login">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="layoutDirection">
- <enum>Qt::RightToLeft</enum>
- </property>
- <property name="text">
- <string>Verify</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="web_signup_link">
- <property name="text">
- <string>Sign up</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1" colspan="3">
- <widget class="QLineEdit" name="edit_username">
- <property name="maxLength">
- <number>36</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_token">
- <property name="text">
- <string>Token: </string>
- </property>
- </widget>
- </item>
- <item row="1" column="4">
- <widget class="QLabel" name="label_token_verified">
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="label_username">
- <property name="text">
- <string>Username: </string>
- </property>
- </widget>
- </item>
- <item row="0" column="4">
- <widget class="QLabel" name="label_username_verified">
- </widget>
- </item>
- <item row="1" column="1" colspan="3">
- <widget class="QLineEdit" name="edit_token">
- <property name="maxLength">
- <number>36</number>
- </property>
- <property name="echoMode">
- <enum>QLineEdit::Password</enum>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLabel" name="web_token_info_link">
- <property name="text">
- <string>What is my token?</string>
- </property>
- </widget>
- </item>
- <item row="2" column="2">
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="groupBox">
- <property name="title">
- <string>Telemetry</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <item>
- <widget class="QCheckBox" name="toggle_telemetry">
- <property name="text">
- <string>Share anonymous usage data with the Citra team</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="telemetry_learn_more">
- <property name="text">
- <string>Learn more</string>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QGridLayout" name="gridLayoutTelemetryId">
- <item row="0" column="0">
- <widget class="QLabel" name="label_telemetry_id">
- <property name="text">
- <string>Telemetry ID:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QPushButton" name="button_regenerate_telemetry_id">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="layoutDirection">
- <enum>Qt::RightToLeft</enum>
- </property>
- <property name="text">
- <string>Regenerate</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>