diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2018-01-18 23:08:30 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2018-01-18 23:08:30 +0100 |
commit | e0866f30d25abd62fadb4b29fff90143c288e9ff (patch) | |
tree | 8e482e9d549e6bed4f6843d103b39c2591cb92d8 /gui | |
parent | ee7a635a4c2222b8a77f26956dadcd9d515536a7 (diff) |
logic: change relative translation triggering
Relative translation mode now has three states:
- disabled
- always enabled
- enabled when not aiming
In the third mode, looking very close to center disables reltrans. The
exact values aren't final.
Diffstat (limited to 'gui')
-rw-r--r-- | gui/settings-dialog.ui | 89 | ||||
-rw-r--r-- | gui/settings.cpp | 23 |
2 files changed, 77 insertions, 35 deletions
diff --git a/gui/settings-dialog.ui b/gui/settings-dialog.ui index 363edb3a..20a1b524 100644 --- a/gui/settings-dialog.ui +++ b/gui/settings-dialog.ui @@ -1785,13 +1785,47 @@ </widget> </item> <item> - <widget class="QCheckBox" name="tcomp_enable"> - <property name="styleSheet"> - <string notr="true"/> - </property> - <property name="text"> - <string>Enable</string> - </property> + <widget class="QWidget" name="widget" native="true"> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="label_17"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>10</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Mode</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="reltrans_mode"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> + <horstretch>4</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <item> + <property name="text"> + <string>Disabled</string> + </property> + </item> + <item> + <property name="text"> + <string>Enabled</string> + </property> + </item> + <item> + <property name="text"> + <string>Enabled when not aiming</string> + </property> + </item> + </widget> + </item> + </layout> </widget> </item> <item> @@ -1825,7 +1859,7 @@ <number>0</number> </property> <item row="2" column="0"> - <widget class="QCheckBox" name="tcomp_tx_disable"> + <widget class="QCheckBox" name="tcomp_ty_disable"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> <horstretch>3</horstretch> @@ -1836,12 +1870,12 @@ <string notr="true"/> </property> <property name="text"> - <string>Disable for X</string> + <string>Disable for Y</string> </property> </widget> </item> - <item row="3" column="0"> - <widget class="QCheckBox" name="tcomp_ty_disable"> + <item row="1" column="0"> + <widget class="QCheckBox" name="tcomp_tx_disable"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> <horstretch>3</horstretch> @@ -1852,40 +1886,40 @@ <string notr="true"/> </property> <property name="text"> - <string>Disable for Y</string> + <string>Disable for X</string> </property> </widget> </item> - <item row="4" column="0"> - <widget class="QCheckBox" name="tcomp_tz_disable"> + <item row="3" column="1"> + <widget class="QCheckBox" name="tcomp_src_roll_disable"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> - <horstretch>3</horstretch> + <horstretch>2</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="styleSheet"> - <string notr="true"/> - </property> <property name="text"> - <string>Disable for Z (for zoom on Z axis)</string> + <string>Disable effect by roll</string> </property> </widget> </item> - <item row="2" column="1"> - <widget class="QCheckBox" name="tcomp_src_yaw_disable"> + <item row="3" column="0"> + <widget class="QCheckBox" name="tcomp_tz_disable"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> - <horstretch>2</horstretch> + <horstretch>3</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> + <property name="styleSheet"> + <string notr="true"/> + </property> <property name="text"> - <string>Disable effect by yaw</string> + <string>Disable for Z (for zoom on Z axis)</string> </property> </widget> </item> - <item row="3" column="1"> + <item row="2" column="1"> <widget class="QCheckBox" name="tcomp_src_pitch_disable"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> @@ -1898,8 +1932,8 @@ </property> </widget> </item> - <item row="4" column="1"> - <widget class="QCheckBox" name="tcomp_src_roll_disable"> + <item row="1" column="1"> + <widget class="QCheckBox" name="tcomp_src_yaw_disable"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Maximum"> <horstretch>2</horstretch> @@ -1907,7 +1941,7 @@ </sizepolicy> </property> <property name="text"> - <string>Disable effect by roll</string> + <string>Disable effect by yaw</string> </property> </widget> </item> @@ -2147,7 +2181,6 @@ <tabstop>src_z</tabstop> <tabstop>invert_z</tabstop> <tabstop>tracklogging_enabled</tabstop> - <tabstop>tcomp_enable</tabstop> <tabstop>tcomp_tx_disable</tabstop> <tabstop>tcomp_ty_disable</tabstop> <tabstop>tcomp_tz_disable</tabstop> diff --git a/gui/settings.cpp b/gui/settings.cpp index fe0b3261..fc7cde19 100644 --- a/gui/settings.cpp +++ b/gui/settings.cpp @@ -54,15 +54,24 @@ options_dialog::options_dialog(std::function<void(bool)> pause_keybindings) : tie_setting(main.center_at_startup, ui.center_at_startup); - tie_setting(main.tcomp_p, ui.tcomp_enable); + const reltrans_state reltrans_modes[] = { + reltrans_disabled, + reltrans_enabled, + reltrans_non_center, + }; + + for (unsigned k = 0; k < 3; k++) + ui.reltrans_mode->setItemData(k, int(reltrans_modes[k])); + + tie_setting(main.reltrans_mode, ui.reltrans_mode); - tie_setting(main.tcomp_disable_tx, ui.tcomp_tx_disable); - tie_setting(main.tcomp_disable_ty, ui.tcomp_ty_disable); - tie_setting(main.tcomp_disable_tz, ui.tcomp_tz_disable); + tie_setting(main.reltrans_disable_tx, ui.tcomp_tx_disable); + tie_setting(main.reltrans_disable_ty, ui.tcomp_ty_disable); + tie_setting(main.reltrans_disable_tz, ui.tcomp_tz_disable); - tie_setting(main.tcomp_disable_src_yaw, ui.tcomp_src_yaw_disable); - tie_setting(main.tcomp_disable_src_pitch, ui.tcomp_src_pitch_disable); - tie_setting(main.tcomp_disable_src_roll, ui.tcomp_src_roll_disable); + tie_setting(main.reltrans_disable_src_yaw, ui.tcomp_src_yaw_disable); + tie_setting(main.reltrans_disable_src_pitch, ui.tcomp_src_pitch_disable); + tie_setting(main.reltrans_disable_src_roll, ui.tcomp_src_roll_disable); tie_setting(main.neck_z, ui.neck_z); |