|
|
|
@ -17,6 +17,7 @@ from .tag_controller import TagController
|
|
|
|
|
from .track_details_screen import TrackDetailsScreen
|
|
|
|
|
from .track_delete_screen import TrackDeleteScreen
|
|
|
|
|
from .show_details_screen import ShowDetailsScreen
|
|
|
|
|
from .pattern_details_screen import PatternDetailsScreen
|
|
|
|
|
|
|
|
|
|
from ffx.track_type import TrackType
|
|
|
|
|
from ffx.model.track import Track
|
|
|
|
@ -99,7 +100,7 @@ class MediaDetailsScreen(Screen):
|
|
|
|
|
BINDINGS = [
|
|
|
|
|
("n", "new_pattern", "New Pattern"),
|
|
|
|
|
("u", "update_pattern", "Update Pattern"),
|
|
|
|
|
("e", "edit_pattern", "Update Pattern"),
|
|
|
|
|
("e", "edit_pattern", "Edit Pattern"),
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -797,6 +798,24 @@ class MediaDetailsScreen(Screen):
|
|
|
|
|
self.updateDifferences()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def action_edit_pattern(self):
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
patternDescriptor = {}
|
|
|
|
|
patternDescriptor['show_id'] = self.getSelectedShow()['id']
|
|
|
|
|
patternDescriptor['pattern'] = self.getPatternFromInput()
|
|
|
|
|
|
|
|
|
|
if patternDescriptor['pattern']:
|
|
|
|
|
|
|
|
|
|
selectedPatternId = self.__pc.findPattern(patternDescriptor)
|
|
|
|
|
|
|
|
|
|
if selectedPatternId is None:
|
|
|
|
|
raise click.ClickException(f"MediaDetailsScreen.action_edit_pattern(): Pattern to edit has no id")
|
|
|
|
|
|
|
|
|
|
self.app.push_screen(PatternDetailsScreen(patternId = selectedPatternId, showId = self.getSelectedShow()['id']), self.handle_edit_pattern) # <-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def handle_edit_pattern(self, screenResult):
|
|
|
|
|
self.query_one("#pattern_input", Input).value = screenResult['pattern']
|
|
|
|
|
self.updateDifferences()
|
|
|
|
|
|
|
|
|
|