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.

<img width="1318" height="879" alt="Untitled (7)"
src="https://github.com/user-attachments/assets/6416c8c8-795d-41a5-9b9f-28d2c26666a0"
/>

---

### 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**_
This commit is contained in:
Lev Roland-Kalb
2026-02-28 21:10:25 -05:00
committed by GitHub
parent 04242fa221
commit 76681201bf
18 changed files with 21 additions and 20 deletions

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Працягнуць чытанне"
STR_NO_OPEN_BOOK: "Няма адкрытай кнігі" STR_NO_OPEN_BOOK: "Няма адкрытай кнігі"
STR_START_READING: "Пачніце чытанне ніжэй" STR_START_READING: "Пачніце чытанне ніжэй"
STR_BOOKS: "Кнігі" STR_BOOKS: "Кнігі"
STR_NO_BOOKS_FOUND: "Кнігі не знойдзены" STR_NO_FILES_FOUND: "Файлы не знойдзены"
STR_SELECT_CHAPTER: "Абярыце раздзел" STR_SELECT_CHAPTER: "Абярыце раздзел"
STR_NO_CHAPTERS: "Раздзелаў няма" STR_NO_CHAPTERS: "Раздзелаў няма"
STR_END_OF_BOOK: "Канец кнігі" STR_END_OF_BOOK: "Канец кнігі"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Continua llegint"
STR_NO_OPEN_BOOK: "Cap llibre obert" STR_NO_OPEN_BOOK: "Cap llibre obert"
STR_START_READING: "Inicia la lectura a continuació" STR_START_READING: "Inicia la lectura a continuació"
STR_BOOKS: "Llibres" 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_SELECT_CHAPTER: "Selecciona el capítol"
STR_NO_CHAPTERS: "Sense capítols" STR_NO_CHAPTERS: "Sense capítols"
STR_END_OF_BOOK: "Final del llibre" STR_END_OF_BOOK: "Final del llibre"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Pokračovat ve čtení"
STR_NO_OPEN_BOOK: "Žádná otevřená kniha" STR_NO_OPEN_BOOK: "Žádná otevřená kniha"
STR_START_READING: "Začněte číst níže" STR_START_READING: "Začněte číst níže"
STR_BOOKS: "Knihy" STR_BOOKS: "Knihy"
STR_NO_BOOKS_FOUND: "Žádné knihy nenalezeny" STR_NO_FILES_FOUND: "Nebyly nalezeny žádné soubory"
STR_SELECT_CHAPTER: "Vybrat kapitolu" STR_SELECT_CHAPTER: "Vybrat kapitolu"
STR_NO_CHAPTERS: "Žádné kapitoly" STR_NO_CHAPTERS: "Žádné kapitoly"
STR_END_OF_BOOK: "Konec knihy" STR_END_OF_BOOK: "Konec knihy"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Fortsæt med at læse"
STR_NO_OPEN_BOOK: "Ingen åben bog" STR_NO_OPEN_BOOK: "Ingen åben bog"
STR_START_READING: "Start læsning nedenfor" STR_START_READING: "Start læsning nedenfor"
STR_BOOKS: "Bøger" 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_SELECT_CHAPTER: "Vælg kapitel"
STR_NO_CHAPTERS: "Ingen kapitler" STR_NO_CHAPTERS: "Ingen kapitler"
STR_END_OF_BOOK: "Bogen er færdig" STR_END_OF_BOOK: "Bogen er færdig"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Verder lezen"
STR_NO_OPEN_BOOK: "Geen geopend boek" STR_NO_OPEN_BOOK: "Geen geopend boek"
STR_START_READING: "Begin hieronder met lezen" STR_START_READING: "Begin hieronder met lezen"
STR_BOOKS: "Boeken" STR_BOOKS: "Boeken"
STR_NO_BOOKS_FOUND: "Geen boeken gevonden" STR_NO_FILES_FOUND: "Geen bestanden gevonden"
STR_SELECT_CHAPTER: "Selecteer hoofdstuk" STR_SELECT_CHAPTER: "Selecteer hoofdstuk"
STR_NO_CHAPTERS: "Geen hoofdstukken" STR_NO_CHAPTERS: "Geen hoofdstukken"
STR_END_OF_BOOK: "Einde van boek" STR_END_OF_BOOK: "Einde van boek"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Continue Reading"
STR_NO_OPEN_BOOK: "No open book" STR_NO_OPEN_BOOK: "No open book"
STR_START_READING: "Start reading below" STR_START_READING: "Start reading below"
STR_BOOKS: "Books" STR_BOOKS: "Books"
STR_NO_BOOKS_FOUND: "No books found" STR_NO_FILES_FOUND: "No files found"
STR_SELECT_CHAPTER: "Select Chapter" STR_SELECT_CHAPTER: "Select Chapter"
STR_NO_CHAPTERS: "No chapters" STR_NO_CHAPTERS: "No chapters"
STR_END_OF_BOOK: "End of book" STR_END_OF_BOOK: "End of book"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Jatka lukemista"
STR_NO_OPEN_BOOK: "Kirjaa ei valittu" STR_NO_OPEN_BOOK: "Kirjaa ei valittu"
STR_START_READING: "Aloita lukeminen" STR_START_READING: "Aloita lukeminen"
STR_BOOKS: "Kirjat" 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_SELECT_CHAPTER: "Valitse luku"
STR_NO_CHAPTERS: "Ei lukuja" STR_NO_CHAPTERS: "Ei lukuja"
STR_END_OF_BOOK: "Kirjan loppu" STR_END_OF_BOOK: "Kirjan loppu"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Reprendre la lecture"
STR_NO_OPEN_BOOK: "Aucun livre ouvert" STR_NO_OPEN_BOOK: "Aucun livre ouvert"
STR_START_READING: "Commencer la lecture" STR_START_READING: "Commencer la lecture"
STR_BOOKS: "Livres" STR_BOOKS: "Livres"
STR_NO_BOOKS_FOUND: "Dossier vide" STR_NO_FILES_FOUND: "Aucun fichier trouvé"
STR_SELECT_CHAPTER: "Choix du chapitre" STR_SELECT_CHAPTER: "Choix du chapitre"
STR_NO_CHAPTERS: "Aucun chapitre" STR_NO_CHAPTERS: "Aucun chapitre"
STR_END_OF_BOOK: "Fin du livre" STR_END_OF_BOOK: "Fin du livre"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Weiterlesen"
STR_NO_OPEN_BOOK: "Aktuell kein Buch" STR_NO_OPEN_BOOK: "Aktuell kein Buch"
STR_START_READING: "Lesen beginnen" STR_START_READING: "Lesen beginnen"
STR_BOOKS: "Bücher" 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_SELECT_CHAPTER: "Kapitel auswählen"
STR_NO_CHAPTERS: "Keine Kapitel" STR_NO_CHAPTERS: "Keine Kapitel"
STR_END_OF_BOOK: "Buchende" STR_END_OF_BOOK: "Buchende"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Continua a leggere"
STR_NO_OPEN_BOOK: "Nessun libro aperto" STR_NO_OPEN_BOOK: "Nessun libro aperto"
STR_START_READING: "Inizia a leggere di seguito" STR_START_READING: "Inizia a leggere di seguito"
STR_BOOKS: "Libri" STR_BOOKS: "Libri"
STR_NO_BOOKS_FOUND: "Nessun libro trovato" STR_NO_FILES_FOUND: "Nessun file trovato"
STR_SELECT_CHAPTER: "Seleziona capitolo" STR_SELECT_CHAPTER: "Seleziona capitolo"
STR_NO_CHAPTERS: "Nessun capitolo" STR_NO_CHAPTERS: "Nessun capitolo"
STR_END_OF_BOOK: "Fine del libro" STR_END_OF_BOOK: "Fine del libro"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Wznów czytanie"
STR_NO_OPEN_BOOK: "Brak otwartych książek" STR_NO_OPEN_BOOK: "Brak otwartych książek"
STR_START_READING: "Zacznij czytać" STR_START_READING: "Zacznij czytać"
STR_BOOKS: "Książki" 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_SELECT_CHAPTER: "Wybierz rozdział"
STR_NO_CHAPTERS: "Brak rozdziałów" STR_NO_CHAPTERS: "Brak rozdziałów"
STR_END_OF_BOOK: "Koniec książki" STR_END_OF_BOOK: "Koniec książki"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Continuar lendo"
STR_NO_OPEN_BOOK: "Nenhum livro aberto" STR_NO_OPEN_BOOK: "Nenhum livro aberto"
STR_START_READING: "Comece a ler abaixo" STR_START_READING: "Comece a ler abaixo"
STR_BOOKS: "Livros" STR_BOOKS: "Livros"
STR_NO_BOOKS_FOUND: "Nenhum livro encontrado" STR_NO_FILES_FOUND: "Nenhum arquivo encontrado"
STR_SELECT_CHAPTER: "Escolher capítulo" STR_SELECT_CHAPTER: "Escolher capítulo"
STR_NO_CHAPTERS: "Sem capítulos" STR_NO_CHAPTERS: "Sem capítulos"
STR_END_OF_BOOK: "Fim do livro" STR_END_OF_BOOK: "Fim do livro"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Continuă lectura"
STR_NO_OPEN_BOOK: "Nicio carte deschisă" STR_NO_OPEN_BOOK: "Nicio carte deschisă"
STR_START_READING: "Începeţi lectura" STR_START_READING: "Începeţi lectura"
STR_BOOKS: "Cărţi" 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_SELECT_CHAPTER: "Selectaţi capitolul"
STR_NO_CHAPTERS: "Niciun capitol" STR_NO_CHAPTERS: "Niciun capitol"
STR_END_OF_BOOK: "Sfârşitul cărţii" STR_END_OF_BOOK: "Sfârşitul cărţii"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Продолжить чтение"
STR_NO_OPEN_BOOK: "Нет открытой книги" STR_NO_OPEN_BOOK: "Нет открытой книги"
STR_START_READING: "Начать чтение ниже" STR_START_READING: "Начать чтение ниже"
STR_BOOKS: "Книги" STR_BOOKS: "Книги"
STR_NO_BOOKS_FOUND: "Книги не найдены" STR_NO_FILES_FOUND: "Файлы не найдены"
STR_SELECT_CHAPTER: "Выберите главу" STR_SELECT_CHAPTER: "Выберите главу"
STR_NO_CHAPTERS: "Глав нет" STR_NO_CHAPTERS: "Глав нет"
STR_END_OF_BOOK: "Конец книги" STR_END_OF_BOOK: "Конец книги"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Continuar leyendo"
STR_NO_OPEN_BOOK: "No hay libros abiertos" STR_NO_OPEN_BOOK: "No hay libros abiertos"
STR_START_READING: "Comenzar a leer" STR_START_READING: "Comenzar a leer"
STR_BOOKS: "Libros" 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_SELECT_CHAPTER: "Seleccionar capítulo"
STR_NO_CHAPTERS: "Sin capítulos" STR_NO_CHAPTERS: "Sin capítulos"
STR_END_OF_BOOK: "Fin del libro" STR_END_OF_BOOK: "Fin del libro"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Fortsätt läsa"
STR_NO_OPEN_BOOK: "Ingen öppen bok" STR_NO_OPEN_BOOK: "Ingen öppen bok"
STR_START_READING: "Börja läsa nedan" STR_START_READING: "Börja läsa nedan"
STR_BOOKS: "Böcker" 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_SELECT_CHAPTER: "Välj kapitel"
STR_NO_CHAPTERS: "Inga kapitel" STR_NO_CHAPTERS: "Inga kapitel"
STR_END_OF_BOOK: "Slutet på boken" STR_END_OF_BOOK: "Slutet på boken"

