1
0
Fork 0
mirror of https://github.com/EdgeTX/edgetx.git synced 2025-07-23 08:15:13 +03:00

Simulator positions are always reloaded, setting controls whether they are saved or not

This commit is contained in:
Kilrah 2020-03-27 11:27:36 +01:00
parent 7caa79facd
commit 7f6d3f9e01
2 changed files with 169 additions and 150 deletions

View file

@ -45,7 +45,7 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>1</number> <number>2</number>
</property> </property>
<widget class="QWidget" name="profileTab"> <widget class="QWidget" name="profileTab">
<attribute name="title"> <attribute name="title">
@ -61,22 +61,40 @@
</sizepolicy> </sizepolicy>
</property> </property>
<layout class="QGridLayout" name="optionsLayout"> <layout class="QGridLayout" name="optionsLayout">
<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>
<property name="horizontalSpacing"> <property name="horizontalSpacing">
<number>5</number> <number>5</number>
</property> </property>
<property name="verticalSpacing"> <property name="verticalSpacing">
<number>4</number> <number>4</number>
</property> </property>
<property name="margin">
<number>0</number>
</property>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="7" column="0" colspan="4"> <item row="7" column="0" colspan="4">
<widget class="QWidget" name="widget_splashImage" native="true"> <widget class="QWidget" name="widget_splashImage" native="true">
<layout class="QGridLayout" name="gridLayout_5"> <layout class="QGridLayout" name="gridLayout_5">
<property name="margin"> <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> <number>0</number>
</property> </property>
<property name="spacing"> <property name="spacing">
@ -728,6 +746,19 @@ Mode 4:
</item> </item>
</layout> </layout>
</item> </item>
<item row="6" column="0" rowspan="2">
<widget class="QLabel" name="label_16">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Startup Settings</string>
</property>
</widget>
</item>
<item row="3" column="1"> <item row="3" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_10" stretch="0,1"> <layout class="QHBoxLayout" name="horizontalLayout_10" stretch="0,1">
<property name="spacing"> <property name="spacing">
@ -764,8 +795,8 @@ Mode 4:
</item> </item>
</layout> </layout>
</item> </item>
<item row="6" column="0" rowspan="2"> <item row="13" column="0">
<widget class="QLabel" name="label_16"> <widget class="QLabel" name="label_17">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed"> <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
@ -773,7 +804,7 @@ Mode 4:
</sizepolicy> </sizepolicy>
</property> </property>
<property name="text"> <property name="text">
<string>Startup Settings</string> <string>Automatic Backup Folder</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -797,29 +828,6 @@ Mode 4:
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="1">
<widget class="QCheckBox" name="showSplash">
<property name="text">
<string>Show splash screen when Companion starts</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="13" column="0">
<widget class="QLabel" name="label_17">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Automatic Backup Folder</string>
</property>
</widget>
</item>
<item row="3" column="0"> <item row="3" column="0">
<widget class="QLabel" name="label_5"> <widget class="QLabel" name="label_5">
<property name="sizePolicy"> <property name="sizePolicy">
@ -833,6 +841,43 @@ Mode 4:
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="1">
<widget class="QCheckBox" name="showSplash">
<property name="text">
<string>Show splash screen when Companion starts</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="18" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLineEdit" name="libraryPath">
<property name="enabled">
<bool>true</bool>
</property>
<property name="readOnly">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="libraryPathButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Select Folder</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="13" column="1"> <item row="13" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_8"> <layout class="QHBoxLayout" name="horizontalLayout_8">
<item> <item>
@ -864,32 +909,18 @@ Mode 4:
</property> </property>
</widget> </widget>
</item> </item>
<item row="18" column="1"> <item row="24" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_7"> <widget class="QLabel" name="label_12">
<item> <property name="sizePolicy">
<widget class="QLineEdit" name="libraryPath"> <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<property name="enabled"> <horstretch>0</horstretch>
<bool>true</bool> <verstretch>0</verstretch>
</property> </sizepolicy>
<property name="readOnly"> </property>
<bool>false</bool> <property name="text">
</property> <string>Debug Output Logging</string>
</widget> </property>
</item> </widget>
<item>
<widget class="QPushButton" name="libraryPathButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Select Folder</string>
</property>
</widget>
</item>
</layout>
</item> </item>
<item row="10" column="1"> <item row="10" column="1">
<widget class="QCheckBox" name="opt_removeBlankSlots"> <widget class="QCheckBox" name="opt_removeBlankSlots">
@ -901,7 +932,7 @@ Mode 4:
</property> </property>
</widget> </widget>
</item> </item>
<item row="24" column="0"> <item row="25" column="0">
<widget class="QLabel" name="lbl_appLogsDir"> <widget class="QLabel" name="lbl_appLogsDir">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed"> <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
@ -914,16 +945,23 @@ Mode 4:
</property> </property>
</widget> </widget>
</item> </item>
<item row="23" column="0"> <item row="19" column="0" rowspan="2" colspan="2">
<widget class="QLabel" name="label_12"> <widget class="Line" name="line_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="14" column="1">
<widget class="QCheckBox" name="backupEnable">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="text"> <property name="text">
<string>Debug Output Logging</string> <string>Enable automatic backup before writing firmware</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -961,26 +999,6 @@ Mode 4:
</item> </item>
</layout> </layout>
</item> </item>
<item row="14" column="1">
<widget class="QCheckBox" name="backupEnable">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Enable automatic backup before writing firmware</string>
</property>
</widget>
</item>
<item row="19" column="0" rowspan="2" colspan="2">
<widget class="Line" name="line_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="17" column="1"> <item row="17" column="1">
<widget class="QComboBox" name="splashincludeCB"> <widget class="QComboBox" name="splashincludeCB">
<property name="sizePolicy"> <property name="sizePolicy">
@ -1008,6 +1026,27 @@ Mode 4:
</property> </property>
</widget> </widget>
</item> </item>
<item row="25" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLineEdit" name="appLogsDir">
<property name="enabled">
<bool>true</bool>
</property>
<property name="readOnly">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_appLogsDir">
<property name="text">
<string>Select Folder</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="21" column="1"> <item row="21" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_9"> <layout class="QHBoxLayout" name="horizontalLayout_9">
<item> <item>
@ -1032,47 +1071,13 @@ Mode 4:
</item> </item>
</layout> </layout>
</item> </item>
<item row="24" column="1"> <item row="23" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLineEdit" name="appLogsDir">
<property name="enabled">
<bool>true</bool>
</property>
<property name="readOnly">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btn_appLogsDir">
<property name="text">
<string>Select Folder</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="22" column="0" colspan="2">
<widget class="Line" name="line_4"> <widget class="Line" name="line_4">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item row="18" column="0">
<widget class="QLabel" name="label_9">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>User Splash Screens</string>
</property>
</widget>
</item>
<item row="17" column="0"> <item row="17" column="0">
<widget class="QLabel" name="label_10"> <widget class="QLabel" name="label_10">
<property name="sizePolicy"> <property name="sizePolicy">
@ -1099,29 +1104,18 @@ Mode 4:
</property> </property>
</widget> </widget>
</item> </item>
<item row="23" column="1"> <item row="18" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_3"> <widget class="QLabel" name="label_9">
<item> <property name="sizePolicy">
<widget class="QCheckBox" name="opt_appDebugLog"> <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<property name="toolTip"> <horstretch>0</horstretch>
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Keep a log of all debugging messages generated by the desktop Companion/Simulator applications. An OpenTX developer may request this to help diagnose an issue.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <verstretch>0</verstretch>
</property> </sizepolicy>
<property name="text"> </property>
<string>Application (Companion/Simulator)</string> <property name="text">
</property> <string>User Splash Screens</string>
</widget> </property>
</item> </widget>
<item>
<widget class="QCheckBox" name="opt_fwTraceLog">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Keep a log of all messages generated by the radio firmware when running in Simulator. This is the same information one would also see in the Simulator &lt;span style=&quot; font-style:italic;&quot;&gt;Debug Output&lt;/span&gt; window.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Radio Firmware (in Simulator)</string>
</property>
</widget>
</item>
</layout>
</item> </item>
<item row="8" column="0"> <item row="8" column="0">
<widget class="QLabel" name="label_18"> <widget class="QLabel" name="label_18">
@ -1155,6 +1149,33 @@ Mode 4:
</item> </item>
</widget> </widget>
</item> </item>
<item row="24" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QCheckBox" name="opt_appDebugLog">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Keep a log of all debugging messages generated by the desktop Companion/Simulator applications. An OpenTX developer may request this to help diagnose an issue.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Application (Companion/Simulator)</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="opt_fwTraceLog">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Keep a log of all messages generated by the radio firmware when running in Simulator. This is the same information one would also see in the Simulator &lt;span style=&quot; font-style:italic;&quot;&gt;Debug Output&lt;/span&gt; window.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Radio Firmware (in Simulator)</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="22" column="0">
<widget class="QDateEdit" name="dateEdit"/>
</item>
</layout> </layout>
</item> </item>
<item> <item>
@ -1357,7 +1378,7 @@ Mode 4:
</sizepolicy> </sizepolicy>
</property> </property>
<property name="text"> <property name="text">
<string>Remember simulator switch values</string> <string>Save switch/pot positions on simulator exit</string>
</property> </property>
</widget> </widget>
</item> </item>

