Skip to content

Commit 1fd91ca

Browse files
committed
LP-572 Add buttons to the right: Save, clear trail, PathPlan editor, Home set
1 parent 40f669b commit 1fd91ca

5 files changed

Lines changed: 315 additions & 8 deletions

File tree

ground/gcs/src/plugins/opmap/opmap_widget.ui

Lines changed: 238 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
<rect>
77
<x>0</x>
88
<y>0</y>
9-
<width>514</width>
10-
<height>412</height>
9+
<width>671</width>
10+
<height>488</height>
1111
</rect>
1212
</property>
1313
<property name="sizePolicy">
@@ -29,7 +29,16 @@
2929
<property name="spacing">
3030
<number>0</number>
3131
</property>
32-
<property name="margin">
32+
<property name="leftMargin">
33+
<number>0</number>
34+
</property>
35+
<property name="topMargin">
36+
<number>0</number>
37+
</property>
38+
<property name="rightMargin">
39+
<number>0</number>
40+
</property>
41+
<property name="bottomMargin">
3342
<number>0</number>
3443
</property>
3544
<item>
@@ -242,7 +251,16 @@ border-radius: 2px;
242251
<property name="spacing">
243252
<number>0</number>
244253
</property>
245-
<property name="margin">
254+
<property name="leftMargin">
255+
<number>0</number>
256+
</property>
257+
<property name="topMargin">
258+
<number>0</number>
259+
</property>
260+
<property name="rightMargin">
261+
<number>0</number>
262+
</property>
263+
<property name="bottomMargin">
246264
<number>0</number>
247265
</property>
248266
<item>
@@ -531,7 +549,7 @@ border-radius: 2px;
531549
</property>
532550
<property name="icon">
533551
<iconset resource="opmap.qrc">
534-
<normaloff>:/opmap/images/uav.png</normaloff>:/opmap/images/button_uav.png</iconset>
552+
<normaloff>:/opmap/images/button_uav.png</normaloff>:/opmap/images/button_uav.png</iconset>
535553
</property>
536554
<property name="iconSize">
537555
<size>
@@ -569,7 +587,7 @@ border-radius: 2px;
569587
</property>
570588
<property name="icon">
571589
<iconset resource="opmap.qrc">
572-
<normaloff>:/opmap/images/uav_heading.png</normaloff>:/opmap/images/button_uav_heading.png</iconset>
590+
<normaloff>:/opmap/images/button_uav_heading.png</normaloff>:/opmap/images/button_uav_heading.png</iconset>
573591
</property>
574592
<property name="iconSize">
575593
<size>
@@ -775,7 +793,16 @@ border-radius: 3px;
775793
<property name="spacing">
776794
<number>0</number>
777795
</property>
778-
<property name="margin">
796+
<property name="leftMargin">
797+
<number>0</number>
798+
</property>
799+
<property name="topMargin">
800+
<number>0</number>
801+
</property>
802+
<property name="rightMargin">
803+
<number>0</number>
804+
</property>
805+
<property name="bottomMargin">
779806
<number>0</number>
780807
</property>
781808
<item>
@@ -876,7 +903,16 @@ border-radius: 3px;
876903
<property name="spacing">
877904
<number>5</number>
878905
</property>
879-
<property name="margin">
906+
<property name="leftMargin">
907+
<number>1</number>
908+
</property>
909+
<property name="topMargin">
910+
<number>1</number>
911+
</property>
912+
<property name="rightMargin">
913+
<number>1</number>
914+
</property>
915+
<property name="bottomMargin">
880916
<number>1</number>
881917
</property>
882918
<item>
@@ -1020,6 +1056,152 @@ border-radius: 3px;
10201056
</property>
10211057
</widget>
10221058
</item>
1059+
<item>
1060+
<widget class="Line" name="line_7">
1061+
<property name="frameShadow">
1062+
<enum>QFrame::Plain</enum>
1063+
</property>
1064+
<property name="orientation">
1065+
<enum>Qt::Horizontal</enum>
1066+
</property>
1067+
</widget>
1068+
</item>
1069+
<item>
1070+
<widget class="QToolButton" name="toolButtonHomeSet">
1071+
<property name="sizePolicy">
1072+
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
1073+
<horstretch>0</horstretch>
1074+
<verstretch>0</verstretch>
1075+
</sizepolicy>
1076+
</property>
1077+
<property name="toolTip">
1078+
<string>Set HomeLocation to be used by the
1079+
autopilot or just pick the first GPS fix.</string>
1080+
</property>
1081+
<property name="text">
1082+
<string>Home Set</string>
1083+
</property>
1084+
<property name="icon">
1085+
<iconset resource="opmap.qrc">
1086+
<normaloff>:/opmap/images/button_home_not_set.png</normaloff>
1087+
<normalon>:/opmap/images/button_home_set.png</normalon>:/opmap/images/button_home_not_set.png</iconset>
1088+
</property>
1089+
<property name="iconSize">
1090+
<size>
1091+
<width>28</width>
1092+
<height>28</height>
1093+
</size>
1094+
</property>
1095+
<property name="checkable">
1096+
<bool>true</bool>
1097+
</property>
1098+
<property name="autoRepeat">
1099+
<bool>false</bool>
1100+
</property>
1101+
<property name="toolButtonStyle">
1102+
<enum>Qt::ToolButtonIconOnly</enum>
1103+
</property>
1104+
<property name="autoRaise">
1105+
<bool>false</bool>
1106+
</property>
1107+
</widget>
1108+
</item>
1109+
<item>
1110+
<widget class="QToolButton" name="toolButtonClearUAVTrail">
1111+
<property name="sizePolicy">
1112+
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
1113+
<horstretch>0</horstretch>
1114+
<verstretch>0</verstretch>
1115+
</sizepolicy>
1116+
</property>
1117+
<property name="toolTip">
1118+
<string>Clear UAV trail</string>
1119+
</property>
1120+
<property name="text">
1121+
<string>Clear UAV trail</string>
1122+
</property>
1123+
<property name="icon">
1124+
<iconset resource="opmap.qrc">
1125+
<normaloff>:/opmap/images/button_clear_uavtrail.png</normaloff>:/opmap/images/button_clear_uavtrail.png</iconset>
1126+
</property>
1127+
<property name="iconSize">
1128+
<size>
1129+
<width>28</width>
1130+
<height>28</height>
1131+
</size>
1132+
</property>
1133+
<property name="checkable">
1134+
<bool>false</bool>
1135+
</property>
1136+
<property name="autoRepeat">
1137+
<bool>false</bool>
1138+
</property>
1139+
<property name="toolButtonStyle">
1140+
<enum>Qt::ToolButtonIconOnly</enum>
1141+
</property>
1142+
<property name="autoRaise">
1143+
<bool>false</bool>
1144+
</property>
1145+
</widget>
1146+
</item>
1147+
<item>
1148+
<widget class="Line" name="line_9">
1149+
<property name="frameShadow">
1150+
<enum>QFrame::Plain</enum>
1151+
</property>
1152+
<property name="orientation">
1153+
<enum>Qt::Horizontal</enum>
1154+
</property>
1155+
</widget>
1156+
</item>
1157+
<item>
1158+
<widget class="QToolButton" name="toolButtonPlanEditor">
1159+
<property name="sizePolicy">
1160+
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
1161+
<horstretch>0</horstretch>
1162+
<verstretch>0</verstretch>
1163+
</sizepolicy>
1164+
</property>
1165+
<property name="toolTip">
1166+
<string>Edit PathPlan</string>
1167+
</property>
1168+
<property name="text">
1169+
<string>Edit plan</string>
1170+
</property>
1171+
<property name="icon">
1172+
<iconset resource="opmap.qrc">
1173+
<normaloff>:/opmap/images/button_edit_plan.png</normaloff>:/opmap/images/button_edit_plan.png</iconset>
1174+
</property>
1175+
<property name="iconSize">
1176+
<size>
1177+
<width>28</width>
1178+
<height>28</height>
1179+
</size>
1180+
</property>
1181+
<property name="checkable">
1182+
<bool>false</bool>
1183+
</property>
1184+
<property name="autoRepeat">
1185+
<bool>false</bool>
1186+
</property>
1187+
<property name="toolButtonStyle">
1188+
<enum>Qt::ToolButtonIconOnly</enum>
1189+
</property>
1190+
<property name="autoRaise">
1191+
<bool>false</bool>
1192+
</property>
1193+
</widget>
1194+
</item>
1195+
<item>
1196+
<widget class="Line" name="line_10">
1197+
<property name="frameShadow">
1198+
<enum>QFrame::Plain</enum>
1199+
</property>
1200+
<property name="orientation">
1201+
<enum>Qt::Horizontal</enum>
1202+
</property>
1203+
</widget>
1204+
</item>
10231205
<item>
10241206
<spacer name="verticalSpacer_2">
10251207
<property name="orientation">
@@ -1036,6 +1218,54 @@ border-radius: 3px;
10361218
</property>
10371219
</spacer>
10381220
</item>
1221+
<item>
1222+
<widget class="Line" name="line_11">
1223+
<property name="frameShadow">
1224+
<enum>QFrame::Plain</enum>
1225+
</property>
1226+
<property name="orientation">
1227+
<enum>Qt::Horizontal</enum>
1228+
</property>
1229+
</widget>
1230+
</item>
1231+
<item>
1232+
<widget class="QToolButton" name="toolButtonSaveSettings">
1233+
<property name="sizePolicy">
1234+
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
1235+
<horstretch>0</horstretch>
1236+
<verstretch>0</verstretch>
1237+
</sizepolicy>
1238+
</property>
1239+
<property name="toolTip">
1240+
<string>Save current map settings</string>
1241+
</property>
1242+
<property name="text">
1243+
<string>Save settings</string>
1244+
</property>
1245+
<property name="icon">
1246+
<iconset resource="opmap.qrc">
1247+
<normaloff>:/opmap/images/button_save.png</normaloff>:/opmap/images/button_save.png</iconset>
1248+
</property>
1249+
<property name="iconSize">
1250+
<size>
1251+
<width>28</width>
1252+
<height>28</height>
1253+
</size>
1254+
</property>
1255+
<property name="checkable">
1256+
<bool>false</bool>
1257+
</property>
1258+
<property name="autoRepeat">
1259+
<bool>false</bool>
1260+
</property>
1261+
<property name="toolButtonStyle">
1262+
<enum>Qt::ToolButtonIconOnly</enum>
1263+
</property>
1264+
<property name="autoRaise">
1265+
<bool>false</bool>
1266+
</property>
1267+
</widget>
1268+
</item>
10391269
</layout>
10401270
</widget>
10411271
</item>

