Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor instrument value controls #8663

Merged
merged 1 commit into from
Apr 16, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions qgroundcontrol.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,8 @@
<file alias="QGroundControl/FlightMap/CustomMapItems.qml">src/FlightMap/MapItems/CustomMapItems.qml</file>
<file alias="QGroundControl/FlightMap/FlightMap.qml">src/FlightMap/FlightMap.qml</file>
<file alias="QGroundControl/FlightMap/InstrumentSwipeView.qml">src/FlightMap/Widgets/InstrumentSwipeView.qml</file>
<file alias="QGroundControl/FlightMap/InstrumentValue.qml">src/FlightMap/Widgets/InstrumentValue.qml</file>
<file alias="QGroundControl/FlightMap/InstrumentValueEditDialog.qml">src/FlightMap/Widgets/InstrumentValueEditDialog.qml</file>
<file alias="QGroundControl/FlightMap/MapFitFunctions.qml">src/FlightMap/Widgets/MapFitFunctions.qml</file>
<file alias="QGroundControl/FlightMap/MapScale.qml">src/FlightMap/MapScale.qml</file>
<file alias="QGroundControl/FlightMap/MissionItemIndicator.qml">src/FlightMap/MapItems/MissionItemIndicator.qml</file>
Expand Down
58 changes: 29 additions & 29 deletions src/FlightMap/Widgets/InstrumentValue.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@

const char* InstrumentValue::_versionKey = "version";
const char* InstrumentValue::_factGroupNameKey = "groupName";
const char* InstrumentValue::_factNameKey = "factName";
const char* InstrumentValue::_labelKey = "label";
const char* InstrumentValue::_factNameKey = "factName";
const char* InstrumentValue::_textKey = "text";
const char* InstrumentValue::_fontSizeKey = "fontSize";
const char* InstrumentValue::_showUnitsKey = "showUnits";
const char* InstrumentValue::_iconKey = "icon";
const char* InstrumentValue::_iconPositionKey = "iconPosition";
const char* InstrumentValue::_labelPositionKey = "labelPosition";
const char* InstrumentValue::_rangeTypeKey = "rangeType";
const char* InstrumentValue::_rangeValuesKey = "rangeValues";
const char* InstrumentValue::_rangeColorsKey = "rangeColors";
Expand All @@ -31,8 +31,8 @@ const char* InstrumentValue::_vehicleFactGroupName = "Vehicle";

QStringList InstrumentValue::_iconNames;

