| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- # -*- coding: utf-8 -*-
- """
- Installer-Footer — F-Tasten-Leiste.
- """
- from __future__ import annotations
- from typing import TYPE_CHECKING
- from textual.widget import Widget
- from textual.app import RenderResult
- from rich.text import Text
- if TYPE_CHECKING:
- from ..menu_context import MenuContext
- class InstallerFooter(Widget):
- """
- Footer-Leiste mit aktiven F-Tasten-Bindungen.
- """
- DEFAULT_CSS = """
- InstallerFooter {
- dock: bottom;
- height: 1;
- background: $accent;
- color: $text;
- }
- """
- def __init__(self, menu_context: "MenuContext | None" = None, **kwargs) -> None:
- super().__init__(**kwargs)
- self._menu_context = menu_context
- def update_menu(self, menu_context: "MenuContext") -> None:
- """Aktualisiert die angezeigte Menueleiste."""
- self._menu_context = menu_context
- self.refresh()
- def render(self) -> RenderResult:
- text = Text()
- if self._menu_context:
- for binding in self._menu_context.get_all():
- if binding.enabled:
- text.append(f" {binding.key.upper()} ", style="bold reverse")
- text.append(f" {binding.label} ", style="")
- else:
- text.append(f" {binding.key.upper()} ", style="dim")
- text.append(f" {binding.label} ", style="dim")
- # Q=Beenden immer anzeigen
- text.append(" Q ", style="bold reverse")
- text.append(" Beenden ", style="")
- return text
|