mirror of
https://github.com/fergalmoran/picard.git
synced 2026-03-30 00:55:18 +00:00
Additional code de-duplication
This commit is contained in:
committed by
Philipp Wolfer
parent
1e32469a39
commit
be18bcbfb8
@@ -143,23 +143,15 @@ class RenamingOptionsPage(OptionsPage):
|
||||
|
||||
self.current_row = -1
|
||||
|
||||
def synchronize_selected_example_lines(self, source, target):
|
||||
"""Matches selected item in target to source"""
|
||||
if source.currentRow() != self.current_row:
|
||||
self.current_row = source.currentRow()
|
||||
target.blockSignals(True)
|
||||
target.setCurrentRow(self.current_row)
|
||||
target.blockSignals(False)
|
||||
|
||||
def match_after_to_before(self):
|
||||
"""Sets the selected item in the 'after' list to the corresponding item in the 'before' list.
|
||||
"""
|
||||
self.synchronize_selected_example_lines(self.ui.example_filename_before, self.ui.example_filename_after)
|
||||
self.script_editor_page.synchronize_selected_example_lines(self.current_row, self.ui.example_filename_before, self.ui.example_filename_after)
|
||||
|
||||
def match_before_to_after(self):
|
||||
"""Sets the selected item in the 'before' list to the corresponding item in the 'after' list.
|
||||
"""
|
||||
self.synchronize_selected_example_lines(self.ui.example_filename_after, self.ui.example_filename_before)
|
||||
self.script_editor_page.synchronize_selected_example_lines(self.current_row, self.ui.example_filename_after, self.ui.example_filename_before)
|
||||
|
||||
def show_script_editing_page(self):
|
||||
self.script_editor_page.show()
|
||||
@@ -214,14 +206,9 @@ class RenamingOptionsPage(OptionsPage):
|
||||
self.script_editor_page.display_examples()
|
||||
|
||||
def display_examples(self):
|
||||
self.ui.example_filename_before.clear()
|
||||
self.ui.example_filename_after.clear()
|
||||
self.current_row = -1
|
||||
|
||||
examples = self.examples.get_examples()
|
||||
for before, after in sorted(examples, key=lambda x: x[1]):
|
||||
self.ui.example_filename_before.addItem(before)
|
||||
self.ui.example_filename_after.addItem(after)
|
||||
self.script_editor_page.update_example_listboxes(self.ui.example_filename_before, self.ui.example_filename_after, examples)
|
||||
|
||||
def load(self):
|
||||
config = get_config()
|
||||
|
||||
@@ -368,23 +368,24 @@ class ScriptEditorPage(PicardDialog):
|
||||
self.set_script(selected_script)
|
||||
self.update_examples()
|
||||
|
||||
def synchronize_selected_example_lines(self, source, target):
|
||||
@staticmethod
|
||||
def synchronize_selected_example_lines(current_row, source, target):
|
||||
"""Matches selected item in target to source"""
|
||||
if source.currentRow() != self.current_row:
|
||||
self.current_row = source.currentRow()
|
||||
if source.currentRow() != current_row:
|
||||
current_row = source.currentRow()
|
||||
target.blockSignals(True)
|
||||
target.setCurrentRow(self.current_row)
|
||||
target.setCurrentRow(current_row)
|
||||
target.blockSignals(False)
|
||||
|
||||
def match_after_to_before(self):
|
||||
"""Sets the selected item in the 'after' list to the corresponding item in the 'before' list.
|
||||
"""
|
||||
self.synchronize_selected_example_lines(self.ui.example_filename_before, self.ui.example_filename_after)
|
||||
self.synchronize_selected_example_lines(self.current_row, self.ui.example_filename_before, self.ui.example_filename_after)
|
||||
|
||||
def match_before_to_after(self):
|
||||
"""Sets the selected item in the 'before' list to the corresponding item in the 'after' list.
|
||||
"""
|
||||
self.synchronize_selected_example_lines(self.ui.example_filename_after, self.ui.example_filename_before)
|
||||
self.synchronize_selected_example_lines(self.current_row, self.ui.example_filename_after, self.ui.example_filename_before)
|
||||
|
||||
def save_script(self):
|
||||
"""Emits a `save` signal to trigger appropriate save action in the parent object.
|
||||
@@ -420,20 +421,23 @@ class ScriptEditorPage(PicardDialog):
|
||||
self.examples.update_examples(override)
|
||||
self.display_examples()
|
||||
|
||||
@staticmethod
|
||||
def update_example_listboxes(before_listbox, after_listbox, examples):
|
||||
before_listbox.clear()
|
||||
after_listbox.clear()
|
||||
for before, after in sorted(examples, key=lambda x: x[1]):
|
||||
before_listbox.addItem(before)
|
||||
after_listbox.addItem(after)
|
||||
|
||||
def display_examples(self, send_signal=True):
|
||||
"""Update the display of the before and after file naming examples. Optionally emits an `update` signal.
|
||||
|
||||
Args:
|
||||
send_signal (bool, optional): Determines if an `update` signal is emitted. Defaults to True.
|
||||
"""
|
||||
self.ui.example_filename_before.clear()
|
||||
self.ui.example_filename_after.clear()
|
||||
self.current_row = -1
|
||||
|
||||
examples = self.examples.get_examples()
|
||||
for before, after in sorted(examples, key=lambda x: x[1]):
|
||||
self.ui.example_filename_before.addItem(before)
|
||||
self.ui.example_filename_after.addItem(after)
|
||||
self.update_example_listboxes(self.ui.example_filename_before, self.ui.example_filename_after, examples)
|
||||
|
||||
if send_signal:
|
||||
self.signal_update.emit()
|
||||
|
||||
Reference in New Issue
Block a user