// Important: The indices of these strings must match the InstrumentValue::IconPosition enumconst QStringList InstrumentValue::_iconPositionNames
const QStringList InstrumentValue::_iconPositionNames = {
// Important: The indices of these strings must match the InstrumentValue::LabelPosition enumconst QStringList InstrumentValue::_labelPositionNames
const QStringList InstrumentValue::_labelPositionNames = {
QT_TRANSLATE_NOOP("InstrumentValue", "Above"),
QT_TRANSLATE_NOOP("InstrumentValue", "Left"),
};
Expand Down Expand Up @@ -182,13 +182,13 @@ void InstrumentValue::setFontSize(FontSize fontSize)

void InstrumentValue::saveToSettings(QSettings& settings) const
{
settings.setValue(_versionKey, 1);
settings.setValue(_labelKey, _label);
settings.setValue(_fontSizeKey, _fontSize);
settings.setValue(_showUnitsKey, _showUnits);
settings.setValue(_iconKey, _icon);
settings.setValue(_iconPositionKey, _iconPosition);
settings.setValue(_rangeTypeKey, _rangeType);
settings.setValue(_versionKey, 1);
settings.setValue(_textKey, _text);
settings.setValue(_fontSizeKey, _fontSize);
settings.setValue(_showUnitsKey, _showUnits);
settings.setValue(_iconKey, _icon);
settings.setValue(_labelPositionKey, _labelPosition);
settings.setValue(_rangeTypeKey, _rangeType);

if (_rangeType != NoRangeInfo) {
settings.setValue(_rangeValuesKey, _rangeValues);
Expand All @@ -198,13 +198,13 @@ void InstrumentValue::saveToSettings(QSettings& settings) const
case NoRangeInfo:
break;
case ColorRange:
settings.setValue(_rangeColorsKey, _rangeColors);
settings.setValue(_rangeColorsKey, _rangeColors);
break;
case OpacityRange:
settings.setValue(_rangeOpacitiesKey, _rangeOpacities);
settings.setValue(_rangeOpacitiesKey, _rangeOpacities);
break;
case IconSelectRange:
settings.setValue(_rangeIconsKey, _rangeIcons);
settings.setValue(_rangeIconsKey, _rangeIcons);
break;
}

Expand All @@ -220,11 +220,11 @@ void InstrumentValue::saveToSettings(QSettings& settings) const
void InstrumentValue::readFromSettings(const QSettings& settings)
{
_factGroupName = settings.value(_factGroupNameKey, QString()).toString();
_label = settings.value(_labelKey, QString()).toString();
_text = settings.value(_textKey, QString()).toString();
_fontSize = settings.value(_fontSizeKey, DefaultFontSize).value<FontSize>();
_showUnits = settings.value(_showUnitsKey, true).toBool();
_icon = settings.value(_iconKey, QString()).toString();
_iconPosition = settings.value(_iconPositionKey, IconLeft).value<IconPosition>();
_labelPosition = settings.value(_labelPositionKey, LabelLeft).value<LabelPosition>();
_rangeType = settings.value(_rangeTypeKey, NoRangeInfo).value<RangeType>();

// Do this now, since the signal will cause _resetRangeInfo to be called trashing values
Expand Down Expand Up @@ -258,22 +258,22 @@ void InstrumentValue::readFromSettings(const QSettings& settings)

emit factChanged (_fact);
emit factGroupNameChanged (_factGroupName);
emit labelChanged (_label);
emit textChanged (_text);
emit fontSizeChanged (_fontSize);
emit showUnitsChanged (_showUnits);
emit iconChanged (_icon);
emit iconPositionChanged (_iconPosition);
emit labelPositionChanged (_labelPosition);
emit rangeValuesChanged (_rangeValues);
emit rangeColorsChanged (_rangeColors);
emit rangeOpacitiesChanged (_rangeOpacities);
emit rangeIconsChanged (_rangeIcons);
}

void InstrumentValue::setLabel(const QString& label)
void InstrumentValue::setText(const QString& text)
{
if (label != _label) {
_label = label;
emit labelChanged(label);
if (text != _text) {
_text = text;
emit textChanged(text);
}
}

Expand All @@ -289,13 +289,13 @@ void InstrumentValue::clearFact(void)
{
_fact = nullptr;
_factGroupName.clear();
_label.clear();
_text.clear();
_icon.clear();
_showUnits = true;

emit factChanged (_fact);
emit factGroupNameChanged (_factGroupName);
emit labelChanged (_label);
emit textChanged (_text);
emit iconChanged (_icon);
emit showUnitsChanged (_showUnits);
}
Expand All @@ -308,11 +308,11 @@ void InstrumentValue::setIcon(const QString& icon)
}
}

void InstrumentValue::setIconPosition(IconPosition iconPosition)
void InstrumentValue::setLabelPosition(LabelPosition labelPosition)
{
if (iconPosition != _iconPosition) {
_iconPosition = iconPosition;
emit iconPositionChanged(iconPosition);
if (labelPosition != _labelPosition) {
_labelPosition = labelPosition;
emit labelPositionChanged(labelPosition);
}
}

Expand Down
76 changes: 38 additions & 38 deletions src/FlightMap/Widgets/InstrumentValue.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ class InstrumentValue : public QObject
};
Q_ENUMS(FontSize)

enum IconPosition {
IconAbove = 0,
IconLeft,
enum LabelPosition {
LabelAbove = 0,
LabelLeft,
};
Q_ENUMS(IconPosition)
Q_ENUMS(LabelPosition)

enum RangeType {
NoRangeInfo = 0,
Expand All @@ -44,28 +44,28 @@ class InstrumentValue : public QObject

InstrumentValue(Vehicle* activeVehicle, FontSize fontSize, QmlObjectListModel* rowModel);

Q_PROPERTY(QStringList factGroupNames MEMBER _factGroupNames NOTIFY factGroupNamesChanged)
Q_PROPERTY(QStringList factValueNames MEMBER _factValueNames NOTIFY factValueNamesChanged)
Q_PROPERTY(QString factGroupName MEMBER _factGroupName NOTIFY factGroupNameChanged)
Q_PROPERTY(QString factName MEMBER _factName NOTIFY factNameChanged)
Q_PROPERTY(Fact* fact READ fact NOTIFY factChanged)
Q_PROPERTY(QString label READ label WRITE setLabel NOTIFY labelChanged)
Q_PROPERTY(QString icon READ icon WRITE setIcon NOTIFY iconChanged) ///< If !isEmpty icon will be show instead of label
Q_PROPERTY(IconPosition iconPosition READ iconPosition WRITE setIconPosition NOTIFY iconPositionChanged)
Q_PROPERTY(QStringList iconPositionNames MEMBER _iconPositionNames CONSTANT)
Q_PROPERTY(QStringList iconNames MEMBER _iconNames CONSTANT)
Q_PROPERTY(FontSize fontSize READ fontSize WRITE setFontSize NOTIFY fontSizeChanged)
Q_PROPERTY(QStringList fontSizeNames MEMBER _fontSizeNames CONSTANT)
Q_PROPERTY(bool showUnits READ showUnits WRITE setShowUnits NOTIFY showUnitsChanged)
Q_PROPERTY(QStringList rangeTypeNames MEMBER _rangeTypeNames CONSTANT)
Q_PROPERTY(RangeType rangeType READ rangeType WRITE setRangeType NOTIFY rangeTypeChanged)
Q_PROPERTY(QVariantList rangeValues READ rangeValues WRITE setRangeValues NOTIFY rangeValuesChanged)
Q_PROPERTY(QVariantList rangeColors READ rangeColors WRITE setRangeColors NOTIFY rangeColorsChanged)
Q_PROPERTY(QVariantList rangeIcons READ rangeIcons WRITE setRangeIcons NOTIFY rangeIconsChanged)
Q_PROPERTY(QVariantList rangeOpacities READ rangeOpacities WRITE setRangeOpacities NOTIFY rangeOpacitiesChanged)
Q_PROPERTY(QColor currentColor MEMBER _currentColor NOTIFY currentColorChanged)
Q_PROPERTY(double currentOpacity MEMBER _currentOpacity NOTIFY currentOpacityChanged)
Q_PROPERTY(QString currentIcon MEMBER _currentIcon NOTIFY currentIconChanged)
Q_PROPERTY(QStringList factGroupNames MEMBER _factGroupNames NOTIFY factGroupNamesChanged)
Q_PROPERTY(QStringList factValueNames MEMBER _factValueNames NOTIFY factValueNamesChanged)
Q_PROPERTY(QString factGroupName MEMBER _factGroupName NOTIFY factGroupNameChanged)
Q_PROPERTY(QString factName MEMBER _factName NOTIFY factNameChanged)
Q_PROPERTY(Fact* fact READ fact NOTIFY factChanged)
Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged)
Q_PROPERTY(QString icon READ icon WRITE setIcon NOTIFY iconChanged) ///< If !isEmpty icon will be show instead of label
Q_PROPERTY(LabelPosition labelPosition READ labelPosition WRITE setLabelPosition NOTIFY labelPositionChanged)
Q_PROPERTY(QStringList labelPositionNames MEMBER _labelPositionNames CONSTANT)
Q_PROPERTY(QStringList iconNames MEMBER _iconNames CONSTANT)
Q_PROPERTY(FontSize fontSize READ fontSize WRITE setFontSize NOTIFY fontSizeChanged)
Q_PROPERTY(QStringList fontSizeNames MEMBER _fontSizeNames CONSTANT)
Q_PROPERTY(bool showUnits READ showUnits WRITE setShowUnits NOTIFY showUnitsChanged)
Q_PROPERTY(QStringList rangeTypeNames MEMBER _rangeTypeNames CONSTANT)
Q_PROPERTY(RangeType rangeType READ rangeType WRITE setRangeType NOTIFY rangeTypeChanged)
Q_PROPERTY(QVariantList rangeValues READ rangeValues WRITE setRangeValues NOTIFY rangeValuesChanged)
Q_PROPERTY(QVariantList rangeColors READ rangeColors WRITE setRangeColors NOTIFY rangeColorsChanged)
Q_PROPERTY(QVariantList rangeIcons READ rangeIcons WRITE setRangeIcons NOTIFY rangeIconsChanged)
Q_PROPERTY(QVariantList rangeOpacities READ rangeOpacities WRITE setRangeOpacities NOTIFY rangeOpacitiesChanged)
Q_PROPERTY(QColor currentColor MEMBER _currentColor NOTIFY currentColorChanged)
Q_PROPERTY(double currentOpacity MEMBER _currentOpacity NOTIFY currentOpacityChanged)
Q_PROPERTY(QString currentIcon MEMBER _currentIcon NOTIFY currentIconChanged)

Q_INVOKABLE void setFact (const QString& factGroupName, const QString& factName);
Q_INVOKABLE void clearFact (void);
Expand All @@ -76,20 +76,20 @@ class InstrumentValue : public QObject

Fact* fact (void) { return _fact; }
FontSize fontSize (void) const { return _fontSize; }
QString label (void) const { return _label; }
QString text (void) const { return _text; }
bool showUnits (void) const { return _showUnits; }
QString icon (void) const { return _icon; }
IconPosition iconPosition (void) const { return _iconPosition; }
LabelPosition labelPosition (void) const { return _labelPosition; }
RangeType rangeType (void) const { return _rangeType; }
QVariantList rangeValues (void) const { return _rangeValues; }
QVariantList rangeColors (void) const { return _rangeColors; }
QVariantList rangeIcons (void) const { return _rangeIcons; }
QVariantList rangeOpacities (void) const { return _rangeOpacities; }
void setFontSize (FontSize fontSize);
void setLabel (const QString& label);
void setText (const QString& text);
void setShowUnits (bool showUnits);
void setIcon (const QString& icon);
void setIconPosition (IconPosition iconPosition);
void setLabelPosition (LabelPosition labelPosition);
void setRangeType (RangeType rangeType);
void setRangeValues (const QVariantList& rangeValues);
void setRangeColors (const QVariantList& rangeColors);
Expand All @@ -103,11 +103,11 @@ class InstrumentValue : public QObject
void factChanged (Fact* fact);
void factNameChanged (const QString& factName);
void factGroupNameChanged (const QString& factGroup);
void labelChanged (QString label);
void textChanged (QString text);
void fontSizeChanged (FontSize fontSize);
void showUnitsChanged (bool showUnits);
void iconChanged (const QString& icon);
void iconPositionChanged (IconPosition iconPosition);
void labelPositionChanged (LabelPosition labelPosition);
void factGroupNamesChanged (const QStringList& factGroupNames);
void factValueNamesChanged (const QStringList& factValueNames);
void rangeTypeChanged (RangeType rangeType);
Expand Down Expand Up @@ -135,11 +135,11 @@ private slots:
Fact* _fact = nullptr;
QString _factName;
QString _factGroupName;
QString _label;
QString _text;
bool _showUnits = true;
FontSize _fontSize = DefaultFontSize;
QString _icon;
IconPosition _iconPosition = IconLeft;
LabelPosition _labelPosition = LabelLeft;
QStringList _factGroupNames;
QStringList _factValueNames;
QColor _currentColor;
Expand All @@ -162,18 +162,18 @@ private slots:

// These are user facing string for the various enums.
static const QStringList _rangeTypeNames;
static const QStringList _iconPositionNames;
static const QStringList _labelPositionNames;
static QStringList _iconNames;
static const QStringList _fontSizeNames;

static const char* _versionKey;
static const char* _factGroupNameKey;
static const char* _factNameKey;
static const char* _labelKey;
static const char* _textKey;
static const char* _fontSizeKey;
static const char* _showUnitsKey;
static const char* _iconKey;
static const char* _iconPositionKey;
static const char* _labelPositionKey;
static const char* _rangeTypeKey;
static const char* _rangeValuesKey;
static const char* _rangeColorsKey;
Expand All @@ -183,5 +183,5 @@ private slots:
};

Q_DECLARE_METATYPE(InstrumentValue::FontSize)
Q_DECLARE_METATYPE(InstrumentValue::IconPosition)
Q_DECLARE_METATYPE(InstrumentValue::LabelPosition)
Q_DECLARE_METATYPE(InstrumentValue::RangeType)
Loading