ground/gcs/src/plugins/opmap/opmapgadget.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ OPMapGadget::OPMapGadget(QString classId, OPMapGadgetWidget *widget, QWidget *pa
3232
m_widget(widget), m_config(NULL)
3333
{
3434
connect(m_widget, SIGNAL(defaultLocationAndZoomChanged(double, double, double)), this, SLOT(saveDefaultLocation(double, double, double)));
35+
connect(m_widget, SIGNAL(defaultSafeAreaChanged(int, bool)), this, SLOT(saveDefaultSafeArea(int, bool)));
3536
connect(m_widget, SIGNAL(overlayOpacityChanged(qreal)), this, SLOT(saveOpacity(qreal)));
3637
}
3738

@@ -48,6 +49,14 @@ void OPMapGadget::saveDefaultLocation(double lng, double lat, double zoom)
4849
m_config->save();
4950
}
5051
}
52+
void OPMapGadget::saveDefaultSafeArea(int safe_area_radius, bool showSafeArea)
53+
{
54+
if (m_config) {
55+
m_config->setSafeAreaRadius(safe_area_radius);
56+
m_config->setShowSafeArea(showSafeArea);
57+
m_config->save();
58+
}
59+
}
5160

5261
void OPMapGadget::saveOpacity(qreal value)
5362
{

ground/gcs/src/plugins/opmap/opmapgadget.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ class OPMapGadget : public Core::IUAVGadget {
5656
private slots:
5757
void saveOpacity(qreal value);
5858
void saveDefaultLocation(double lng, double lat, double zoom);
59+
void saveDefaultSafeArea(int safe_area_radius, bool showSafeArea);
5960
};
6061

6162

0 commit comments

Comments
 (0)