1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-01-29 14:52:12 +01:00

OP-1331 fixed alignment issues in Config Input channel list (mostly by fixing the size of items).

Removed hidden channelNumber spin box. Included other minor UI cleanups (spin box text right aligned, ...).
This commit is contained in:
Philippe Renon 2014-05-08 18:12:37 +02:00
parent 07a828f971
commit fed7fba84f
5 changed files with 819 additions and 721 deletions

View File

@ -88,7 +88,7 @@ ConfigInputWidget::ConfigInputWidget(QWidget *parent) :
// in reverse order of the binding order otherwise the 'Reversed' logic will floor the neutral value // in reverse order of the binding order otherwise the 'Reversed' logic will floor the neutral value
// to the max value ( which is smaller than the neutral value when reversed ) and the channel number // to the max value ( which is smaller than the neutral value when reversed ) and the channel number
// will not be set correctly. // will not be set correctly.
addWidgetBinding("ManualControlSettings", "ChannelNumber", inpForm->ui->channelNumber, index); addWidgetBinding("ManualControlSettings", "ChannelNumber", inpForm->ui->channelNumberDropdown, index);
addWidgetBinding("ManualControlSettings", "ChannelGroups", inpForm->ui->channelGroup, index); addWidgetBinding("ManualControlSettings", "ChannelGroups", inpForm->ui->channelGroup, index);
addWidgetBinding("ManualControlSettings", "ChannelNeutral", inpForm->ui->channelNeutral, index); addWidgetBinding("ManualControlSettings", "ChannelNeutral", inpForm->ui->channelNeutral, index);
addWidgetBinding("ManualControlSettings", "ChannelNeutral", inpForm->ui->neutralValue, index); addWidgetBinding("ManualControlSettings", "ChannelNeutral", inpForm->ui->neutralValue, index);
@ -96,7 +96,6 @@ ConfigInputWidget::ConfigInputWidget(QWidget *parent) :
addWidgetBinding("ManualControlSettings", "ChannelMin", inpForm->ui->channelMin, index); addWidgetBinding("ManualControlSettings", "ChannelMin", inpForm->ui->channelMin, index);
addWidgetBinding("ManualControlSettings", "ChannelMax", inpForm->ui->channelMax, index); addWidgetBinding("ManualControlSettings", "ChannelMax", inpForm->ui->channelMax, index);
addWidget(inpForm->ui->channelNumberDropdown);
addWidget(inpForm->ui->channelResponseTime); addWidget(inpForm->ui->channelResponseTime);
addWidget(inpForm->ui->channelRev); addWidget(inpForm->ui->channelRev);

View File

@ -116,8 +116,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>774</width> <width>772</width>
<height>748</height> <height>751</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
@ -143,16 +143,16 @@
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_6"> <layout class="QVBoxLayout" name="verticalLayout_6">
<property name="leftMargin"> <property name="leftMargin">
<number>12</number> <number>9</number>
</property> </property>
<property name="topMargin"> <property name="topMargin">
<number>0</number> <number>9</number>
</property> </property>
<property name="rightMargin"> <property name="rightMargin">
<number>12</number> <number>9</number>
</property> </property>
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>9</number>
</property> </property>
<item> <item>
<widget class="QStackedWidget" name="stackedWidget"> <widget class="QStackedWidget" name="stackedWidget">
@ -162,21 +162,21 @@
<widget class="QWidget" name="advancedPage"> <widget class="QWidget" name="advancedPage">
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_3">
<property name="leftMargin"> <property name="leftMargin">
<number>12</number> <number>0</number>
</property> </property>
<property name="topMargin"> <property name="topMargin">
<number>12</number> <number>0</number>
</property> </property>
<property name="rightMargin"> <property name="rightMargin">
<number>12</number> <number>0</number>
</property> </property>
<property name="bottomMargin"> <property name="bottomMargin">
<number>12</number> <number>0</number>
</property> </property>
<item> <item>
<layout class="QVBoxLayout" name="channelSettings"> <layout class="QVBoxLayout" name="channelSettings">
<property name="spacing"> <property name="spacing">
<number>0</number> <number>6</number>
</property> </property>
</layout> </layout>
</item> </item>
@ -546,8 +546,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>774</width> <width>724</width>
<height>748</height> <height>497</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_7" rowstretch="1,0,0,0"> <layout class="QGridLayout" name="gridLayout_7" rowstretch="1,0,0,0">
@ -2048,8 +2048,8 @@ Setup the flight mode channel on the RC Input tab if you have not done so alread
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>504</width> <width>407</width>
<height>156</height> <height>138</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">

