From 76681201bf9e4e6c5ef16a284fc9fa3747d0f0a4 Mon Sep 17 00:00:00 2001 From: Lev Roland-Kalb <114942703+Levrk@users.noreply.github.com> Date: Sat, 28 Feb 2026 21:10:25 -0500 Subject: [PATCH] fix: Hide unusable button hints when viewing empty directory (#1253) ## Summary * **What is the goal of this PR?** Increase accuracy of button hints and text description in the file browser when viewing empty directory. * **What changes are included?** Adjusted button label hint rendering logic in file browser to hide the "Open", "Up", and "Down" hints when the they are not available due to an empty directory. I also changed the NO_BOOKS_FOUND string to NO_FILES_FOUND and updated translations. File browser shows more than just books so seeing "No Books Found" really doesn't make sense. ## Additional Context Very Simple change, here is what that looks like on my device. Untitled (7) --- ### AI Usage While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it helps set the right context for reviewers. Did you use AI tools to help write this code? _**NO**_ --- lib/I18n/translations/belarusian.yaml | 2 +- lib/I18n/translations/catalan.yaml | 2 +- lib/I18n/translations/czech.yaml | 2 +- lib/I18n/translations/danish.yaml | 2 +- lib/I18n/translations/dutch.yaml | 2 +- lib/I18n/translations/english.yaml | 2 +- lib/I18n/translations/finnish.yaml | 2 +- lib/I18n/translations/french.yaml | 2 +- lib/I18n/translations/german.yaml | 2 +- lib/I18n/translations/italian.yaml | 2 +- lib/I18n/translations/polish.yaml | 2 +- lib/I18n/translations/portuguese.yaml | 2 +- lib/I18n/translations/romanian.yaml | 2 +- lib/I18n/translations/russian.yaml | 2 +- lib/I18n/translations/spanish.yaml | 2 +- lib/I18n/translations/swedish.yaml | 2 +- lib/I18n/translations/ukrainian.yaml | 2 +- src/activities/home/MyLibraryActivity.cpp | 7 ++++--- 18 files changed, 21 insertions(+), 20 deletions(-) diff --git a/lib/I18n/translations/belarusian.yaml b/lib/I18n/translations/belarusian.yaml index 6e89e0c0..6a64751d 100644 --- a/lib/I18n/translations/belarusian.yaml +++ b/lib/I18n/translations/belarusian.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Працягнуць чытанне" STR_NO_OPEN_BOOK: "Няма адкрытай кнігі" STR_START_READING: "Пачніце чытанне ніжэй" STR_BOOKS: "Кнігі" -STR_NO_BOOKS_FOUND: "Кнігі не знойдзены" +STR_NO_FILES_FOUND: "Файлы не знойдзены" STR_SELECT_CHAPTER: "Абярыце раздзел" STR_NO_CHAPTERS: "Раздзелаў няма" STR_END_OF_BOOK: "Канец кнігі" diff --git a/lib/I18n/translations/catalan.yaml b/lib/I18n/translations/catalan.yaml index a17ebcf5..9d59ee28 100644 --- a/lib/I18n/translations/catalan.yaml +++ b/lib/I18n/translations/catalan.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Continua llegint" STR_NO_OPEN_BOOK: "Cap llibre obert" STR_START_READING: "Inicia la lectura a continuació" STR_BOOKS: "Llibres" -STR_NO_BOOKS_FOUND: "No s'ha trobat cap llibre" +STR_NO_FILES_FOUND: "No s'han trobat fitxers" STR_SELECT_CHAPTER: "Selecciona el capítol" STR_NO_CHAPTERS: "Sense capítols" STR_END_OF_BOOK: "Final del llibre" diff --git a/lib/I18n/translations/czech.yaml b/lib/I18n/translations/czech.yaml index 12fbda81..c32d576f 100644 --- a/lib/I18n/translations/czech.yaml +++ b/lib/I18n/translations/czech.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Pokračovat ve čtení" STR_NO_OPEN_BOOK: "Žádná otevřená kniha" STR_START_READING: "Začněte číst níže" STR_BOOKS: "Knihy" -STR_NO_BOOKS_FOUND: "Žádné knihy nenalezeny" +STR_NO_FILES_FOUND: "Nebyly nalezeny žádné soubory" STR_SELECT_CHAPTER: "Vybrat kapitolu" STR_NO_CHAPTERS: "Žádné kapitoly" STR_END_OF_BOOK: "Konec knihy" diff --git a/lib/I18n/translations/danish.yaml b/lib/I18n/translations/danish.yaml index a415e347..8f96298c 100644 --- a/lib/I18n/translations/danish.yaml +++ b/lib/I18n/translations/danish.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Fortsæt med at læse" STR_NO_OPEN_BOOK: "Ingen åben bog" STR_START_READING: "Start læsning nedenfor" STR_BOOKS: "Bøger" -STR_NO_BOOKS_FOUND: "Ingen bøger fundet" +STR_NO_FILES_FOUND: "Ingen filer fundet" STR_SELECT_CHAPTER: "Vælg kapitel" STR_NO_CHAPTERS: "Ingen kapitler" STR_END_OF_BOOK: "Bogen er færdig" diff --git a/lib/I18n/translations/dutch.yaml b/lib/I18n/translations/dutch.yaml index d4d6a8db..3a5c8c08 100644 --- a/lib/I18n/translations/dutch.yaml +++ b/lib/I18n/translations/dutch.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Verder lezen" STR_NO_OPEN_BOOK: "Geen geopend boek" STR_START_READING: "Begin hieronder met lezen" STR_BOOKS: "Boeken" -STR_NO_BOOKS_FOUND: "Geen boeken gevonden" +STR_NO_FILES_FOUND: "Geen bestanden gevonden" STR_SELECT_CHAPTER: "Selecteer hoofdstuk" STR_NO_CHAPTERS: "Geen hoofdstukken" STR_END_OF_BOOK: "Einde van boek" diff --git a/lib/I18n/translations/english.yaml b/lib/I18n/translations/english.yaml index 391f7c09..f5b80b8e 100644 --- a/lib/I18n/translations/english.yaml +++ b/lib/I18n/translations/english.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Continue Reading" STR_NO_OPEN_BOOK: "No open book" STR_START_READING: "Start reading below" STR_BOOKS: "Books" -STR_NO_BOOKS_FOUND: "No books found" +STR_NO_FILES_FOUND: "No files found" STR_SELECT_CHAPTER: "Select Chapter" STR_NO_CHAPTERS: "No chapters" STR_END_OF_BOOK: "End of book" diff --git a/lib/I18n/translations/finnish.yaml b/lib/I18n/translations/finnish.yaml index bb72e9d0..95db292e 100644 --- a/lib/I18n/translations/finnish.yaml +++ b/lib/I18n/translations/finnish.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Jatka lukemista" STR_NO_OPEN_BOOK: "Kirjaa ei valittu" STR_START_READING: "Aloita lukeminen" STR_BOOKS: "Kirjat" -STR_NO_BOOKS_FOUND: "Kirjoja ei löytynyt" +STR_NO_FILES_FOUND: "Ei tiedostoja löytynyt" STR_SELECT_CHAPTER: "Valitse luku" STR_NO_CHAPTERS: "Ei lukuja" STR_END_OF_BOOK: "Kirjan loppu" diff --git a/lib/I18n/translations/french.yaml b/lib/I18n/translations/french.yaml index cad52604..e930b532 100644 --- a/lib/I18n/translations/french.yaml +++ b/lib/I18n/translations/french.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Reprendre la lecture" STR_NO_OPEN_BOOK: "Aucun livre ouvert" STR_START_READING: "Commencer la lecture" STR_BOOKS: "Livres" -STR_NO_BOOKS_FOUND: "Dossier vide" +STR_NO_FILES_FOUND: "Aucun fichier trouvé" STR_SELECT_CHAPTER: "Choix du chapitre" STR_NO_CHAPTERS: "Aucun chapitre" STR_END_OF_BOOK: "Fin du livre" diff --git a/lib/I18n/translations/german.yaml b/lib/I18n/translations/german.yaml index ecd83ac7..863c0bcb 100644 --- a/lib/I18n/translations/german.yaml +++ b/lib/I18n/translations/german.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Weiterlesen" STR_NO_OPEN_BOOK: "Aktuell kein Buch" STR_START_READING: "Lesen beginnen" STR_BOOKS: "Bücher" -STR_NO_BOOKS_FOUND: "Keine Bücher" +STR_NO_FILES_FOUND: "Keine Dateien gefunden" STR_SELECT_CHAPTER: "Kapitel auswählen" STR_NO_CHAPTERS: "Keine Kapitel" STR_END_OF_BOOK: "Buchende" diff --git a/lib/I18n/translations/italian.yaml b/lib/I18n/translations/italian.yaml index 04496dd2..c2040b66 100644 --- a/lib/I18n/translations/italian.yaml +++ b/lib/I18n/translations/italian.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Continua a leggere" STR_NO_OPEN_BOOK: "Nessun libro aperto" STR_START_READING: "Inizia a leggere di seguito" STR_BOOKS: "Libri" -STR_NO_BOOKS_FOUND: "Nessun libro trovato" +STR_NO_FILES_FOUND: "Nessun file trovato" STR_SELECT_CHAPTER: "Seleziona capitolo" STR_NO_CHAPTERS: "Nessun capitolo" STR_END_OF_BOOK: "Fine del libro" diff --git a/lib/I18n/translations/polish.yaml b/lib/I18n/translations/polish.yaml index 5ad71d00..c870b367 100644 --- a/lib/I18n/translations/polish.yaml +++ b/lib/I18n/translations/polish.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Wznów czytanie" STR_NO_OPEN_BOOK: "Brak otwartych książek" STR_START_READING: "Zacznij czytać" STR_BOOKS: "Książki" -STR_NO_BOOKS_FOUND: "Nie znaleziono książek" +STR_NO_FILES_FOUND: "Nie znaleziono plików" STR_SELECT_CHAPTER: "Wybierz rozdział" STR_NO_CHAPTERS: "Brak rozdziałów" STR_END_OF_BOOK: "Koniec książki" diff --git a/lib/I18n/translations/portuguese.yaml b/lib/I18n/translations/portuguese.yaml index a305bfa7..be875de8 100644 --- a/lib/I18n/translations/portuguese.yaml +++ b/lib/I18n/translations/portuguese.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Continuar lendo" STR_NO_OPEN_BOOK: "Nenhum livro aberto" STR_START_READING: "Comece a ler abaixo" STR_BOOKS: "Livros" -STR_NO_BOOKS_FOUND: "Nenhum livro encontrado" +STR_NO_FILES_FOUND: "Nenhum arquivo encontrado" STR_SELECT_CHAPTER: "Escolher capítulo" STR_NO_CHAPTERS: "Sem capítulos" STR_END_OF_BOOK: "Fim do livro" diff --git a/lib/I18n/translations/romanian.yaml b/lib/I18n/translations/romanian.yaml index 9fa7bb8d..65c39cf1 100644 --- a/lib/I18n/translations/romanian.yaml +++ b/lib/I18n/translations/romanian.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Continuă lectura" STR_NO_OPEN_BOOK: "Nicio carte deschisă" STR_START_READING: "Începeţi lectura" STR_BOOKS: "Cărţi" -STR_NO_BOOKS_FOUND: "Nicio carte găsită" +STR_NO_FILES_FOUND: "Nu s-au găsit fișiere" STR_SELECT_CHAPTER: "Selectaţi capitolul" STR_NO_CHAPTERS: "Niciun capitol" STR_END_OF_BOOK: "Sfârşitul cărţii" diff --git a/lib/I18n/translations/russian.yaml b/lib/I18n/translations/russian.yaml index d748f9c4..6f9ba996 100644 --- a/lib/I18n/translations/russian.yaml +++ b/lib/I18n/translations/russian.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Продолжить чтение" STR_NO_OPEN_BOOK: "Нет открытой книги" STR_START_READING: "Начать чтение ниже" STR_BOOKS: "Книги" -STR_NO_BOOKS_FOUND: "Книги не найдены" +STR_NO_FILES_FOUND: "Файлы не найдены" STR_SELECT_CHAPTER: "Выберите главу" STR_NO_CHAPTERS: "Глав нет" STR_END_OF_BOOK: "Конец книги" diff --git a/lib/I18n/translations/spanish.yaml b/lib/I18n/translations/spanish.yaml index 5b6e4c0e..b40af505 100644 --- a/lib/I18n/translations/spanish.yaml +++ b/lib/I18n/translations/spanish.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Continuar leyendo" STR_NO_OPEN_BOOK: "No hay libros abiertos" STR_START_READING: "Comenzar a leer" STR_BOOKS: "Libros" -STR_NO_BOOKS_FOUND: "No se encontraron libros" +STR_NO_FILES_FOUND: "No se encontraron archivos" STR_SELECT_CHAPTER: "Seleccionar capítulo" STR_NO_CHAPTERS: "Sin capítulos" STR_END_OF_BOOK: "Fin del libro" diff --git a/lib/I18n/translations/swedish.yaml b/lib/I18n/translations/swedish.yaml index fd60a663..45a7d180 100644 --- a/lib/I18n/translations/swedish.yaml +++ b/lib/I18n/translations/swedish.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Fortsätt läsa" STR_NO_OPEN_BOOK: "Ingen öppen bok" STR_START_READING: "Börja läsa nedan" STR_BOOKS: "Böcker" -STR_NO_BOOKS_FOUND: "Inga böcker hittade" +STR_NO_FILES_FOUND: "Inga filer hittades" STR_SELECT_CHAPTER: "Välj kapitel" STR_NO_CHAPTERS: "Inga kapitel" STR_END_OF_BOOK: "Slutet på boken" diff --git a/lib/I18n/translations/ukrainian.yaml b/lib/I18n/translations/ukrainian.yaml index 372294d3..4bcb097f 100644 --- a/lib/I18n/translations/ukrainian.yaml +++ b/lib/I18n/translations/ukrainian.yaml @@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Продовжити читання" STR_NO_OPEN_BOOK: "Немає відкритої книги" STR_START_READING: "Почніть читання нижче" STR_BOOKS: "Книги" -STR_NO_BOOKS_FOUND: "Книг не знайдено" +STR_NO_FILES_FOUND: "Файли не знайдено" STR_SELECT_CHAPTER: "Виберіть розділ" STR_NO_CHAPTERS: "Немає розділів" STR_END_OF_BOOK: "Кінець книги" diff --git a/src/activities/home/MyLibraryActivity.cpp b/src/activities/home/MyLibraryActivity.cpp index dcf88ac8..eb919c6d 100644 --- a/src/activities/home/MyLibraryActivity.cpp +++ b/src/activities/home/MyLibraryActivity.cpp @@ -257,7 +257,7 @@ void MyLibraryActivity::render(RenderLock&&) { const int contentTop = metrics.topPadding + metrics.headerHeight + metrics.verticalSpacing; const int contentHeight = pageHeight - contentTop - metrics.buttonHintsHeight - metrics.verticalSpacing; if (files.empty()) { - renderer.drawText(UI_10_FONT_ID, metrics.contentSidePadding, contentTop + 20, tr(STR_NO_BOOKS_FOUND)); + renderer.drawText(UI_10_FONT_ID, metrics.contentSidePadding, contentTop + 20, tr(STR_NO_FILES_FOUND)); } else { GUI.drawList( renderer, Rect{0, contentTop, pageWidth, contentHeight}, files.size(), selectorIndex, @@ -266,8 +266,9 @@ void MyLibraryActivity::render(RenderLock&&) { } // Help text - const auto labels = mappedInput.mapLabels(basepath == "/" ? tr(STR_HOME) : tr(STR_BACK), tr(STR_OPEN), tr(STR_DIR_UP), - tr(STR_DIR_DOWN)); + const auto labels = + mappedInput.mapLabels(basepath == "/" ? tr(STR_HOME) : tr(STR_BACK), files.empty() ? "" : tr(STR_OPEN), + files.empty() ? "" : tr(STR_DIR_UP), files.empty() ? "" : tr(STR_DIR_DOWN)); GUI.drawButtonHints(renderer, labels.btn1, labels.btn2, labels.btn3, labels.btn4); renderer.displayBuffer();