View file

@ -680,14 +680,12 @@ void SimulatorWidget::setupJoysticks()
void SimulatorWidget::restoreRadioWidgetsState() void SimulatorWidget::restoreRadioWidgetsState()
{ {
// All RadioWidgets // All RadioWidgets
if (g.simuSW()) { RadioWidget::RadioWidgetState state;
RadioWidget::RadioWidgetState state; QList<QByteArray> states = g.profile[radioProfileId].simulatorOptions().controlsState;
QList<QByteArray> states = g.profile[radioProfileId].simulatorOptions().controlsState; foreach (QByteArray ba, states) {
foreach (QByteArray ba, states) { QDataStream stream(ba);
QDataStream stream(ba); stream >> state;
stream >> state; emit widgetStateChange(state);
emit widgetStateChange(state);
}
} }
// Set throttle stick down and locked, side depends on mode // Set throttle stick down and locked, side depends on mode
@ -701,8 +699,8 @@ void SimulatorWidget::restoreRadioWidgetsState()
void SimulatorWidget::saveRadioWidgetsState(QList<QByteArray> & state) void SimulatorWidget::saveRadioWidgetsState(QList<QByteArray> & state)
{ {
if (m_radioWidgets.size()) { if (m_radioWidgets.size()) {
state.clear();
if (g.simuSW()) { if (g.simuSW()) {
state.clear();
foreach (RadioWidget * rw, m_radioWidgets) foreach (RadioWidget * rw, m_radioWidgets)
state.append(rw->getStateData()); state.append(rw->getStateData());
} }