View File

@ -4,30 +4,31 @@
#include "manualcontrolsettings.h" #include "manualcontrolsettings.h"
#include "gcsreceiver.h" #include "gcsreceiver.h"
InputChannelForm::InputChannelForm(QWidget *parent, bool showlegend) : InputChannelForm::InputChannelForm(QWidget *parent, bool showLegend) :
ConfigTaskWidget(parent), ConfigTaskWidget(parent), ui(new Ui::InputChannelForm)
ui(new Ui::InputChannelForm)
{ {
ui->setupUi(this); ui->setupUi(this);
// The first time through the loop, keep the legend. All other times, delete it. // The first time through the loop, keep the legend. All other times, delete it.
if (!showlegend) { if (!showLegend) {
layout()->removeWidget(ui->legend0); QLayout *legendLayout = layout()->itemAt(0)->layout();
layout()->removeWidget(ui->legend1); Q_ASSERT(legendLayout);
layout()->removeWidget(ui->legend2); // remove every item
layout()->removeWidget(ui->legend3); while (legendLayout->count()) {
layout()->removeWidget(ui->legend4); QLayoutItem *item = legendLayout->takeAt(0);
layout()->removeWidget(ui->legend5); if (!item) {
layout()->removeWidget(ui->legend6); continue;
layout()->removeWidget(ui->legend7); }
delete ui->legend0; // get widget from layout item
delete ui->legend1; QWidget *widget = item->widget();
delete ui->legend2; if (widget) {
delete ui->legend3; delete widget;
delete ui->legend4; continue;
delete ui->legend5; }
delete ui->legend6; }
delete ui->legend7; // and finally remove and delete the legend layout
layout()->removeItem(legendLayout);
delete legendLayout;
} }
connect(ui->channelMin, SIGNAL(valueChanged(int)), this, SLOT(minMaxUpdated())); connect(ui->channelMin, SIGNAL(valueChanged(int)), this, SLOT(minMaxUpdated()));
@ -36,12 +37,6 @@ InputChannelForm::InputChannelForm(QWidget *parent, bool showlegend) :
connect(ui->channelGroup, SIGNAL(currentIndexChanged(int)), this, SLOT(groupUpdated())); connect(ui->channelGroup, SIGNAL(currentIndexChanged(int)), this, SLOT(groupUpdated()));
connect(ui->channelRev, SIGNAL(toggled(bool)), this, SLOT(reversedUpdated())); connect(ui->channelRev, SIGNAL(toggled(bool)), this, SLOT(reversedUpdated()));
// This is awkward but since we want the UI to be a dropdown but the field is not an enum
// it breaks the UAUVObject widget relation of the task gadget. Running the data through
// a spin box fixes this
connect(ui->channelNumberDropdown, SIGNAL(currentIndexChanged(int)), this, SLOT(channelDropdownUpdated(int)));
connect(ui->channelNumber, SIGNAL(valueChanged(int)), this, SLOT(channelNumberUpdated(int)));
disableMouseWheelEvents(); disableMouseWheelEvents();
} }
@ -54,19 +49,6 @@ InputChannelForm::~InputChannelForm()
void InputChannelForm::setName(QString &name) void InputChannelForm::setName(QString &name)
{ {
ui->channelName->setText(name); ui->channelName->setText(name);
QFontMetrics metrics(ui->channelName->font());
int width = metrics.width(name) + 5;
foreach(InputChannelForm * form, parent()->findChildren<InputChannelForm *>()) {
if (form == this) {
continue;
}
if (form->ui->channelName->minimumSize().width() < width) {
form->ui->channelName->setMinimumSize(width, 0);
} else {
width = form->ui->channelName->minimumSize().width();
}
}
ui->channelName->setMinimumSize(width, 0);
} }
/** /**
@ -170,23 +152,4 @@ void InputChannelForm::groupUpdated()
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
ui->channelNumberDropdown->addItem(QString(tr("Chan %1").arg(i + 1))); ui->channelNumberDropdown->addItem(QString(tr("Chan %1").arg(i + 1)));
} }
ui->channelNumber->setMaximum(count);
ui->channelNumber->setMinimum(0);
}
/**
* Update the dropdown from the hidden control
*/
void InputChannelForm::channelDropdownUpdated(int newval)
{
ui->channelNumber->setValue(newval);
}
/**
* Update the hidden control from the dropdown
*/
void InputChannelForm::channelNumberUpdated(int newval)
{
ui->channelNumberDropdown->setCurrentIndex(newval);
} }

