Copy telemetry sensors (Fix #2513)

This commit is contained in:
Andre Bernet
2015-08-01 15:07:55 +02:00
parent 70e93fb493
commit 39c0b79f85
2 changed files with 34 additions and 0 deletions
+17
View File
@@ -482,6 +482,22 @@ void onSensorMenu(const char *result)
else
m_posVert = 1+ITEM_TELEMETRY_NEWSENSOR;
}
else if (result == STR_COPY) {
int newIndex = availableTelemetryIndex();
if (newIndex >= 0) {
TelemetrySensor & sourceSensor = g_model.telemetrySensors[index];
TelemetrySensor & newSensor = g_model.telemetrySensors[newIndex];
newSensor = sourceSensor;
TelemetryItem & sourceItem = telemetryItems[index];
TelemetryItem & newItem = telemetryItems[newIndex];
newItem = sourceItem;
eeDirty(EE_MODEL);
}
else {
POPUP_WARNING(STR_TELEMETRYFULL);
}
}
}
}
#endif
@@ -547,6 +563,7 @@ void menuModelTelemetry(uint8_t event)
if (event == EVT_KEY_LONG(KEY_ENTER)) {
killEvents(event);
MENU_ADD_ITEM(STR_EDIT);
MENU_ADD_ITEM(STR_COPY);
MENU_ADD_ITEM(STR_DELETE);
menuHandler = onSensorMenu;
}
@@ -469,6 +469,22 @@ void onSensorMenu(const char *result)
else
m_posVert = ITEM_TELEMETRY_NEWSENSOR;
}
else if (result == STR_COPY) {
int newIndex = availableTelemetryIndex();
if (newIndex >= 0) {
TelemetrySensor & sourceSensor = g_model.telemetrySensors[index];
TelemetrySensor & newSensor = g_model.telemetrySensors[newIndex];
newSensor = sourceSensor;
TelemetryItem & sourceItem = telemetryItems[index];
TelemetryItem & newItem = telemetryItems[newIndex];
newItem = sourceItem;
eeDirty(EE_MODEL);
}
else {
POPUP_WARNING(STR_TELEMETRYFULL);
}
}
}
}
@@ -545,6 +561,7 @@ void menuModelTelemetry(uint8_t event)
if (event == EVT_KEY_LONG(KEY_ENTER)) {
killEvents(event);
MENU_ADD_ITEM(STR_EDIT);
MENU_ADD_ITEM(STR_COPY);
MENU_ADD_ITEM(STR_DELETE);
menuHandler = onSensorMenu;
}