diff --git a/bin/ffx/pattern_details_screen.py b/bin/ffx/pattern_details_screen.py index f9387c4..6fb52f9 100644 --- a/bin/ffx/pattern_details_screen.py +++ b/bin/ffx/pattern_details_screen.py @@ -93,15 +93,28 @@ class PatternDetailsScreen(Screen): def compose(self): -# # Create the DataTable widget -# self.patternTable = DataTable() -# -# # Define the columns with headers -# self.column_key_id = self.patternTable.add_column("Pattern", width=60) -# #self.column_key_name = self.patternTable.add_column("Name", width=50) -# #self.column_key_year = self.patternTable.add_column("Year", width=10) -# -# self.patternTable.cursor_type = 'row' + self.audioStreamsTable = DataTable() + + # Define the columns with headers + self.column_key_audio_subid = self.audioStreamsTable.add_column("Subindex", width=10) + self.column_key_audio_layout = self.audioStreamsTable.add_column("Layout", width=10) + self.column_key_audio_language = self.audioStreamsTable.add_column("Language", width=10) + self.column_key_audio_title = self.audioStreamsTable.add_column("Title", width=10) + + self.audioStreamsTable.cursor_type = 'row' + + + self.subtitleStreamsTable = DataTable() + + # Define the columns with headers + self.column_key_subtitle_subid = self.subtitleStreamsTable.add_column("Subindex", width=10) + self.column_key_subtitle_language = self.subtitleStreamsTable.add_column("Language", width=10) + self.column_key_subtitle_title = self.subtitleStreamsTable.add_column("Title", width=10) + self.column_key_subtitle_default = self.subtitleStreamsTable.add_column("Default", width=10) + self.column_key_subtitle_forced = self.subtitleStreamsTable.add_column("Forced", width=10) + + self.subtitleStreamsTable.cursor_type = 'row' + yield Header() @@ -116,7 +129,17 @@ class PatternDetailsScreen(Screen): yield Static("Pattern") yield Input(type="text", id="pattern_input") - yield Static("", classes="two") + yield Static(" ", classes="two") + + yield Static("Audio streams", classes="two") + yield self.audioStreamsTable + + yield Static(" ", classes="two") + + yield Static("Subtitle streams", classes="two") + yield self.subtitleStreamsTable + + yield Static(" ", classes="two") yield Button("Save", id="save_button") yield Button("Cancel", id="cancel_button") diff --git a/bin/ffx/show_details_screen.py b/bin/ffx/show_details_screen.py index 1fce7e2..d4a456d 100644 --- a/bin/ffx/show_details_screen.py +++ b/bin/ffx/show_details_screen.py @@ -56,8 +56,8 @@ class ShowDetailsScreen(Screen): """ BINDINGS = [ - #("e", "edit_show", "Edit Show"), ("a", "add_pattern", "Add Pattern"), + ("e", "edit_pattern", "Edit Pattern"), ("r", "remove_pattern", "Remove Pattern"), ] @@ -141,6 +141,26 @@ class ShowDetailsScreen(Screen): self.patternTable.add_row(*map(str, pattern)) + def action_edit_pattern(self): + + selectedPattern = self.getSelectedPattern() + + if selectedPattern: + + selectedPatternId = self.__pc.findPattern(self.show_obj['id'], selectedPattern['pattern']) + + if selectedPatternId is None: + raise click.ClickException(f"ShowDetailsScreen.action_edit_pattern(): Pattern to remove has no id") + + self.app.push_screen(PatternDetailsScreen(patternId = selectedPatternId, showId = self.show_obj['id']), self.handle_edit_pattern) + + + def handle_edit_pattern(self, screenResult): + pass + #pattern = (screenResult['pattern'],) + #self.patternTable.add_row(*map(str, pattern)) + + def action_remove_pattern(self): selectedPattern = self.getSelectedPattern() @@ -166,7 +186,7 @@ class ShowDetailsScreen(Screen): self.patternTable = DataTable(classes="two") # Define the columns with headers - self.column_key_id = self.patternTable.add_column("Patterns", width=60) + self.column_key_id = self.patternTable.add_column("Pattern", width=60) #self.column_key_name = self.patternTable.add_column("Name", width=50) #self.column_key_year = self.patternTable.add_column("Year", width=10)