Edit configure_cpu.ui

This commit is contained in:
collecting
2025-10-05 11:39:55 +00:00
parent 1ad8a783b7
commit 6a7c323572

View File

@@ -1,70 +1,151 @@
// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
// SPDX-FileCopyrightText: Copyright 2025 citron Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <memory>
#include <vector>
#include <QString> // Added for stylesheet property
#include <QWidget>
#include "citron/configuration/configuration_shared.h"
#include "citron/configuration/shared_translation.h"
class QComboBox;
namespace Core {
class System;
}
namespace Ui {
class ConfigureCpu;
}
namespace ConfigurationShared {
class Builder;
}
class ConfigureCpu : public ConfigurationShared::Tab {
Q_OBJECT
// This property allows the main UI file to pass its stylesheet to this widget
Q_PROPERTY(QString templateStyleSheet READ GetTemplateStyleSheet WRITE SetTemplateStyleSheet NOTIFY TemplateStyleSheetChanged)
public:
explicit ConfigureCpu(const Core::System& system_,
std::shared_ptr<std::vector<ConfigurationShared::Tab*>> group,
const ConfigurationShared::Builder& builder, QWidget* parent = nullptr);
~ConfigureCpu() override;
void ApplyConfiguration() override;
void SetConfiguration() override;
// These functions get and set the stylesheet property
QString GetTemplateStyleSheet() const;
void SetTemplateStyleSheet(const QString& sheet);
signals:
void TemplateStyleSheetChanged();
private:
void changeEvent(QEvent* event) override;
void RetranslateUI();
void UpdateGroup(int index);
void Setup(const ConfigurationShared::Builder& builder);
std::unique_ptr<Ui::ConfigureCpu> ui;
const Core::System& system;
const ConfigurationShared::ComboboxTranslationMap& combobox_translations;
std::vector<std::function<void(bool)>> apply_funcs{};
QComboBox* accuracy_combobox;
QComboBox* backend_combobox;
// This variable will hold the raw stylesheet string
QString m_template_style_sheet;
};
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ConfigureCpu</class>
<widget class="QWidget" name="ConfigureCpu">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>448</width>
<height>439</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<property name="accessibleName">
<string>CPU</string>
</property>
<layout class="QVBoxLayout" name="vboxlayout_2" stretch="0">
<item>
<layout class="QVBoxLayout" name="vboxlayout">
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>General</string>
</property>
<layout class="QVBoxLayout">
<item>
<widget class="QWidget" name="widget_accuracy" native="true">
<layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
</layout>
</widget>
</item>
<item>
<widget class="QLabel" name="label_recommended_accuracy">
<property name="text">
<string>We recommend setting accuracy to &quot;Auto&quot;.</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="backend_group">
<property name="title">
<string>CPU Backend</string>
</property>
<layout class="QVBoxLayout">
<item>
<widget class="QWidget" name="widget_backend" native="true">
<layout class="QVBoxLayout" name="verticalLayout1">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
</layout>
</widget>
</item>
</layout>
<property name="visible">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="unsafe_group">
<property name="title">
<string>Unsafe CPU Optimization Settings</string>
</property>
<layout class="QVBoxLayout">
<item>
<widget class="QLabel" name="label_accuracy_description">
<property name="text">
<string>These settings reduce accuracy for speed.</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QWidget" name="unsafe_widget" native="true">
<layout class="QVBoxLayout" name="unsafe_layout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>