Browse Source

New QGCMapLabel using outline font

This makes text show up better on map images
QGC4.4
Don Gagne 8 years ago
parent
commit
373245491a
  1. 1
      qgroundcontrol.qrc
  2. 4
      src/FlightDisplay/FlightDisplayViewMap.qml
  3. 5
      src/FlightMap/FlightMap.qml
  4. 4
      src/FlightMap/MapScale.qml
  5. 10
      src/MissionEditor/MissionEditor.qml
  6. 1
      src/QGCMapPalette.cc
  7. 3
      src/QGCMapPalette.h
  8. 16
      src/QmlControls/QGCMapLabel.qml
  9. 20
      src/QmlControls/QGCRadioButton.qml
  10. 1
      src/QmlControls/QGroundControl.Controls.qmldir
  11. 12
      src/QtLocationPlugin/QMLControl/OfflineMap.qml

1
qgroundcontrol.qrc

@ -70,6 +70,7 @@ @@ -70,6 +70,7 @@
<file alias="QGroundControl/Controls/QGCFlickableVerticalIndicator.qml">src/QmlControls/QGCFlickableVerticalIndicator.qml</file>
<file alias="QGroundControl/Controls/QGCLabel.qml">src/QmlControls/QGCLabel.qml</file>
<file alias="QGroundControl/Controls/QGCListView.qml">src/QmlControls/QGCListView.qml</file>
<file alias="QGroundControl/Controls/QGCMapLabel.qml">src/QmlControls/QGCMapLabel.qml</file>
<file alias="QGroundControl/Controls/QGCMobileFileOpenDialog.qml">src/QmlControls/QGCMobileFileOpenDialog.qml</file>
<file alias="QGroundControl/Controls/QGCMobileFileSaveDialog.qml">src/QmlControls/QGCMobileFileSaveDialog.qml</file>
<file alias="QGroundControl/Controls/QGCMovableItem.qml">src/QmlControls/QGCMovableItem.qml</file>

4
src/FlightDisplay/FlightDisplayViewMap.qml

