Commit 77be5c4b authored by Don Gagne's avatar Don Gagne

Merge pull request #2059 from DonLakeFlyer/EditHelp

Better visuals/mechanism for editor help
parents 230bf5e2 15266b59
...@@ -66,6 +66,7 @@ ...@@ -66,6 +66,7 @@
<file alias="ZoomPlus.svg">src/FlightMap/Images/ZoomPlus.svg</file> <file alias="ZoomPlus.svg">src/FlightMap/Images/ZoomPlus.svg</file>
<file alias="ZoomMinus.svg">src/FlightMap/Images/ZoomMinus.svg</file> <file alias="ZoomMinus.svg">src/FlightMap/Images/ZoomMinus.svg</file>
<file alias="TrashDelete.svg">src/FlightMap/Images/TrashDelete.svg</file> <file alias="TrashDelete.svg">src/FlightMap/Images/TrashDelete.svg</file>
<file alias="XDelete.svg">src/FlightMap/Images/XDelete.svg</file>
<!-- Map Buttons --> <!-- Map Buttons -->
<file alias="Help.svg">src/FlightMap/Images/Help.svg</file> <file alias="Help.svg">src/FlightMap/Images/Help.svg</file>
......
...@@ -138,3 +138,21 @@ QString FlightMapSettings::loadMapSetting (const QString &mapName, const QString ...@@ -138,3 +138,21 @@ QString FlightMapSettings::loadMapSetting (const QString &mapName, const QString
settings.beginGroup(mapName); settings.beginGroup(mapName);
return settings.value(key, defaultValue).toString(); return settings.value(key, defaultValue).toString();
} }
void FlightMapSettings::saveBoolMapSetting (const QString &mapName, const QString& key, bool value)
{
QSettings settings;
settings.beginGroup(_settingsGroup);
settings.beginGroup(mapName);
settings.setValue(key, value);
}
bool FlightMapSettings::loadBoolMapSetting (const QString &mapName, const QString& key, bool defaultValue)
{
QSettings settings;
settings.beginGroup(_settingsGroup);
settings.beginGroup(mapName);
return settings.value(key, defaultValue).toBool();
}
...@@ -46,7 +46,9 @@ public: ...@@ -46,7 +46,9 @@ public:
Q_INVOKABLE void saveMapSetting (const QString &mapName, const QString& key, const QString& value); Q_INVOKABLE void saveMapSetting (const QString &mapName, const QString& key, const QString& value);
Q_INVOKABLE QString loadMapSetting (const QString &mapName, const QString& key, const QString& defaultValue); Q_INVOKABLE QString loadMapSetting (const QString &mapName, const QString& key, const QString& defaultValue);
Q_INVOKABLE void saveBoolMapSetting (const QString &mapName, const QString& key, bool value);
Q_INVOKABLE bool loadBoolMapSetting (const QString &mapName, const QString& key, bool defaultValue);
// Property accessors // Property accessors
QString mapProvider(void); QString mapProvider(void);
......
...@@ -52,6 +52,7 @@ QGCView { ...@@ -52,6 +52,7 @@ QGCView {
readonly property real _rightPanelOpacity: 0.8 readonly property real _rightPanelOpacity: 0.8
readonly property int _toolButtonCount: 6 readonly property int _toolButtonCount: 6
readonly property string _autoSyncKey: "AutoSync" readonly property string _autoSyncKey: "AutoSync"
readonly property string _showHelpKey: "ShowHelp"
readonly property int _addMissionItemsButtonAutoOffTimeout: 10000 readonly property int _addMissionItemsButtonAutoOffTimeout: 10000
property var _missionItems: controller.missionItems property var _missionItems: controller.missionItems
...@@ -67,6 +68,8 @@ QGCView { ...@@ -67,6 +68,8 @@ QGCView {
property bool _syncNeeded: controller.missionItems.dirty property bool _syncNeeded: controller.missionItems.dirty
property bool _syncInProgress: _activeVehicle ? _activeVehicle.missionManager.inProgress : false property bool _syncInProgress: _activeVehicle ? _activeVehicle.missionManager.inProgress : false
property bool _showHelp: QGroundControl.flightMapSettings.loadBoolMapSetting(editorMap.mapName, _showHelpKey, true)
MissionEditorController { MissionEditorController {
id: controller id: controller
/* /*
...@@ -239,7 +242,7 @@ QGCView { ...@@ -239,7 +242,7 @@ QGCView {
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.right: parent.right anchors.right: parent.right
width: _rightPanelWidth width: _rightPanelWidth
visible: !helpButton.checked && !homePositionManagerButton.checked && _missionItems.count > 1 visible: !homePositionManagerButton.checked && _missionItems.count > 1
opacity: _rightPanelOpacity opacity: _rightPanelOpacity
z: editorMap.zOrderTopMost z: editorMap.zOrderTopMost
...@@ -554,15 +557,36 @@ QGCView { ...@@ -554,15 +557,36 @@ QGCView {
// Help Panel // Help Panel
Rectangle { Rectangle {
id: helpPanel id: helpPanel
anchors.top: parent.top anchors.margins: margins
anchors.bottom: parent.bottom anchors.top: parent.top
anchors.right: parent.right anchors.bottom: parent.bottom
width: _rightPanelWidth anchors.left: parent.left
visible: !homePositionManagerButton.checked && (_missionItems.count == 1 || helpButton.checked) width: parent.width - (margins * 2) - _rightPanelWidth
color: qgcPal.window visible: helpButton.checked
opacity: _rightPanelOpacity color: qgcPal.window
z: editorMap.zOrderTopMost opacity: _rightPanelOpacity
radius: ScreenTools.defaultFontPixelHeight
z: editorMap.zOrderTopMost
readonly property real margins: ScreenTools.defaultFontPixelHeight * 4
Image {
anchors.margins: ScreenTools.defaultFontPixelHeight
anchors.top: parent.top
anchors.right: parent.right
width: ScreenTools.defaultFontPixelHeight * 1.5
height: ScreenTools.defaultFontPixelHeight * 1.5
source: "/qmlimages/XDelete.svg"
fillMode: Image.PreserveAspectFit
mipmap: true
smooth: true
MouseArea {
anchors.fill: parent
onClicked: helpButton.checked = false
}
}
Item { Item {
anchors.margins: _margin anchors.margins: _margin
...@@ -606,13 +630,35 @@ QGCView { ...@@ -606,13 +630,35 @@ QGCView {
} }
Image { Image {
id: homePositionManagerHelpIcon id: deleteHelpIcon
anchors.topMargin: ScreenTools.defaultFontPixelHeight anchors.topMargin: ScreenTools.defaultFontPixelHeight
anchors.top: addMissionItemsHelpText.bottom anchors.top: addMissionItemsHelpText.bottom
width: ScreenTools.defaultFontPixelHeight * 3 width: ScreenTools.defaultFontPixelHeight * 3
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
mipmap: true mipmap: true
smooth: true smooth: true
source: "/qmlimages/TrashDelete.svg"
}
QGCLabel {
id: deleteHelpText
anchors.leftMargin: ScreenTools.defaultFontPixelHeight
anchors.left: mapTypeHelpIcon.right
anchors.right: parent.right
anchors.top: deleteHelpIcon.top
wrapMode: Text.WordWrap
text: "<b>Delete Mission Item</b><br>" +
"Delete the currently selected mission item."
}
Image {
id: homePositionManagerHelpIcon
anchors.topMargin: ScreenTools.defaultFontPixelHeight
anchors.top: deleteHelpText.bottom
width: ScreenTools.defaultFontPixelHeight * 3
fillMode: Image.PreserveAspectFit
mipmap: true
smooth: true
source: "/qmlimages/MapHome.svg" source: "/qmlimages/MapHome.svg"
} }
...@@ -693,6 +739,15 @@ QGCView { ...@@ -693,6 +739,15 @@ QGCView {
text: "<b>Map Type</b><br>" + text: "<b>Map Type</b><br>" +
"Map type options." "Map type options."
} }
QGCCheckBox {
anchors.left: parent.left
anchors.bottom: parent.bottom
checked: !_showHelp
text: "Don't show me again"
onClicked: QGroundControl.flightMapSettings.saveBoolMapSetting(editorMap.mapName, _showHelpKey, !checked)
}
} // Item - margin } // Item - margin
} // Item - Help Panel } // Item - Help Panel
...@@ -853,6 +908,7 @@ QGCView { ...@@ -853,6 +908,7 @@ QGCView {
buttonImage: "/qmlimages/Help.svg" buttonImage: "/qmlimages/Help.svg"
exclusiveGroup: _dropButtonsExclusiveGroup exclusiveGroup: _dropButtonsExclusiveGroup
z: editorMap.zOrderWidgets z: editorMap.zOrderWidgets
checked: _showHelp
} }
} // FlightMap } // FlightMap
} // Item - split view container } // Item - split view container
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment