1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-15 12:25:12 +03:00

[Taranis] Possibility to rename a directory in SD Manager

This commit is contained in:
bsongis 2015-03-09 18:50:10 +01:00
parent 0eeb0437db
commit 2e514565cc
13 changed files with 71 additions and 21 deletions

View file

@ -165,9 +165,10 @@ void onSdManagerMenu(const char *result)
strcpy_P(statusLineMsg+min((uint8_t)strlen(statusLineMsg), (uint8_t)13), STR_REMOVED);
showStatusLine();
REFRESH_FILES();
if (m_posVert == reusableBuffer.sdmanager.count-1)
if (m_posVert == reusableBuffer.sdmanager.count-1) {
m_posVert--;
}
}
/* TODO else if (result == STR_LOAD_FILE) {
f_getcwd(lfn, _MAX_LFN);
strcat(lfn, "/");
@ -276,8 +277,8 @@ void menuGeneralSdManager(uint8_t _event)
// no break
case EVT_KEY_LONG(KEY_ENTER):
killEvents(_event);
if (s_editMode == 0) {
killEvents(_event);
char *line = reusableBuffer.sdmanager.lines[index];
char *ext = getFileExtension(line, SD_SCREEN_FILE_LENGTH+1);
if (ext) {
@ -309,8 +310,8 @@ void menuGeneralSdManager(uint8_t _event)
MENU_ADD_ITEM(STR_RENAME_FILE);
MENU_ADD_ITEM(STR_DELETE_FILE);
}
}
menuHandler = onSdManagerMenu;
}
break;
}
@ -401,7 +402,7 @@ void menuGeneralSdManager(uint8_t _event)
lcdNextPos = 0;
LcdFlags attr = (index == i ? BSS|INVERS : BSS);
if (reusableBuffer.sdmanager.lines[i][0]) {
if (!reusableBuffer.sdmanager.lines[i][SD_SCREEN_FILE_LENGTH+1]) { lcd_putcAtt(0, y, '[', attr); }
if (!reusableBuffer.sdmanager.lines[i][SD_SCREEN_FILE_LENGTH+1]) { lcd_putcAtt(0, y, '[', s_editMode == EDIT_MODIFY_STRING ? 0 : attr); }
if (s_editMode == EDIT_MODIFY_STRING && attr) {
editName(lcdNextPos, y, reusableBuffer.sdmanager.lines[i], SD_SCREEN_FILE_LENGTH-4, _event, attr, 0);
if (s_editMode == 0) {
@ -414,7 +415,7 @@ void menuGeneralSdManager(uint8_t _event)
else {
lcd_putsAtt(lcdNextPos, y, reusableBuffer.sdmanager.lines[i], attr);
}
if (!reusableBuffer.sdmanager.lines[i][SD_SCREEN_FILE_LENGTH+1]) { lcd_putcAtt(lcdNextPos, y, ']', attr); }
if (!reusableBuffer.sdmanager.lines[i][SD_SCREEN_FILE_LENGTH+1]) { lcd_putcAtt(lcdNextPos, y, ']', s_editMode == EDIT_MODIFY_STRING ? 0 : attr); }
}
}

View file

@ -149,6 +149,7 @@ void editName(coord_t x, coord_t y, char *name, uint8_t size, uint8_t event, uin
}
lcd_putsnAtt(x, y, name, size, attr | mode);
coord_t backupNextPos = lcdNextPos;
if (active) {
uint8_t cur = editNameCursorPos;
@ -181,15 +182,27 @@ void editName(coord_t x, coord_t y, char *name, uint8_t size, uint8_t event, uin
break;
case EVT_ROTARY_LONG:
if ((attr == ZCHAR && v==0) || (attr == 0 && v==' ')) {
if (attr & ZCHAR) {
if (v == 0) {
s_editMode = 0;
killEvents(event);
}
else if (v>=-26 && v<=26) {
v = -v; // toggle case
}
}
else {
if (v == ' ') {
s_editMode = 0;
killEvents(event);
break;
}
if (v>=-26 && v<=26) {
v = -v; // toggle case
if (event==EVT_KEY_LONG(KEY_LEFT))
killEvents(KEY_LEFT);
else if (v>='A' && v<='Z') {
v = 'a'+v-'A'; // toggle case
}
else if (v>='a' && v<='z') {
v = 'A'+v-'a'; // toggle case
}
}
break;
}
@ -210,6 +223,7 @@ void editName(coord_t x, coord_t y, char *name, uint8_t size, uint8_t event, uin
cur = 0;
}
editNameCursorPos = cur;
lcdNextPos = backupNextPos;
}
}

View file

@ -504,7 +504,7 @@ void menuModelTelemetry(uint8_t event)
break;
case ITEM_TELEMETRY_NEWSENSOR:
lcd_putsAtt(INDENT_WIDTH, y, STR_TELEMETRY_NEWSENSOR, attr);
lcd_putsAtt(0, y, STR_TELEMETRY_NEWSENSOR, attr);
if (attr && event==EVT_KEY_BREAK(KEY_ENTER)) {
s_editMode = 0;
int res = availableTelemetryIndex();

View file

@ -41,7 +41,6 @@
#if defined(TRANSLATIONS_FR)
#define MENU_COLUMNS 1
#define COLUMN_X 0
#else
#define MENU_COLUMNS 2
#endif

View file

@ -208,14 +208,10 @@ char *strAppendFilename(char *dest, const char *filename, const int size)
char *getFileExtension(char *filename, int size)
{
for (int i=0; i<size-LEN_FILE_EXTENSION; ++i) {
if (filename[i] == '.') {
for (int j=i+1; j<size; ++j) {
if (filename[j] == '\0') {
if (filename[i] == '.' || filename[i] == '\0') {
return &filename[i];
}
}
}
}
return NULL;
}

View file

@ -535,9 +535,11 @@
#define TR_ELIMITS TR("Limit +25%", "Kanál +/- 125%")
#define TR_ETRIMS TR("širší Trim", "Široký trim")
#define TR_TRIMINC TR("Krok Trimu", "Krok trimu")
#define TR_DISPLAY_TRIMS "Display Trims"
#define TR_TTRACE TR("StopaPlynu", INDENT "Stopa plynu")
#define TR_TTRIM TR("TrimVolnob.", INDENT "Trim jen volnoběh")
#define TR_BEEPCTR "Středy \221\222"
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
#define TR_PROTO INDENT "Protokol"
#define TR_PPMFRAME INDENT "PPM frame"
#define TR_MS "ms"
@ -620,6 +622,9 @@
#define TR_POTWARNING TR("* Potenc.", INDENT "Nastavení Pot.")
#define TR_TIMEZONE "časové pásmo"
#define TR_RXCHANNELORD TR("Pořadí kanálů", "Výchozí pořadí kanálů")
#define TR_STICKS "Sticks"
#define TR_POTS "Pots"
#define TR_SWITCHES "Switches"
#define TR_SWITCHES_DELAY "Přechod středu přepínače"
#define TR_SLAVE "Podřízený"
#define TR_MODESRC " Mód\006% Zdroj"

View file

@ -539,9 +539,11 @@
#define TR_ELIMITS TR("Erw. Limit","Erw. Wege auf 150%")
#define TR_ETRIMS TR("Erw. Trims","Erw. Trim auf 100%")
#define TR_TRIMINC TR("Trim Schr.","Trimmschritte")
#define TR_DISPLAY_TRIMS "Display Trims"
#define TR_TTRACE TR("Gasquelle", INDENT "Gas-Timerquelle")
#define TR_TTRIM TR("Gastrim", INDENT "Gas-Leerlauftrim")
#define TR_BEEPCTR TR("Mitt.Piep","Mittelst.-Pieps")
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
#define TR_PROTO TR(INDENT"Protok.",INDENT"Protokoll")
#define TR_PPMFRAME " PPM Einst."
#define TR_MS "ms"
@ -624,6 +626,9 @@
#define TR_POTWARNING TR("Pot Warn.", INDENT "Poti-Warnung")
#define TR_TIMEZONE TR("Zeitzone", "GPS-Zeitzone")
#define TR_RXCHANNELORD TR("Kanalanordnung", "Kanalvoreinstellung")
#define TR_STICKS "Sticks"
#define TR_POTS "Pots"
#define TR_SWITCHES "Switches"
#define TR_SWITCHES_DELAY TR("Sw. Mitte Delay", "Schaltermitte Verz.") //Schalter Mitten verzögern Anpassung
#define TR_SLAVE TR("Schüler PPM1-16", "Schüler PPM1-16 als Ausgang")
#define TR_MODESRC " Modus\003% Quelle"

View file

@ -532,9 +532,11 @@
#define TR_ELIMITS TR("E.Limite","Ampliar Limites")
#define TR_ETRIMS TR("E.Trims","Ampliar Trims")
#define TR_TRIMINC "Paso Trim"
#define TR_DISPLAY_TRIMS "Display Trims"
#define TR_TTRACE TR("Fuente-A", INDENT "Fuente Acelerad")
#define TR_TTRIM TR("Trim-A", INDENT "Trim Acelerad")
#define TR_BEEPCTR TR("Ctr Beep","Center Beep")
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
#define TR_PROTO TR(INDENT"Proto",INDENT"Protocol")
#define TR_PPMFRAME "Trama PPM"
#define TR_MS "ms"
@ -617,6 +619,9 @@
#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE TR("Zona Hora", "GPS Zona Hora")
#define TR_RXCHANNELORD TR("Rx Orden canal", "Orden habitual canales")
#define TR_STICKS "Sticks"
#define TR_POTS "Pots"
#define TR_SWITCHES "Switches"
#define TR_SWITCHES_DELAY "Switches Delay"
#define TR_SLAVE "Esclavo"
#define TR_MODESRC "Modo\006% Fuente"

View file

@ -532,9 +532,11 @@
#define TR_ELIMITS TR("E.Limits", "Extended Limits")
#define TR_ETRIMS TR("E.Trims", "Extended Trims")
#define TR_TRIMINC "Trim Step"
#define TR_DISPLAY_TRIMS "Display Trims"
#define TR_TTRACE TR("T-Source", INDENT "Throttle Source")
#define TR_TTRIM TR("T-Trim", INDENT "Throttle Trim")
#define TR_BEEPCTR TR("Ctr Beep", "Center Beep")
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
#define TR_PROTO TR(INDENT "Proto", INDENT "Protocol")
#define TR_PPMFRAME TR("PPM frame", INDENT "PPM frame")
#define TR_MS "ms"
@ -617,6 +619,9 @@
#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE TR("Time Zone","GPS Time zone")
#define TR_RXCHANNELORD TR("Rx Channel Ord","Default channel order")
#define TR_STICKS "Sticks"
#define TR_POTS "Pots"
#define TR_SWITCHES "Switches"
#define TR_SWITCHES_DELAY "Switches Delay"
#define TR_SLAVE "Slave"
#define TR_MODESRC "Mode\006% Source"

View file

@ -532,9 +532,11 @@
#define TR_ELIMITS TR("Limiti.E","Limiti Estesi")
#define TR_ETRIMS TR("Trim Ext","Trim Estesi")
#define TR_TRIMINC "Passo Trim"
#define TR_DISPLAY_TRIMS "Display Trims"
#define TR_TTRACE TR("T-Source", INDENT "Sorgente Motore")
#define TR_TTRIM TR("T-Trim", INDENT "Trim Motore")
#define TR_BEEPCTR TR("Ctr Beep","Beep al centro")
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
#define TR_PROTO TR(INDENT "Proto", INDENT "Protocollo")
#define TR_PPMFRAME TR("PPM frame", INDENT "PPM frame")
#define TR_MS "ms"
@ -617,6 +619,9 @@
#define TR_POTWARNING TR("Avv. Pot.", INDENT "Avviso Pot.")
#define TR_TIMEZONE "Ora locale"
#define TR_RXCHANNELORD "Ordine ch RX"
#define TR_STICKS "Sticks"
#define TR_POTS "Pots"
#define TR_SWITCHES "Switches"
#define TR_SWITCHES_DELAY "Ritardo voce FV"
#define TR_SLAVE "Allievo"
#define TR_MODESRC "Modo\006% Origine"

View file

@ -530,9 +530,11 @@
#define TR_ELIMITS TR("Limi+25%", "Kanał +/- 125% ")
#define TR_ETRIMS TR("E.Trym ", "Poszer Trymery")
#define TR_TRIMINC "Krok Trym"
#define TR_DISPLAY_TRIMS "Display Trims"
#define TR_TTRACE TR("Źród gaz", INDENT "Źródło gazu ")
#define TR_TTRIM TR("TryGaz", INDENT "TrymWolnObrotó")
#define TR_BEEPCTR TR("ŚrodBeep", "Pikn.Środka")
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
#define TR_PROTO TR(INDENT "Proto", INDENT "Protokół")
#define TR_PPMFRAME TR(INDENT "Ramka PPM", INDENT "Ramka PPM")
#define TR_MS "ms"
@ -615,6 +617,9 @@
#define TR_POTWARNING TR(IF_CPUARM(INDENT) "Ostrz.Poten.", INDENT "PozycjaPotencj.")
#define TR_TIMEZONE TR("Strefa czasowa" ,"Strefa czasowa GPS")
#define TR_RXCHANNELORD TR("KolejnKan.RX", "Bazowa kolejność kanałów")
#define TR_STICKS "Sticks"
#define TR_POTS "Pots"
#define TR_SWITCHES "Switches"
#define TR_SWITCHES_DELAY "Opóźn.Przeł."
#define TR_SLAVE "Uczeń"
#define TR_MODESRC " Tryb\006% Źródło"

View file

@ -532,9 +532,11 @@
#define TR_ELIMITS "E.Limits"
#define TR_ETRIMS "E.Trims"
#define TR_TRIMINC "Trim Step"
#define TR_DISPLAY_TRIMS "Display Trims"
#define TR_TTRACE TR("T-Trace", INDENT "T-Trace")
#define TR_TTRIM TR("T-Trim", INDENT "T-Trim")
#define TR_BEEPCTR "Ctr Beep"
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
#define TR_PROTO INDENT"Proto"
#define TR_PPMFRAME "PPM frame"
#define TR_MS "ms"
@ -617,6 +619,9 @@
#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE "Time Zone"
#define TR_RXCHANNELORD "Ordem Canal RX"
#define TR_STICKS "Sticks"
#define TR_POTS "Pots"
#define TR_SWITCHES "Switches"
#define TR_SWITCHES_DELAY "Switches Delay"
#define TR_SLAVE "Escravo"
#define TR_MODESRC "Modo\006% Fonte"

View file

@ -532,9 +532,11 @@
#define TR_ELIMITS TR("Gränser++","Utökade Gränser")
#define TR_ETRIMS TR("Trimmar++","Utökade Trimmar")
#define TR_TRIMINC TR("Trimning","Trimökning")
#define TR_DISPLAY_TRIMS "Display Trims"
#define TR_TTRACE TR("Följ Gas", INDENT "Följ Gas")
#define TR_TTRIM TR("Gastrim", INDENT "Gastrim")
#define TR_BEEPCTR TR("Cent.pip", "Centerpip")
#define TR_USE_GLOBAL_FUNCS "Use Global Funcs"
#define TR_PROTO TR(INDENT "Proto", INDENT "Protokoll")
#define TR_PPMFRAME TR(INDENT "PPM-paket", INDENT "PPM-paket")
#define TR_MS "ms"
@ -617,6 +619,9 @@
#define TR_POTWARNING TR("Rattvarn.", INDENT "Rattvarning")
#define TR_TIMEZONE TR("Tidszon", "GPS Tidszon")
#define TR_RXCHANNELORD "Kanaler i RX"
#define TR_STICKS "Sticks"
#define TR_POTS "Pots"
#define TR_SWITCHES "Switches"
#define TR_SWITCHES_DELAY "Brytarfördröjning"
#define TR_SLAVE "Elev"
#define TR_MODESRC " Läge\004% Källa"