| 500 | } |
| 501 | |
| 502 | void SettingsScreen::drawBottom(void) const |
| 503 | { |
| 504 | C2D_SceneBegin(g_bottom); |
| 505 | |
| 506 | const size_t sel = navHid.index(); |
| 507 | |
| 508 | // Header. |
| 509 | C2D_DrawRectSolid(0, 0, 0.5f, 320, 24, COLOR_SURFACE); |
| 510 | C2D_DrawRectSolid(0, 24, 0.5f, 320, 1, COLOR_LINE); |
| 511 | TextPool::get().draw(i18n::t(SECTIONS[sel].nameKey), 10, 4, 0.5f, COLOR_TEXT); |
| 512 | if (sectionInteractive(sel) && savedTimer > 0) { |
| 513 | std::string saved = "\xE2\x97\x8F " + i18n::t("common.saved"); // "● Saved" |
| 514 | float w = TextPool::get().width(saved, 0.4f); |
| 515 | TextPool::get().draw(saved, 320 - 10 - w, 6, 0.4f, COLOR_TEAL); |
| 516 | } |
| 517 | |
| 518 | // Footer bar (content is drawn by the per-section helpers, which also emit |
| 519 | // the section-specific footer hints over it). |
| 520 | C2D_DrawRectSolid(0, 220, 0.5f, 320, 20, COLOR_SURFACE); |
| 521 | C2D_DrawRectSolid(0, 219, 0.5f, 320, 1, COLOR_LINE); |
| 522 | |
| 523 | switch (sel) { |
| 524 | case SEC_GENERAL: |
| 525 | drawGeneral(); |
| 526 | break; |
| 527 | case SEC_LIBRARY: |
| 528 | drawLibrary(); |
| 529 | break; |
| 530 | case SEC_FOLDERS: |
| 531 | drawFolders(); |
| 532 | break; |
| 533 | case SEC_NETWORK: |
| 534 | drawNetwork(); |
| 535 | break; |
| 536 | case SEC_ABOUT: |
| 537 | drawAbout(); |
| 538 | break; |
| 539 | } |
| 540 | } |
| 541 | |
| 542 | void SettingsScreen::toggleGeneral(int idx) |
| 543 | { |