* [package] Add QtSvg support DLLs for Windows.
* [Simulator] Add images/css resources for new version; Create SimulatorIcon and SimulatorStyle classes; Build with SVG support, remove unused bitmaps.
* [Simulator] Improve and simplify VirtualJoystickWidget resize event (sticks maintain X/Y position) & improve values layout w/out trims.
* [Simulator] Refactor Trainer simulator to use VirtualJoystickWidget, gains lock/hold buttons and X/Y position readout.
* [Simulator] More compact layout for Telemetry simulator, reduces min. width and adds scrolling columns to allow smaller window sizes.
* [Simulator] Add new SimulatorMainWindow and RadioOutputsWidget UI classes.
* [storage] Add non-persistent sessionId() to AppData for tracking currently active radio profile ID.
* [Simulator] Major UI updates:
* Use a MainWindow interface with dockable/floatable windows, proper toolbar & menu;
* Persistent size/layout state of all windows/docks/etc between uses, per radio profile;
* Completely separate radio Outputs window with configurable layout (also persistent between uses);
* Translations now enabled in standalone Simulator, follows main Companion setting (they need a lot of updates);
* New custom icons throughout, toolbar icon sizes adhere to user preference in Companion.
* [Simulator] Debug Output console updates:
* New filter feature with optional full RegEx support, can work in inclusive or exclusive modes (full help text is included in UI);
* Up to 50 user-defined filters are saved to permanent settings, also a few predefined filters are provided;
* Saves/restores the last filter used and if it was en/disabled;
* Added word wrap and clear screen features;
* Configurable scroll-back buffer size;
* Increased efficiency & performance of the buffering/printing process.
* [Simulator][OSX] Visual UI tweaks for OS X.
* [Simulator] Fix some debug console settings not being restored properly.
* [Simulator] Add ability to hide/show menu bar; Persist view state of menu bar and radio title bar; Reduce font size on OS X; Other small visual tweaks and improvements.
* [build] Add QtSvg to Linux build scripts (a guess for Dockerfile).
* [build] Fix for Qt 5.3.
* Add OpenTx headers to new files.
* [Companion][storage] Update GeneralSettings() initializer to use current sessionId for profile data retrieval, removes workaround for standalone Simulator being started with arbitrary profile; AppData: always update sessionId when global id() changes.
* [X10] Fixes for new simulator
411 lines
13 KiB
XML
411 lines
13 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>SimulatorStartupDialog</class>
|
|
<widget class="QDialog" name="SimulatorStartupDialog">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>550</width>
|
|
<height>217</height>
|
|
</rect>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>550</width>
|
|
<height>0</height>
|
|
</size>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>OpenTX Simulator - Startup Options</string>
|
|
</property>
|
|
<property name="modal">
|
|
<bool>true</bool>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout">
|
|
<property name="spacing">
|
|
<number>6</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QGroupBox" name="groupBox">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="title">
|
|
<string>Simulator Startup Options:</string>
|
|
</property>
|
|
<layout class="QFormLayout" name="layout_options">
|
|
<property name="sizeConstraint">
|
|
<enum>QLayout::SetNoConstraint</enum>
|
|
</property>
|
|
<property name="fieldGrowthPolicy">
|
|
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
|
</property>
|
|
<property name="labelAlignment">
|
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
</property>
|
|
<property name="formAlignment">
|
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
|
</property>
|
|
<property name="horizontalSpacing">
|
|
<number>5</number>
|
|
</property>
|
|
<property name="verticalSpacing">
|
|
<number>4</number>
|
|
</property>
|
|
<property name="leftMargin">
|
|
<number>9</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>7</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>9</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>5</number>
|
|
</property>
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_2">
|
|
<property name="text">
|
|
<string>Radio Profile:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QComboBox" name="radioProfile">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Existing radio profiles are shown here.<br />
|
|
Create or edit profiles using the Companion application.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="label_3">
|
|
<property name="text">
|
|
<string>Radio Type:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QComboBox" name="radioType">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Existing radio simulators are shown here.<br />
|
|
The radio type specified in the selected profile is used by default.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QLabel" name="label_6">
|
|
<property name="text">
|
|
<string>Data Source:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="0">
|
|
<widget class="QLabel" name="label_4">
|
|
<property name="text">
|
|
<string>Data File:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="0">
|
|
<widget class="QLabel" name="label_5">
|
|
<property name="text">
|
|
<string>Data Folder:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="5" column="0">
|
|
<widget class="QLabel" name="label_7">
|
|
<property name="text">
|
|
<string>SD Image Path:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="1">
|
|
<widget class="QWidget" name="wdgt_dataFile" native="true">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<layout class="QHBoxLayout" name="layout_dataFile" stretch="1,0">
|
|
<property name="spacing">
|
|
<number>4</number>
|
|
</property>
|
|
<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>
|
|
<item>
|
|
<widget class="QLineEdit" name="dataFile">
|
|
<property name="toolTip">
|
|
<string>Radio data (.bin/.eeprom/.otx) image file to use. A new file with a default image will be created if necessary.<br />
|
|
<b>NOTE</b>: any existing EEPROM data incompatible with the selected radio type may be overwritten!</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="btnSelectDataFile">
|
|
<property name="toolTip">
|
|
<string>Select data file...</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>...</string>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset>
|
|
<normaloff>:/themes/monoblue/16/open.png</normaloff>:/themes/monoblue/16/open.png</iconset>
|
|
</property>
|
|
<property name="toolButtonStyle">
|
|
<enum>Qt::ToolButtonIconOnly</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="1">
|
|
<widget class="QWidget" name="wdgt_dataFolder" native="true">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<layout class="QHBoxLayout" name="layout_dataFolder" stretch="1,0">
|
|
<property name="spacing">
|
|
<number>4</number>
|
|
</property>
|
|
<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>
|
|
<item>
|
|
<widget class="QLineEdit" name="dataFolder">
|
|
<property name="toolTip">
|
|
<string>Directory containing RADIO and MODELS folders to use.<br />
|
|
New folder(s) with default radio/model will be created here if necessary.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="btnSelectDataFolder">
|
|
<property name="toolTip">
|
|
<string>Select data folder...</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>...</string>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset>
|
|
<normaloff>:/themes/monoblue/16/open.png</normaloff>:/themes/monoblue/16/open.png</iconset>
|
|
</property>
|
|
<property name="toolButtonStyle">
|
|
<enum>Qt::ToolButtonIconOnly</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="5" column="1">
|
|
<widget class="QWidget" name="wdgt_sdPath" native="true">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<layout class="QHBoxLayout" name="layout_sdPath" stretch="1,0">
|
|
<property name="spacing">
|
|
<number>4</number>
|
|
</property>
|
|
<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>
|
|
<item>
|
|
<widget class="QLineEdit" name="sdPath">
|
|
<property name="toolTip">
|
|
<string>Directory containing the SD card image to use.<br/>
|
|
The default is configured in the chosen Radio Profile.</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="btnSelectSdPath">
|
|
<property name="toolTip">
|
|
<string>Select SD card image folder...</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>...</string>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset>
|
|
<normaloff>:/themes/monoblue/16/open.png</normaloff>:/themes/monoblue/16/open.png</iconset>
|
|
</property>
|
|
<property name="toolButtonStyle">
|
|
<enum>Qt::ToolButtonIconOnly</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QWidget" name="wdgt_dataSource" native="true">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Select which of the data sources (File/Folder/SD Card) you would like to start the simulator with.</string>
|
|
</property>
|
|
<layout class="QHBoxLayout" name="layout_dataSource">
|
|
<property name="spacing">
|
|
<number>5</number>
|
|
</property>
|
|
<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>
|
|
<item>
|
|
<widget class="QRadioButton" name="optFile">
|
|
<property name="text">
|
|
<string>File</string>
|
|
</property>
|
|
<attribute name="buttonGroup">
|
|
<string notr="true">optGrp_dataSource</string>
|
|
</attribute>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QRadioButton" name="optFolder">
|
|
<property name="text">
|
|
<string>Folder</string>
|
|
</property>
|
|
<attribute name="buttonGroup">
|
|
<string notr="true">optGrp_dataSource</string>
|
|
</attribute>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QRadioButton" name="optSdPath">
|
|
<property name="text">
|
|
<string>SD Path</string>
|
|
</property>
|
|
<attribute name="buttonGroup">
|
|
<string notr="true">optGrp_dataSource</string>
|
|
</attribute>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QDialogButtonBox" name="buttonBox">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="standardButtons">
|
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<resources/>
|
|
<connections>
|
|
<connection>
|
|
<sender>buttonBox</sender>
|
|
<signal>accepted()</signal>
|
|
<receiver>SimulatorStartupDialog</receiver>
|
|
<slot>accept()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>248</x>
|
|
<y>254</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>157</x>
|
|
<y>274</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>buttonBox</sender>
|
|
<signal>rejected()</signal>
|
|
<receiver>SimulatorStartupDialog</receiver>
|
|
<slot>reject()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>316</x>
|
|
<y>260</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>286</x>
|
|
<y>274</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
</connections>
|
|
<buttongroups>
|
|
<buttongroup name="optGrp_dataSource"/>
|
|
</buttongroups>
|
|
</ui>
|