[Companion] Adjust source value ranges and editors in LS/CF/Telemetry (#5437)

* [Companion] RawSourceRange: Fix for timers and RTC; Remove unused "single precision" flag and logic; Add logic for "short" timer handling.

* [Companion] Add TimerEdit class for editing negative times; Implement TimerEdit in LS, CF, and Telemetry (bars) editors;

* [Companion] Refactor LogicalSwitchesPanel for fewer & more efficient updates; Fix newly-added LS not being available in source lists; Fix bug with timer/rtc comparison values getting reset to value of spin box instead of time editor.

* Add forgotten #include.

* [Companion] LogicalSwitchesPanel: Update raw sources list upon screen refresh (fixes #5374); Improve data entry in spin boxes (fixes #5375).

* Make gcc happy.

* [Companion] Set proper RawSourceRange for GVars, trims, mixer scripts, and sticks/switches/cyclic/MAX.

* [Companion] Fix backwards precision/range logic on telemetry sensors offset spinbox; Fix other minor range issues with ratio & offset.

* [Companion] Remove short limit on min/max timer values for LS & telem. bars.

* Switch to TimerEdit in maxLibQt.

* Fix gcc build.

* Remove unused files.

* Caps fix.
This commit is contained in:
Max Paperno
2017-12-19 12:17:49 +01:00
committed by Bertrand Songis
parent b69f36afe4
commit 76ce186bd4
17 changed files with 741 additions and 257 deletions
+17 -12
View File
@@ -19,6 +19,8 @@
*/
#include "genericpanel.h"
#include <TimerEdit>
#include <QComboBox>
#include <QEvent>
#include <QLabel>
@@ -105,20 +107,23 @@ bool GenericPanel::eventFilter(QObject *object, QEvent * event)
return QWidget::eventFilter(object, event);
}
void GenericPanel::setFocusFilter(QWidget * w)
{
w->installEventFilter(this);
w->setFocusPolicy(Qt::StrongFocus);
}
void GenericPanel::disableMouseScrolling()
{
Q_FOREACH(QComboBox * cb, findChildren<QComboBox*>()) {
cb->installEventFilter(this);
cb->setFocusPolicy(Qt::StrongFocus);
}
foreach(QWidget * cb, findChildren<QComboBox*>())
setFocusFilter(cb);
Q_FOREACH(QAbstractSpinBox * sb, findChildren<QAbstractSpinBox*>()) {
sb->installEventFilter(this);
sb->setFocusPolicy(Qt::StrongFocus);
}
foreach(QWidget * sb, findChildren<QAbstractSpinBox*>())
setFocusFilter(sb);
Q_FOREACH(QSlider * slider, findChildren<QSlider*>()) {
slider->installEventFilter(this);
slider->setFocusPolicy(Qt::StrongFocus);
}
foreach(QWidget * slider, findChildren<QSlider*>())
setFocusFilter(slider);
foreach(QWidget * te, findChildren<TimerEdit*>())
setFocusFilter(te);
}