View File

@ -1,8 +1,10 @@
#ifndef INPUTCHANNELFORM_H #ifndef INPUTCHANNELFORM_H
#define INPUTCHANNELFORM_H #define INPUTCHANNELFORM_H
#include <QWidget>
#include "configinputwidget.h" #include "configinputwidget.h"
#include <QWidget>
namespace Ui { namespace Ui {
class InputChannelForm; class InputChannelForm;
} }
@ -11,7 +13,7 @@ class InputChannelForm : public ConfigTaskWidget {
Q_OBJECT Q_OBJECT
public: public:
explicit InputChannelForm(QWidget *parent = 0, bool showlegend = false); explicit InputChannelForm(QWidget *parent = 0, const bool showLegend = false);
~InputChannelForm(); ~InputChannelForm();
friend class ConfigInputWidget; friend class ConfigInputWidget;
void setName(QString &name); void setName(QString &name);
@ -20,8 +22,6 @@ private slots:
void neutralUpdated(); void neutralUpdated();
void reversedUpdated(); void reversedUpdated();
void groupUpdated(); void groupUpdated();
void channelDropdownUpdated(int);
void channelNumberUpdated(int);
private: private:
Ui::InputChannelForm *ui; Ui::InputChannelForm *ui;

View File

@ -6,14 +6,14 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>828</width> <width>839</width>
<height>93</height> <height>57</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin"> <property name="leftMargin">
<number>0</number> <number>0</number>
</property> </property>
@ -24,566 +24,785 @@
<number>0</number> <number>0</number>
</property> </property>
<property name="bottomMargin"> <property name="bottomMargin">
<number>6</number> <number>0</number>
</property> </property>
<item row="0" column="5" colspan="2"> <item>
<widget class="QLabel" name="legend4"> <layout class="QHBoxLayout" name="legendlLayout">
<property name="enabled"> <property name="spacing">
<bool>true</bool> <number>6</number>
</property> </property>
<property name="sizePolicy"> <item>
<sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <widget class="QLabel" name="legend0">
<horstretch>0</horstretch> <property name="enabled">
<verstretch>0</verstretch> <bool>true</bool>
</sizepolicy> </property>
</property> <property name="sizePolicy">
<property name="minimumSize"> <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<size> <horstretch>0</horstretch>
<width>0</width> <verstretch>0</verstretch>
<height>20</height> </sizepolicy>
</size> </property>
</property> <property name="minimumSize">
<property name="font"> <size>
<font> <width>80</width>
<weight>75</weight> <height>20</height>
<italic>false</italic> </size>
<bold>true</bold> </property>
</font> <property name="font">
</property> <font>
<property name="toolTip"> <pointsize>-1</pointsize>
<string>Channel neutral</string> <weight>75</weight>
</property> <italic>false</italic>
<property name="styleSheet"> <bold>true</bold>
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255)); </font>
</property>
<property name="toolTip">
<string>Channel function</string>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255); color: rgb(255, 255, 255);
border-radius: 5; border-radius: 5;
margin:1px; font: bold 12px;
font:bold;</string> margin:1px;</string>
</property> </property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="text"> <property name="text">
<string>Neutral</string> <string>Function</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="8"> <item>
<widget class="QSpinBox" name="channelMax"> <widget class="QLabel" name="legend1">
<property name="minimumSize"> <property name="enabled">
<size> <bool>true</bool>
<width>0</width> </property>
<height>25</height> <property name="sizePolicy">
</size> <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
</property> <horstretch>0</horstretch>
<property name="focusPolicy"> <verstretch>0</verstretch>
<enum>Qt::StrongFocus</enum> </sizepolicy>
</property> </property>
<property name="buttonSymbols"> <property name="minimumSize">
<enum>QAbstractSpinBox::UpDownArrows</enum> <size>
</property> <width>100</width>
<property name="maximum"> <height>20</height>
<number>9999</number> </size>
</property> </property>
<property name="value"> <property name="font">
<number>1000</number> <font>
</property> <pointsize>-1</pointsize>
</widget> <weight>75</weight>
</item> <italic>false</italic>
<item row="0" column="12"> <bold>true</bold>
<widget class="QLabel" name="legend7"> </font>
<property name="enabled"> </property>
<bool>true</bool> <property name="toolTip">
</property> <string>Channel type</string>
<property name="sizePolicy"> </property>
<sizepolicy hsizetype="Minimum" vsizetype="Fixed"> <property name="styleSheet">
<horstretch>0</horstretch> <string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>30</width>
<height>20</height>
</size>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="toolTip">
<string>Response time</string>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255); color: rgb(255, 255, 255);
border-radius: 5; border-radius: 5;
margin:1px; font: bold 12px;
font:bold;</string> margin:1px;</string>
</property> </property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="lineWidth"> <property name="text">
<number>1</number> <string>Type</string>
</property> </property>
<property name="text"> <property name="alignment">
<string>RT</string> <set>Qt::AlignCenter</set>
</property> </property>
<property name="alignment"> </widget>
<set>Qt::AlignCenter</set> </item>
</property> <item>
</widget> <widget class="QLabel" name="legend2">
</item> <property name="enabled">
<item row="0" column="10" colspan="2"> <bool>true</bool>
<widget class="QLabel" name="legend6"> </property>
<property name="enabled"> <property name="sizePolicy">
<bool>true</bool> <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
</property> <horstretch>0</horstretch>
<property name="sizePolicy"> <verstretch>0</verstretch>
<sizepolicy hsizetype="Minimum" vsizetype="Fixed"> </sizepolicy>
<horstretch>0</horstretch> </property>
<verstretch>0</verstretch> <property name="minimumSize">
</sizepolicy> <size>
</property> <width>90</width>
<property name="minimumSize"> <height>20</height>
<size> </size>
<width>75</width> </property>
<height>20</height> <property name="font">
</size> <font>
</property> <pointsize>-1</pointsize>
<property name="font"> <weight>75</weight>
<font> <italic>false</italic>
<weight>75</weight> <bold>true</bold>
<italic>false</italic> </font>
<bold>true</bold> </property>
</font> <property name="toolTip">
</property> <string>Channel number</string>
<property name="toolTip"> </property>
<string>Channel values are inverted</string> <property name="styleSheet">
</property> <string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255); color: rgb(255, 255, 255);
border-radius: 5; border-radius: 5;
margin:1px; font: bold 12px;
font:bold;</string> margin:1px;</string>
</property> </property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="lineWidth"> <property name="text">
<number>1</number> <string>Number</string>
</property> </property>
<property name="text"> <property name="alignment">
<string>Reversed</string> <set>Qt::AlignCenter</set>
</property> </property>
<property name="alignment"> </widget>
<set>Qt::AlignCenter</set> </item>
</property> <item>
</widget> <widget class="QLabel" name="legend3">
</item> <property name="enabled">
<item row="0" column="0"> <bool>true</bool>
<widget class="QLabel" name="legend0"> </property>
<property name="enabled"> <property name="sizePolicy">
<bool>true</bool> <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
</property> <horstretch>0</horstretch>
<property name="sizePolicy"> <verstretch>0</verstretch>
<sizepolicy hsizetype="Minimum" vsizetype="Fixed"> </sizepolicy>
<horstretch>0</horstretch> </property>
<verstretch>0</verstretch> <property name="minimumSize">
</sizepolicy> <size>
</property> <width>55</width>
<property name="minimumSize"> <height>20</height>
<size> </size>
<width>0</width> </property>
<height>20</height> <property name="font">
</size> <font>
</property> <pointsize>-1</pointsize>
<property name="font"> <weight>75</weight>
<font> <italic>false</italic>
<weight>75</weight> <bold>true</bold>
<italic>false</italic> </font>
<bold>true</bold> </property>
</font> <property name="toolTip">
</property> <string>Channel min</string>
<property name="toolTip"> </property>
<string>Channel function</string> <property name="styleSheet">
</property> <string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255); color: rgb(255, 255, 255);
border-radius: 5; border-radius: 5;
margin:1px; font: bold 12px;
font:bold;</string> margin:1px;</string>
</property> </property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="text"> <property name="text">
<string>Function</string> <string>Min</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item>
<widget class="QLabel" name="legend1"> <spacer name="horizontalSpacer_3">
<property name="enabled"> <property name="orientation">
<bool>true</bool> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizePolicy"> <property name="sizeType">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed"> <enum>QSizePolicy::Fixed</enum>
<horstretch>0</horstretch> </property>
<verstretch>0</verstretch> <property name="sizeHint" stdset="0">
</sizepolicy> <size>
</property> <width>10</width>
<property name="minimumSize"> <height>20</height>
<size> </size>
<width>0</width> </property>
<height>20</height> </spacer>
</size> </item>
</property> <item>
<property name="font"> <widget class="QLabel" name="legend4">
<font> <property name="enabled">
<weight>75</weight> <bool>true</bool>
<italic>false</italic> </property>
<bold>true</bold> <property name="sizePolicy">
</font> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
</property> <horstretch>0</horstretch>
<property name="toolTip"> <verstretch>0</verstretch>
<string>Channel type</string> </sizepolicy>
</property> </property>
<property name="styleSheet"> <property name="minimumSize">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255)); <size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="font">
<font>
<pointsize>-1</pointsize>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="toolTip">
<string>Channel neutral</string>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255); color: rgb(255, 255, 255);
border-radius: 5; border-radius: 5;
margin:1px; font: bold 12px;
font:bold;</string> margin:1px;</string>
</property> </property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="text"> <property name="text">
<string>Type</string> <string>Neutral</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="2"> <item>
<widget class="QLabel" name="legend2"> <spacer name="horizontalSpacer_4">
<property name="enabled"> <property name="orientation">
<bool>true</bool> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizePolicy"> <property name="sizeType">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed"> <enum>QSizePolicy::Fixed</enum>
<horstretch>0</horstretch> </property>
<verstretch>0</verstretch> <property name="sizeHint" stdset="0">
</sizepolicy> <size>
</property> <width>10</width>
<property name="minimumSize"> <height>20</height>
<size> </size>
<width>0</width> </property>
<height>20</height> </spacer>
</size> </item>
</property> <item>
<property name="font"> <widget class="QLabel" name="legend5">
<font> <property name="enabled">
<weight>75</weight> <bool>true</bool>
<italic>false</italic> </property>
<bold>true</bold> <property name="sizePolicy">
</font> <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
</property> <horstretch>0</horstretch>
<property name="toolTip"> <verstretch>0</verstretch>
<string>Channel number</string> </sizepolicy>
</property> </property>
<property name="styleSheet"> <property name="minimumSize">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255)); <size>
<width>55</width>
<height>20</height>
</size>
</property>
<property name="font">
<font>
<pointsize>-1</pointsize>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="toolTip">
<string>Channel max</string>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255); color: rgb(255, 255, 255);
border-radius: 5; border-radius: 5;
margin:1px; font: bold 12px;
font:bold;</string> margin:1px;</string>
</property> </property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="text"> <property name="lineWidth">
<string>Number</string> <number>1</number>
</property> </property>
<property name="alignment"> <property name="text">
<set>Qt::AlignCenter</set> <string>Max</string>
</property> </property>
</widget> <property name="alignment">
</item> <set>Qt::AlignCenter</set>
<item row="0" column="3"> </property>
<widget class="QLabel" name="legend3"> </widget>
<property name="enabled"> </item>
<bool>true</bool> <item>
</property> <widget class="QLabel" name="legend6">
<property name="sizePolicy"> <property name="enabled">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed"> <bool>true</bool>
<horstretch>0</horstretch> </property>
<verstretch>0</verstretch> <property name="sizePolicy">
</sizepolicy> <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
</property> <horstretch>0</horstretch>
<property name="minimumSize"> <verstretch>0</verstretch>
<size> </sizepolicy>
<width>0</width> </property>
<height>20</height> <property name="minimumSize">
</size> <size>
</property> <width>75</width>
<property name="font"> <height>20</height>
<font> </size>
<weight>75</weight> </property>
<italic>false</italic> <property name="font">
<bold>true</bold> <font>
</font> <pointsize>-1</pointsize>
</property> <weight>75</weight>
<property name="toolTip"> <italic>false</italic>
<string>Channel min</string> <bold>true</bold>
</property> </font>
<property name="styleSheet"> </property>
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255)); <property name="toolTip">
<string>Channel values are inverted</string>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255); color: rgb(255, 255, 255);
border-radius: 5; border-radius: 5;
margin:1px; font: bold 12px;
font:bold;</string> margin:1px;</string>
</property> </property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="text"> <property name="lineWidth">
<string>Min</string> <number>1</number>
</property> </property>
<property name="alignment"> <property name="text">
<set>Qt::AlignCenter</set> <string>Reversed</string>
</property> </property>
</widget> <property name="alignment">
</item> <set>Qt::AlignCenter</set>
<item row="1" column="0"> </property>
<widget class="QLabel" name="channelName"> </widget>
<property name="sizePolicy"> </item>
<sizepolicy hsizetype="Minimum" vsizetype="Preferred"> <item>
<horstretch>0</horstretch> <widget class="QLabel" name="legend7">
<verstretch>0</verstretch> <property name="enabled">
</sizepolicy> <bool>true</bool>
</property> </property>
<property name="minimumSize"> <property name="sizePolicy">
<size> <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<width>80</width> <horstretch>0</horstretch>
<height>25</height> <verstretch>0</verstretch>
</size> </sizepolicy>
</property> </property>
<property name="text"> <property name="minimumSize">
<string>TextLabel</string> <size>
</property> <width>45</width>
</widget> <height>20</height>
</item> </size>
<item row="1" column="2"> </property>
<widget class="QComboBox" name="channelNumberDropdown"> <property name="font">
<property name="sizePolicy"> <font>
<sizepolicy hsizetype="Maximum" vsizetype="Fixed"> <pointsize>-1</pointsize>
<horstretch>4</horstretch> <weight>75</weight>
<verstretch>0</verstretch> <italic>false</italic>
</sizepolicy> <bold>true</bold>
</property> </font>
<property name="minimumSize"> </property>
<size> <property name="toolTip">
<width>0</width> <string>Response time</string>
<height>25</height> </property>
</size> <property name="styleSheet">
</property> <string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="maxVisibleItems">
<number>7</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="channelGroup">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>6</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QSpinBox" name="channelMin">
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::UpDownArrows</enum>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>1000</number>
</property>
</widget>
</item>
<item row="1" column="4">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="8">
<widget class="QLabel" name="legend5">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="toolTip">
<string>Channel max</string>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255); color: rgb(255, 255, 255);
border-radius: 5; border-radius: 5;
margin:1px; font: bold 12px;
font:bold;</string> margin:1px;</string>
</property> </property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::StyledPanel</enum>
</property> </property>
<property name="lineWidth"> <property name="lineWidth">
<number>1</number> <number>1</number>
</property> </property>
<property name="text"> <property name="text">
<string>Max</string> <string>RT</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
</widget> </widget>
</item>
</layout>
</item> </item>
<item row="1" column="7"> <item>
<spacer name="horizontalSpacer_2"> <layout class="QHBoxLayout" name="lineLayout" stretch="0,0,0,0,0,0,0,0,0,0">
<property name="orientation"> <property name="spacing">
<enum>Qt::Horizontal</enum> <number>6</number>
</property> </property>
<property name="sizeType"> <item>
<enum>QSizePolicy::Fixed</enum> <widget class="QLabel" name="channelName">
</property> <property name="sizePolicy">
<property name="sizeHint" stdset="0"> <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<size> <horstretch>0</horstretch>
<width>10</width> <verstretch>0</verstretch>
<height>20</height> </sizepolicy>
</size> </property>
</property> <property name="minimumSize">
</spacer> <size>
</item> <width>80</width>
<item row="1" column="5"> <height>25</height>
<widget class="QSlider" name="channelNeutral"> </size>
<property name="sizePolicy"> </property>
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> <property name="maximumSize">
<horstretch>0</horstretch> <size>
<verstretch>0</verstretch> <width>80</width>
</sizepolicy> <height>16777215</height>
</property> </size>
<property name="minimumSize"> </property>
<size> <property name="text">
<width>0</width> <string>Text</string>
<height>22</height> </property>
</size> </widget>
</property> </item>
<property name="focusPolicy"> <item>
<enum>Qt::StrongFocus</enum> <widget class="QComboBox" name="channelGroup">
</property> <property name="sizePolicy">
<property name="orientation"> <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<enum>Qt::Horizontal</enum> <horstretch>0</horstretch>
</property> <verstretch>0</verstretch>
</widget> </sizepolicy>
</item> </property>
<item row="1" column="12"> <property name="minimumSize">
<widget class="QSpinBox" name="channelResponseTime"> <size>
<property name="enabled"> <width>100</width>
<bool>true</bool> <height>25</height>
</property> </size>
<property name="sizePolicy"> </property>
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <property name="maximumSize">
<horstretch>0</horstretch> <size>
<verstretch>0</verstretch> <width>100</width>
</sizepolicy> <height>16777215</height>
</property> </size>
<property name="minimumSize"> </property>
<size> <property name="focusPolicy">
<width>30</width> <enum>Qt::StrongFocus</enum>
<height>25</height> </property>
</size> </widget>
</property> </item>
<property name="toolTip"> <item>
<string>Optional input filter response time. <widget class="QComboBox" name="channelNumberDropdown">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>90</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>90</width>
<height>16777215</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="maxVisibleItems">
<number>7</number>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="channelMin">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>55</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>55</width>
<height>16777215</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::UpDownArrows</enum>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>1000</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QFrame" name="frame">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<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="QSlider" name="channelNeutral">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>50</width>
<height>0</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="neutralValue">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>1000</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QSpinBox" name="channelMax">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>55</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>55</width>
<height>16777215</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::UpDownArrows</enum>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>1000</number>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_1">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>75</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>75</width>
<height>16777215</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<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 alignment="Qt::AlignHCenter">
<widget class="QCheckBox" name="channelRev">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QSpinBox" name="channelResponseTime">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>45</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>45</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Optional input filter response time.
Range: 0-999ms, 0 disables filter (default). Range: 0-999ms, 0 disables filter (default).
@ -591,111 +810,28 @@ Warning: this is an expert mode feature, mostly used for aerial video
camera control (airframe yaw and camera gimbal accessory channels). camera control (airframe yaw and camera gimbal accessory channels).
Too high values for main controls can cause undesirable effects and Too high values for main controls can cause undesirable effects and
even lead to crash. Use with caution.</string> even lead to crash. Use with caution.</string>
</property> </property>
<property name="wrapping"> <property name="wrapping">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="frame"> <property name="frame">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="buttonSymbols"> <property name="buttonSymbols">
<enum>QAbstractSpinBox::UpDownArrows</enum> <enum>QAbstractSpinBox::UpDownArrows</enum>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>999</number> <number>999</number>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="10" colspan="2"> </layout>
<widget class="QFrame" name="frame">
<property name="minimumSize">
<size>
<width>75</width>
<height>0</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<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 row="0" column="0" alignment="Qt::AlignHCenter">
<widget class="QCheckBox" name="channelRev">
<property name="enabled">
<bool>true</bool>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="6">
<widget class="QSpinBox" name="neutralValue">
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>1000</number>
</property>
</widget>
</item> </item>
</layout> </layout>
<widget class="QSpinBox" name="channelNumber">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>216</x>
<y>26</y>
<width>0</width>
<height>0</height>
</rect>
</property>
<property name="maximumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</widget>
</widget> </widget>
<tabstops> <tabstops>
<tabstop>channelNumber</tabstop>
<tabstop>channelGroup</tabstop> <tabstop>channelGroup</tabstop>
<tabstop>channelNumberDropdown</tabstop> <tabstop>channelNumberDropdown</tabstop>
<tabstop>channelMin</tabstop>
<tabstop>channelNeutral</tabstop>
<tabstop>channelMax</tabstop>
</tabstops> </tabstops>
<resources/> <resources/>
<connections/> <connections/>