View File

@@ -14,7 +14,7 @@ STR_CONTINUE_READING: "Продовжити читання"
STR_NO_OPEN_BOOK: "Немає відкритої книги" STR_NO_OPEN_BOOK: "Немає відкритої книги"
STR_START_READING: "Почніть читання нижче" STR_START_READING: "Почніть читання нижче"
STR_BOOKS: "Книги" STR_BOOKS: "Книги"
STR_NO_BOOKS_FOUND: "Книг не знайдено" STR_NO_FILES_FOUND: "Файли не знайдено"
STR_SELECT_CHAPTER: "Виберіть розділ" STR_SELECT_CHAPTER: "Виберіть розділ"
STR_NO_CHAPTERS: "Немає розділів" STR_NO_CHAPTERS: "Немає розділів"
STR_END_OF_BOOK: "Кінець книги" STR_END_OF_BOOK: "Кінець книги"

View File

@@ -257,7 +257,7 @@ void MyLibraryActivity::render(RenderLock&&) {
const int contentTop = metrics.topPadding + metrics.headerHeight + metrics.verticalSpacing; const int contentTop = metrics.topPadding + metrics.headerHeight + metrics.verticalSpacing;
const int contentHeight = pageHeight - contentTop - metrics.buttonHintsHeight - metrics.verticalSpacing; const int contentHeight = pageHeight - contentTop - metrics.buttonHintsHeight - metrics.verticalSpacing;
if (files.empty()) { 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 { } else {
GUI.drawList( GUI.drawList(
renderer, Rect{0, contentTop, pageWidth, contentHeight}, files.size(), selectorIndex, renderer, Rect{0, contentTop, pageWidth, contentHeight}, files.size(), selectorIndex,
@@ -266,8 +266,9 @@ void MyLibraryActivity::render(RenderLock&&) {
} }
// Help text // Help text
const auto labels = mappedInput.mapLabels(basepath == "/" ? tr(STR_HOME) : tr(STR_BACK), tr(STR_OPEN), tr(STR_DIR_UP), const auto labels =
tr(STR_DIR_DOWN)); 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); GUI.drawButtonHints(renderer, labels.btn1, labels.btn2, labels.btn3, labels.btn4);
renderer.displayBuffer(); renderer.displayBuffer();