This commit is contained in:
Javanaut
2026-07-08 09:24:44 +02:00
parent aa864dfd4d
commit cdc01062d3
2 changed files with 11 additions and 8 deletions

View File

@@ -1,7 +1,7 @@
import click
from textual.screen import Screen
from textual.widgets import Header, Footer, Static, Button, SelectionList, Select, DataTable, Input, Checkbox
from textual.widgets import Header, Footer, Static, Button, SelectionList, Select, DataTable, Input
from textual.containers import Grid
from textual.widgets._data_table import CellDoesNotExist
@@ -256,7 +256,9 @@ class TrackDetailsScreen(Screen):
self.query_one("#type_select", Select).value = self.__trackType
self.query_one("#audio_layout_select", Select).value = self.__audioLayout
self.query_one("#drop_checkbox", Checkbox).value = self.__dropped
self.query_one("#drop_checkbox", SelectionList).add_option(
(t("Yes"), 0, self.__dropped)
)
for disposition in TrackDisposition:
@@ -286,7 +288,7 @@ class TrackDetailsScreen(Screen):
if self.__metadataOnly:
self.query_one("#type_select", Select).disabled = True
self.query_one("#audio_layout_select", Select).disabled = True
self.query_one("#drop_checkbox", Checkbox).disabled = True
self.query_one("#drop_checkbox", SelectionList).disabled = True
def on_select_changed(self, event: Select.Changed) -> None:
if event.select.id == "language_select":
@@ -349,7 +351,7 @@ class TrackDetailsScreen(Screen):
# Row 8
yield Static(t("Drop"))
yield Checkbox(id="drop_checkbox", classes="four")
yield SelectionList[int](id="drop_checkbox", classes="four")
# Row 9
yield Static(" ", classes="five")
@@ -468,7 +470,7 @@ class TrackDetailsScreen(Screen):
kwargs[TrackDescriptor.TAGS_KEY] = trackTags
kwargs[TrackDescriptor.DROPPED_KEY] = bool(
self.query_one("#drop_checkbox", Checkbox).value
self.query_one("#drop_checkbox", SelectionList).selected
)
dispositionFlags = sum(

View File

@@ -126,6 +126,7 @@ class FakeStaticWidget:
class FakeSelectionListWidget:
def __init__(self, selected):
self.selected = selected
self.disabled = False
def add_option(self, _option):
return None
@@ -189,7 +190,7 @@ class TagTableScreenStateTests(unittest.TestCase):
widgets = {
"#type_select": FakeValueWidget(TrackType.AUDIO),
"#audio_layout_select": FakeValueWidget(AudioLayout.LAYOUT_STEREO),
"#drop_checkbox": FakeValueWidget(True),
"#drop_checkbox": FakeSelectionListWidget({0}),
"#language_select": FakeValueWidget(IsoLanguage.GERMAN),
"#title_input": FakeInputWidget("German Audio"),
"#dispositions_selection_list": FakeSelectionListWidget({0, 6}),
@@ -219,7 +220,7 @@ class TagTableScreenStateTests(unittest.TestCase):
widgets = {
"#type_select": FakeValueWidget(TrackType.ATTACHMENT),
"#audio_layout_select": FakeValueWidget(AudioLayout.LAYOUT_UNDEFINED),
"#drop_checkbox": FakeValueWidget(False),
"#drop_checkbox": FakeSelectionListWidget(set()),
"#language_select": FakeValueWidget(Select.NULL),
"#title_input": FakeInputWidget(""),
"#dispositions_selection_list": FakeSelectionListWidget(set()),
@@ -328,7 +329,7 @@ class TagTableScreenStateTests(unittest.TestCase):
"#pattern_label": FakeStaticWidget(),
"#type_select": FakeValueWidget(None),
"#audio_layout_select": FakeValueWidget(None),
"#drop_checkbox": FakeValueWidget(False),
"#drop_checkbox": FakeSelectionListWidget(set()),
"#dispositions_selection_list": FakeSelectionListWidget(set()),
"#language_select": FakeValueWidget(None),
"#title_input": FakeInputWidget(""),