Files
OpenRGB/qt/OpenRGBZoneEditorDialog/OpenRGBZoneEditorDialog.ui
Adam Honse 17313f0d94 Settings Rework
* Add JSON string configuration field to RGBController to store device-specific configurations
    * This JSON string holds both configuration and schema
    * Add settings schema tracking to SettingsManager
    * Implement dynamic settings widget that generates a settings UI based on a JSON schema
    * Implement SettingsManager callback for notifying of settings changes and settings schema updates
    * Always enable Entire Device zone option and use it to enable Edit Device
    * Rename SaveSizes to SaveConfiguration in ProfileManager and Sizes.json to Configuration.json
    * Add zone flag for indicating that a zone's geometry may change, informing profile manager to ignore this check
    * Remove Theme setting and Theme Manager, as this didn't work on most setups anyways and Qt6 has proper Windows dark theming
2026-05-07 00:36:59 -05:00

270 lines
7.8 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>OpenRGBZoneEditorDialog</class>
<widget class="QDialog" name="OpenRGBZoneEditorDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>750</width>
<height>496</height>
</rect>
</property>
<property name="windowTitle">
<string>Zone Editor</string>
</property>
<layout class="QGridLayout" name="gridLayout" columnstretch="1,0,0">
<item row="2" column="0" colspan="3">
<widget class="QGroupBox" name="GroupBoxSegments">
<property name="title">
<string>Segments Configuration</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="2">
<widget class="QPushButton" name="RemoveSegmentButton">
<property name="text">
<string>Remove Segment</string>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QPushButton" name="ExportConfigurationButton">
<property name="text">
<string>Export Configuration</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="AddSegmentButton">
<property name="text">
<string>Add Segment</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="5">
<widget class="QTreeWidget" name="SegmentsTreeWidget">
<property name="itemsExpandable">
<bool>false</bool>
</property>
<property name="columnCount">
<number>4</number>
</property>
<attribute name="headerStretchLastSection">
<bool>true</bool>
</attribute>
<column>
<property name="text">
<string notr="true">Name</string>
</property>
</column>
<column>
<property name="text">
<string>Type</string>
</property>
</column>
<column>
<property name="text">
<string>Length</string>
</property>
</column>
<column>
<property name="text">
<string/>
</property>
</column>
</widget>
</item>
<item row="1" column="3">
<widget class="QPushButton" name="ImportConfigurationButton">
<property name="text">
<string>Import Configuration</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="AddSegmentGroupButton">
<property name="text">
<string>Add Segment Group</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="5" column="0" colspan="2">
<layout class="QHBoxLayout" name="HorizontalLayoutButtonBox">
<item>
<widget class="QPushButton" name="ButtonResetZoneConfiguration">
<property name="text">
<string>Reset Zone Configuration</string>
</property>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="ButtonBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
</property>
</widget>
</item>
</layout>
</item>
<item row="3" column="0" colspan="2">
<widget class="QGroupBox" name="GroupBoxDeviceSpecificZoneConfiguration">
<property name="title">
<string>Device-Specific Zone Configuration</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<widget class="QScrollArea" name="ScrollAreaDeviceSpecificZoneConfiguration">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="ScrollAreaDeviceSpecificZoneConfigurationWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>714</width>
<height>65</height>
</rect>
</property>
<layout class="QVBoxLayout" name="ScrollAreaDeviceSpecificZoneConfigurationLayout"/>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="0" colspan="3">
<widget class="QGroupBox" name="GroupBoxZoneConfiguration">
<property name="title">
<string>Zone Configuration</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="3" column="0" colspan="3">
<layout class="QGridLayout" name="GroupBoxZoneSettings">
<item row="0" column="0">
<widget class="QLabel" name="LabelZoneType">
<property name="text">
<string>Zone Type:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="ComboBoxZoneType"/>
</item>
<item row="0" column="3">
<widget class="QPushButton" name="ButtonZoneMatrixMap">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="LabelZoneMatrixMap">
<property name="text">
<string>Zone Matrix Map:</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="0">
<widget class="QLabel" name="LabelZoneName">
<property name="text">
<string>Zone Name:</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="LabelZoneSize">
<property name="text">
<string>Zone Size:</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QSpinBox" name="SpinBoxZoneSize">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QTooltipedSlider" name="SliderZoneSize">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<widget class="QLineEdit" name="LineEditZoneName"/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>QTooltipedSlider</class>
<extends>QSlider</extends>
<header location="global">QTooltipedSlider.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections>
<connection>
<sender>ButtonBox</sender>
<signal>accepted()</signal>
<receiver>OpenRGBZoneEditorDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>ButtonBox</sender>
<signal>rejected()</signal>
<receiver>OpenRGBZoneEditorDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
</connections>
</ui>