Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
fb5fc249
Unverified
Commit
fb5fc249
authored
Apr 10, 2020
by
Don Gagne
Committed by
GitHub
Apr 10, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #8652 from mavlink/ValueIconPicker
Instrument Values: Icon picker support
parents
d8ba7332
43236ab2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
106 additions
and
32 deletions
+106
-32
ValuePageWidget.qml
src/FlightMap/Widgets/ValuePageWidget.qml
+103
-22
ValuesWidgetController.cc
src/FlightMap/Widgets/ValuesWidgetController.cc
+3
-8
ValuesWidgetController.h
src/FlightMap/Widgets/ValuesWidgetController.h
+0
-2
No files found.
src/FlightMap/Widgets/ValuePageWidget.qml
View file @
fb5fc249
...
...
@@ -7,7 +7,7 @@
*
****************************************************************************/
import
QtQuick
2.
3
import
QtQuick
2.
12
import
QtQuick
.
Dialogs
1.2
import
QtQuick
.
Layouts
1.2
import
QtQuick
.
Controls
2.5
...
...
@@ -304,6 +304,12 @@ Column {
anchors.right
:
parent
.
right
spacing
:
_margins
QGCButton
{
Layout.fillWidth
:
true
text
:
qsTr
(
"
Blank Entry
"
)
onClicked
:
{
_valuePickerInstrumentValue
.
clearFact
();
hideDialog
()
}
}
RowLayout
{
Layout.fillWidth
:
true
spacing
:
ScreenTools
.
defaultFontPixelWidth
...
...
@@ -319,7 +325,7 @@ Column {
RowLayout
{
spacing
:
ScreenTools
.
defaultFontPixelWidth
QGCLabel
{
text
:
qsTr
(
"
Font Size
(for whole row)
"
)
}
QGCLabel
{
text
:
qsTr
(
"
Font Size
"
)
}
QGCComboBox
{
id
:
fontSizeCombo
model
:
_valuePickerInstrumentValue
.
fontSizeNames
...
...
@@ -327,31 +333,46 @@ Column {
sizeToContents
:
true
onActivated
:
_valuePickerInstrumentValue
.
fontSize
=
index
}
QGCCheckBox
{
text
:
qsTr
(
"
Show Units
"
)
checked
:
_valuePickerInstrumentValue
.
showUnits
onClicked
:
_valuePickerInstrumentValue
.
showUnits
=
checked
}
}
RowLayout
{
spacing
:
ScreenTools
.
defaultFontPixelWidth
QGCLabel
{
text
:
qsTr
(
"
Icon
"
)
}
QGCComboBox
{
model
:
_valuePickerInstrumentValue
.
iconNames
sizeToContents
:
true
onActivated
:
_valuePickerInstrumentValue
.
icon
=
currentText
Component.onCompleted
:
{
currentIndex
=
find
(
_valuePickerInstrumentValue
.
icon
)
if
(
currentIndex
==
-
1
)
{
currentIndex
=
0
}
Rectangle
{
height
:
iconPositionCombo
.
height
width
:
noIconLabel
.
width
+
ScreenTools
.
defaultFontPixelWidth
*
2
color
:
qgcPal
.
window
border.color
:
qgcPal
.
text
visible
:
!
_valuePickerInstrumentValue
.
icon
QGCLabel
{
id
:
noIconLabel
anchors.centerIn
:
parent
text
:
qsTr
(
"
No Icon
"
)
}
}
}
RowLayout
{
spacing
:
ScreenTools
.
defaultFontPixelWidth
QGCColoredImage
{
height
:
iconPositionCombo
.
height
width
:
height
source
:
_valuePickerInstrumentValue
.
icon
?
"
/InstrumentValueIcons/
"
+
_valuePickerInstrumentValue
.
icon
:
""
sourceSize.height
:
height
fillMode
:
Image
.
PreserveAspectFit
mipmap
:
true
smooth
:
true
color
:
qgcPal
.
text
visible
:
_valuePickerInstrumentValue
.
icon
}
QGCLabel
{
text
:
qsTr
(
"
Icon Position
"
)
}
QGCComboBox
{
id
:
iconPositionCombo
model
:
_valuePickerInstrumentValue
.
iconPositionNames
currentIndex
:
_valuePickerInstrumentValue
.
iconPosition
sizeToContents
:
true
...
...
@@ -359,15 +380,19 @@ Column {
}
}
QGCCheckBox
{
text
:
qsTr
(
"
Show Units
"
)
checked
:
_valuePickerInstrumentValue
.
showUnits
onClicked
:
_valuePickerInstrumentValue
.
showUnits
=
checked
SectionHeader
{
id
:
iconListHeader
Layout.fillWidth
:
true
text
:
qsTr
(
"
Icons
"
)
checked
:
false
}
QGCButton
{
text
:
qsTr
(
"
Blank Entry
"
)
onClicked
:
{
_valuePickerInstrumentValue
.
clearFact
();
hideDialog
()
}
Item
{
width
:
1
;
height
:
1
}
Loader
{
Layout.fillWidth
:
true
sourceComponent
:
iconListHeader
.
checked
?
iconList
:
undefined
visible
:
iconListHeader
.
checked
}
Loader
{
...
...
@@ -394,6 +419,62 @@ Column {
}
}
Component
{
id
:
iconList
Flow
{
Rectangle
{
height
:
ScreenTools
.
minTouchPixels
width
:
noIconLabel
.
width
+
ScreenTools
.
defaultFontPixelWidth
*
2
color
:
isNoIcon
?
qgcPal
.
text
:
qgcPal
.
window
border.color
:
isNoIcon
?
qgcPal
.
window
:
qgcPal
.
text
property
bool
isNoIcon
:
_valuePickerInstrumentValue
.
icon
===
""
QGCLabel
{
id
:
noIconLabel
anchors.centerIn
:
parent
color
:
parent
.
isNoIcon
?
qgcPal
.
window
:
qgcPal
.
text
text
:
qsTr
(
"
No Icon
"
)
}
MouseArea
{
anchors.fill
:
parent
onClicked
:
_valuePickerInstrumentValue
.
icon
=
""
}
}
Repeater
{
model
:
_valuePickerInstrumentValue
.
iconNames
Rectangle
{
height
:
ScreenTools
.
minTouchPixels
width
:
height
color
:
currentSelection
?
qgcPal
.
text
:
qgcPal
.
window
property
bool
currentSelection
:
_valuePickerInstrumentValue
.
icon
==
modelData
QGCColoredImage
{
anchors.centerIn
:
parent
height
:
parent
.
height
*
0.75
width
:
height
source
:
"
/InstrumentValueIcons/
"
+
modelData
sourceSize.height
:
height
fillMode
:
Image
.
PreserveAspectFit
mipmap
:
true
smooth
:
true
color
:
currentSelection
?
qgcPal
.
window
:
qgcPal
.
text
MouseArea
{
anchors.fill
:
parent
onClicked
:
_valuePickerInstrumentValue
.
icon
=
modelData
}
}
}
}
}
}
Component
{
id
:
factGroupList
...
...
src/FlightMap/Widgets/ValuesWidgetController.cc
View file @
fb5fc249
...
...
@@ -32,8 +32,6 @@ const char* InstrumentValue::_iconPositionKey = "iconPosition";
QStringList
InstrumentValue
::
_iconNames
;
const
QString
InstrumentValue
::
_noIconName
=
QT_TRANSLATE_NOOP
(
"InstrumentValue"
,
"No Icon"
);
// Important: The indices of these strings must match the InstrumentValue::IconPosition enumconst QStringList InstrumentValue::_iconPositionNames = {
const
QStringList
InstrumentValue
::
_iconPositionNames
=
{
QT_TRANSLATE_NOOP
(
"InstrumentValue"
,
"Above"
),
...
...
@@ -343,7 +341,6 @@ InstrumentValue::InstrumentValue(Vehicle* activeVehicle, FontSize fontSize, QmlO
if
(
_iconNames
.
isEmpty
())
{
QDir
iconDir
(
":/InstrumentValueIcons/"
);
_iconNames
=
iconDir
.
entryList
();
_iconNames
.
prepend
(
_noIconName
);
}
}
...
...
@@ -482,22 +479,20 @@ void InstrumentValue::clearFact(void)
_fact
=
nullptr
;
_factGroupName
.
clear
();
_label
.
clear
();
_icon
.
clear
();
_showUnits
=
true
;
emit
factChanged
(
_fact
);
emit
factGroupNameChanged
(
_factGroupName
);
emit
labelChanged
(
_label
);
emit
iconChanged
(
_icon
);
emit
showUnitsChanged
(
_showUnits
);
}
void
InstrumentValue
::
setIcon
(
const
QString
&
icon
)
{
if
(
icon
!=
_icon
)
{
if
(
icon
==
_noIconName
)
{
_icon
.
clear
();
}
else
{
_icon
=
icon
;
}
_icon
=
icon
;
emit
iconChanged
(
_icon
);
}
}
...
...
src/FlightMap/Widgets/ValuesWidgetController.h
View file @
fb5fc249
...
...
@@ -102,8 +102,6 @@ private:
static
const
char
*
_showUnitsKey
;
static
const
char
*
_iconKey
;
static
const
char
*
_iconPositionKey
;
static
const
QString
_noIconName
;
};
Q_DECLARE_METATYPE
(
InstrumentValue
::
FontSize
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment