From 39c0b79f8533eadeb6f6a05541a6251d28766ca5 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Sat, 1 Aug 2015 15:07:55 +0200 Subject: [PATCH] Copy telemetry sensors (Fix #2513) --- radio/src/gui/9X/menu_model_telemetry.cpp | 17 +++++++++++++++++ radio/src/gui/Taranis/menu_model_telemetry.cpp | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/radio/src/gui/9X/menu_model_telemetry.cpp b/radio/src/gui/9X/menu_model_telemetry.cpp index 99936f4f1..c09bceb6c 100644 --- a/radio/src/gui/9X/menu_model_telemetry.cpp +++ b/radio/src/gui/9X/menu_model_telemetry.cpp @@ -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; } diff --git a/radio/src/gui/Taranis/menu_model_telemetry.cpp b/radio/src/gui/Taranis/menu_model_telemetry.cpp index 05135c3a0..69fcd3486 100644 --- a/radio/src/gui/Taranis/menu_model_telemetry.cpp +++ b/radio/src/gui/Taranis/menu_model_telemetry.cpp @@ -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; }