@ -71,10 +71,10 @@ FlightMap { @@ -71,10 +71,10 @@ FlightMap {
Component.onCompleted: start(false /* editMode */)
}
QGCLabel {
QGCMapLabel {
id: flyLabel
map: flightMap
text: qsTr("Fly")
color: mapPal.text
visible: !ScreenTools.isShortScreen
anchors.topMargin: _toolButtonTopMargin
anchors.horizontalCenter: centerMapDropButton.horizontalCenter

5
src/FlightMap/FlightMap.qml

@ -161,13 +161,14 @@ Map { @@ -161,13 +161,14 @@ Map {
// Not sure why this is needed, but trying to reference polygonDrawer directly from other code doesn't work
property alias polygonDraw: polygonDrawer
QGCLabel {
id: polygonHelp
QGCMapLabel {
id: polygonHelp
anchors.topMargin: parent.height - ScreenTools.availableHeight
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
horizontalAlignment: Text.AlignHCenter
map: _map
text: qsTr("Click to add point %1").arg(ScreenTools.isMobile || !polygonDrawer.polygonReady ? "" : qsTr("- Right Click to end polygon"))
visible: polygonDrawer.drawingPolygon

4
src/FlightMap/MapScale.qml

@ -138,9 +138,9 @@ Item { @@ -138,9 +138,9 @@ Item {
onTriggered: calculateScale()
}
QGCLabel {
QGCMapLabel {
id: scaleText
color: _color
map: mapControl
font.family: ScreenTools.demiboldFontFamily
anchors.left: parent.left
anchors.right: parent.right

10
src/MissionEditor/MissionEditor.qml

@ -584,6 +584,8 @@ QGCView { @@ -584,6 +584,8 @@ QGCView {
text: qsTr("Mission")
checked: true
color: mapPal.text
textStyle: Text.Outline
textStyleColor: mapPal.textOutline
}
Item { height: 1; width: 1 }
@ -593,6 +595,8 @@ QGCView { @@ -593,6 +595,8 @@ QGCView {
exclusiveGroup: planElementSelectorGroup
text: qsTr("Fence")
color: mapPal.text
textStyle: Text.Outline
textStyleColor: mapPal.textOutline
}
Item { height: 1; width: 1 }
@ -602,6 +606,8 @@ QGCView { @@ -602,6 +606,8 @@ QGCView {
exclusiveGroup: planElementSelectorGroup
text: qsTr("Rally")
color: mapPal.text
textStyle: Text.Outline
textStyleColor: mapPal.textOutline
}
} // Row - Plan Element Selector
@ -770,10 +776,10 @@ QGCView { @@ -770,10 +776,10 @@ QGCView {
}
}
QGCLabel {
QGCMapLabel {
id: planLabel
map: editorMap
text: qsTr("Plan")
color: mapPal.text
visible: !ScreenTools.isShortScreen
anchors.topMargin: _toolButtonTopMargin
anchors.horizontalCenter: addMissionItemsButton.horizontalCenter

1
src/QGCMapPalette.cc

@ -15,6 +15,7 @@ @@ -15,6 +15,7 @@
QColor QGCMapPalette::_thumbJoystick[QGCMapPalette::_cColorGroups] = { QColor(255,255,255,127), QColor(0,0,0,127) };
QColor QGCMapPalette::_text [QGCMapPalette::_cColorGroups] = { QColor(255,255,255), QColor(0,0,0) };
QColor QGCMapPalette::_textOutline [QGCMapPalette::_cColorGroups] = { QColor(0,0,0), QColor(255,255,255) };
QGCMapPalette::QGCMapPalette(QObject* parent) :
QObject(parent)

3
src/QGCMapPalette.h

@ -43,6 +43,7 @@ class QGCMapPalette : public QObject @@ -43,6 +43,7 @@ class QGCMapPalette : public QObject
Q_PROPERTY(bool lightColors READ lightColors WRITE setLightColors NOTIFY paletteChanged)
Q_PROPERTY(QColor text READ text NOTIFY paletteChanged)
Q_PROPERTY(QColor textOutline READ textOutline NOTIFY paletteChanged)
Q_PROPERTY(QColor thumbJoystick READ thumbJoystick NOTIFY paletteChanged)
public:
@ -50,6 +51,7 @@ public: @@ -50,6 +51,7 @@ public:
/// Text color
QColor text(void) const { return _text[_lightColors ? 0 : 1]; }
QColor textOutline(void) const { return _textOutline[_lightColors ? 0 : 1]; }
/// Thumb joystick indicator
QColor thumbJoystick(void) const { return _thumbJoystick[_lightColors ? 0 : 1]; }
@ -68,6 +70,7 @@ private: @@ -68,6 +70,7 @@ private:
static QColor _thumbJoystick[_cColorGroups];
static QColor _text[_cColorGroups];
static QColor _textOutline[_cColorGroups];
};
#endif

16
src/QmlControls/QGCMapLabel.qml

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
import QtQuick 2.2
import QtQuick.Controls 1.2
import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0
/// Text control used for displaying text of Maps
QGCLabel {
property var map
QGCMapPalette { id: mapPal; lightColors: map.isSatelliteMap }
color: mapPal.text
style: Text.Outline
styleColor: mapPal.textOutline
}

20
src/QmlControls/QGCRadioButton.qml

@ -1,20 +1,23 @@ @@ -1,20 +1,23 @@
import QtQuick 2.2
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtQuick 2.2
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
import QGroundControl.Palette 1.0
import QGroundControl.ScreenTools 1.0
RadioButton {
property var color: _qgcPal.text ///< Text color
property var color: qgcPal.text ///< Text color
property int textStyle: Text.Normal
property color textStyleColor: qgcPal.text
property var _qgcPal: QGCPalette { colorGroupEnabled: enabled }
QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
style: RadioButtonStyle {
label: Item {
implicitWidth: text.implicitWidth + ScreenTools.defaultFontPixelWidth * 0.25
implicitHeight: text.implicitHeight
baselineOffset: text.y + text.baselineOffset
Rectangle {
anchors.fill: text
anchors.margins: -1
@ -27,6 +30,7 @@ RadioButton { @@ -27,6 +30,7 @@ RadioButton {
border.color: "#47b"
opacity: 0.6
}
Text {
id: text
text: control.text
@ -34,6 +38,8 @@ RadioButton { @@ -34,6 +38,8 @@ RadioButton {
font.family: ScreenTools.normalFontFamily
antialiasing: true
color: control.color
style: control.textStyle
styleColor: control.textStyleColor
anchors.centerIn: parent
}
}

1
src/QmlControls/QGroundControl.Controls.qmldir

@ -30,6 +30,7 @@ QGCComboBox 1.0 QGCComboBox.qml @@ -30,6 +30,7 @@ QGCComboBox 1.0 QGCComboBox.qml
QGCFlickable 1.0 QGCFlickable.qml
QGCLabel 1.0 QGCLabel.qml
QGCListView 1.0 QGCListView.qml
QGCMapLabel 1.0 QGCMapLabel.qml
QGCMobileFileOpenDialog 1.0 QGCMobileFileOpenDialog.qml
QGCMobileFileSaveDialog 1.0 QGCMobileFileSaveDialog.qml
QGCMovableItem 1.0 QGCMovableItem.qml

12
src/QtLocationPlugin/QMLControl/OfflineMap.qml

@ -508,6 +508,8 @@ QGCView { @@ -508,6 +508,8 @@ QGCView {
gesture.enabled: false
visible: _showPreview
property bool isSatelliteMap: activeMapType.name.indexOf("Satellite") > -1 || activeMapType.name.indexOf("Hybrid") > -1
plugin: Plugin { name: "QGroundControl" }
MapScale {
@ -523,9 +525,9 @@ QGCView { @@ -523,9 +525,9 @@ QGCView {
border.color: _mapAdjustedColor
color: "transparent"
QGCLabel {
QGCMapLabel {
anchors.centerIn: parent
color: _mapAdjustedColor
map: minZoomPreview
text: qsTr("Min Zoom: %1").arg(sliderMinZoom.value)
}
MouseArea {
@ -545,6 +547,8 @@ QGCView { @@ -545,6 +547,8 @@ QGCView {
gesture.enabled: false
visible: _showPreview
property bool isSatelliteMap: activeMapType.name.indexOf("Satellite") > -1 || activeMapType.name.indexOf("Hybrid") > -1
plugin: Plugin { name: "QGroundControl" }
MapScale {
@ -560,9 +564,9 @@ QGCView { @@ -560,9 +564,9 @@ QGCView {
border.color: _mapAdjustedColor
color: "transparent"
QGCLabel {
QGCMapLabel {
anchors.centerIn: parent
color: _mapAdjustedColor
map: maxZoomPreview
text: qsTr("Max Zoom: %1").arg(sliderMaxZoom.value)
}
MouseArea {

Loading…
Cancel
Save