def __init__(self, main_window: AbstractMainWindow) -> None: super().__init__(main_window, Qt.Qt.Dialog) self.main = main_window self.setWindowTitle('Script Loading Error') self.setModal(True) self.setup_ui() self.reload_button.clicked.connect(self.on_reload_clicked) self.exit_button.clicked.connect(self.on_exit_clicked) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_R, self.reload_button.click, self)
def __init__(self, main: AbstractMainWindow) -> None: super().__init__(main, 'Misc') self.setup_ui() self.save_template_lineedit.setText(self.main.SAVE_TEMPLATE) self.autosave_timer = Qt.QTimer() self.autosave_timer.timeout.connect(self.save) self.save_file_types = { 'Single Image (*.png)': self.save_as_png, } self.reload_script_button. clicked.connect(lambda: self.main.reload_script()) # pylint: disable=unnecessary-lambda self. save_button. clicked.connect(lambda: self.save(manually=True)) self.keep_on_top_checkbox.stateChanged.connect( self.on_keep_on_top_changed) self. copy_frame_button. clicked.connect( self.copy_frame_to_clipboard) self.save_frame_as_button. clicked.connect( self.on_save_frame_as_clicked) self. show_debug_checkbox.stateChanged.connect( self.on_show_debug_changed) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_R, self.reload_script_button.click) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_S, self. save_button.click) add_shortcut(Qt.Qt.ALT + Qt.Qt.Key_S, self. copy_frame_button.click) add_shortcut(Qt.Qt.CTRL + Qt.Qt.SHIFT + Qt.Qt.Key_S, self.save_frame_as_button.click) set_qobject_names(self)
def __init__(self, main: AbstractMainWindow) -> None: super().__init__(main) self.main = main self.scening_list = SceningList() self.setWindowTitle('Scening List View') self.setup_ui() self.end_frame_control .valueChanged.connect(self.on_end_frame_changed) self.end_time_control .valueChanged.connect(self.on_end_time_changed) self.label_lineedit .textChanged.connect(self.on_label_changed) self.name_lineedit .textChanged.connect(self.on_name_changed) self.start_frame_control.valueChanged.connect(self.on_start_frame_changed) self.start_time_control .valueChanged.connect(self.on_start_time_changed) self.tableview .doubleClicked.connect(self.on_tableview_clicked) self.delete_button .clicked.connect(self.on_delete_clicked) add_shortcut(Qt.Qt.Key_Delete, self.delete_button.click, self.tableview) set_qobject_names(self)
def __init__(self, main_window: AbstractMainWindow) -> None: from collections import deque from concurrent.futures import Future super().__init__(main_window) self.setup_ui() self.play_buffer: Deque[Future] = deque() self.play_timer = Qt.QTimer() self.play_timer.setTimerType(Qt.Qt.PreciseTimer) self.play_timer.timeout.connect(self._playback_show_next_frame) self.seek_frame_spinbox.setMinimum(0) self.seek_time_spinbox.setMinimumTime(Qt.QTime(0, 0)) self.fps_prev_frame: Optional[Frame] = None self.fps_timer = Qt.QTimer() self.fps_timer.setTimerType(Qt.Qt.PreciseTimer) self.fps_timer.timeout.connect(self.update_fps_counter) self.toggle_button.clicked.connect(self.on_toggle) self.play_pause_button.clicked.connect(self.on_play_pause_clicked) self.seek_to_prev_button.clicked.connect(self.seek_to_prev) self.seek_to_next_button.clicked.connect(self.seek_to_next) self.seek_n_frames_b_button.clicked.connect(self.seek_n_frames_b) self.seek_n_frames_f_button.clicked.connect(self.seek_n_frames_f) self.seek_frame_spinbox.valueChanged.connect( self.on_seek_frame_changed) self.seek_time_spinbox.timeChanged.connect( self.on_seek_time_changed) # type: ignore self.fps_spinbox.valueChanged.connect(self.on_fps_changed) self.fps_unlimited_checkbox.stateChanged.connect( self.on_fps_unlimited_changed) add_shortcut(Qt.Qt.Key_Space, self.play_pause_button.click) add_shortcut(Qt.Qt.Key_Left, self.seek_to_prev_button.click) add_shortcut(Qt.Qt.Key_Right, self.seek_to_next_button.click) add_shortcut(Qt.Qt.SHIFT + Qt.Qt.Key_Left, self.seek_n_frames_b_button.click) add_shortcut(Qt.Qt.SHIFT + Qt.Qt.Key_Right, self.seek_n_frames_f_button.click)
def __init__(self, main_window: AbstractMainWindow) -> None: super().__init__(main_window) self.setup_ui() self.save_template_lineedit.setText(self.main.SAVE_TEMPLATE) self.autosave_enabled: bool = self.main.AUTOSAVE_ENABLED self.autosave_timer = Qt.QTimer() self.autosave_timer.timeout.connect(self.save) self.toggle_button.clicked.connect(self.on_toggle) self.reload_script_button.clicked.connect( lambda: self.main.reload_script()) # pylint: disable=unnecessary-lambda self.save_button.clicked.connect(lambda: self.save(manually=True)) self.autosave_checkbox.stateChanged.connect(self.on_autosave_changed) self.keep_on_top_checkbox.stateChanged.connect( self.on_keep_on_top_changed) self.show_debug_checkbox.stateChanged.connect( self.on_show_debug_changed) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_R, self.reload_script_button.click) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_S, self.save_button.click)
def __init__(self, main: AbstractMainWindow) -> None: from concurrent.futures import Future super().__init__(main, 'Playback') self.setup_ui() self.play_buffer: Deque[Future] = deque() self.play_timer = Qt.QTimer() self.play_timer.setTimerType(Qt.Qt.PreciseTimer) self.play_timer.timeout.connect(self._show_next_frame) self.fps_history: Deque[int] = deque( [], int(self.main.FPS_AVERAGING_WINDOW_SIZE) + 1) self.current_fps = 0.0 self.fps_timer = Qt.QTimer() self.fps_timer.setTimerType(Qt.Qt.PreciseTimer) self.fps_timer.timeout.connect( lambda: self.fps_spinbox.setValue(self.current_fps)) self.play_start_time: Optional[int] = None self.play_start_frame = Frame(0) self.play_end_time = 0 self.play_end_frame = Frame(0) self.play_pause_button.clicked.connect(self.on_play_pause_clicked) self.seek_to_prev_button.clicked.connect(self.seek_to_prev) self.seek_to_next_button.clicked.connect(self.seek_to_next) self.seek_n_frames_b_button.clicked.connect(self.seek_n_frames_b) self.seek_n_frames_f_button.clicked.connect(self.seek_n_frames_f) self.seek_to_start_button.clicked.connect(self.seek_to_start) self.seek_to_end_button.clicked.connect(self.seek_to_end) self.seek_frame_control.valueChanged.connect( self.on_seek_frame_changed) self.seek_time_control.valueChanged.connect(self.on_seek_time_changed) self.fps_spinbox.valueChanged.connect(self.on_fps_changed) self.fps_reset_button.clicked.connect(self.reset_fps) self.fps_unlimited_checkbox.stateChanged.connect( self.on_fps_unlimited_changed) add_shortcut(Qt.Qt.Key_Space, self.play_pause_button.click) add_shortcut(Qt.Qt.Key_Left, self.seek_to_prev_button.click) add_shortcut(Qt.Qt.Key_Right, self.seek_to_next_button.click) add_shortcut(Qt.Qt.SHIFT + Qt.Qt.Key_Left, self.seek_n_frames_b_button.click) add_shortcut(Qt.Qt.SHIFT + Qt.Qt.Key_Right, self.seek_n_frames_f_button.click) add_shortcut(Qt.Qt.Key_Home, self.seek_to_start_button.click) add_shortcut(Qt.Qt.Key_End, self.seek_to_end_button.click) set_qobject_names(self)
def __init__(self, main_window: AbstractMainWindow) -> None: from vspreview.models import ZoomLevels super().__init__(main_window, 'Main') self.setup_ui() self.outputs = Outputs() self.outputs_combobox.setModel(self.outputs) self.zoom_levels = ZoomLevels( [0.25, 0.5, 0.75, 1.0, 1.5, 2.0, 4.0, 8.0, 16.0]) self.zoom_combobox.setModel(self.zoom_levels) self.zoom_combobox.setCurrentIndex(3) self.outputs_combobox.currentIndexChanged.connect( self.main.switch_output) self.frame_control.valueChanged.connect(self.main.switch_frame) self.time_control.valueChanged.connect(self.main.switch_frame) self.frame_control.editingFinished.connect( self.frame_control.clearFocus) # type: ignore self.time_control.editingFinished.connect( self.time_control.clearFocus) # type: ignore self.sync_outputs_checkbox.stateChanged.connect( self.on_sync_outputs_changed) self.zoom_combobox.currentTextChanged.connect(self.on_zoom_changed) self.switch_timeline_mode_button.clicked.connect( self.on_switch_timeline_mode_clicked) add_shortcut(Qt.Qt.Key_1, lambda: self.main.switch_output(0)) add_shortcut(Qt.Qt.Key_2, lambda: self.main.switch_output(1)) add_shortcut(Qt.Qt.Key_3, lambda: self.main.switch_output(2)) add_shortcut(Qt.Qt.Key_4, lambda: self.main.switch_output(3)) add_shortcut(Qt.Qt.Key_5, lambda: self.main.switch_output(4)) add_shortcut(Qt.Qt.Key_6, lambda: self.main.switch_output(5)) add_shortcut(Qt.Qt.Key_7, lambda: self.main.switch_output(6)) add_shortcut(Qt.Qt.Key_8, lambda: self.main.switch_output(7)) add_shortcut(Qt.Qt.Key_9, lambda: self.main.switch_output(8)) add_shortcut(Qt.Qt.Key_0, lambda: self.main.switch_output(9)) add_shortcut(Qt.Qt.Key_S, self.sync_outputs_checkbox.click) add_shortcut( Qt.Qt.CTRL + Qt.Qt.Key_Tab, lambda: self.main.switch_output(self.outputs_combobox.currentIndex( ) + 1)) add_shortcut( Qt.Qt.CTRL + Qt.Qt.SHIFT + Qt.Qt.Key_Tab, lambda: self.main.switch_output(self.outputs_combobox.currentIndex( ) - 1)) set_qobject_names(self)
def __init__(self, main: AbstractMainWindow) -> None: super().__init__(main, 'Scening') self.setup_ui() self.lists = SceningLists() self.first_frame : Optional[Frame] = None self.second_frame: Optional[Frame] = None self.export_template_pattern = re.compile( r'.*(?:{start}|{end}|{label}).*') self.export_template_scenes_pattern = re.compile(r'.+') self.items_combobox.setModel(self.lists) self.scening_update_status_label() self.scening_list_dialog = SceningListDialog(self.main) self.supported_file_types = { 'Aegisub Project (*.ass)' : self.import_ass, 'AvsP Session (*.ses)' : self.import_ses, 'CUE Sheet (*.cue)' : self.import_cue, 'DGIndex Project (*.dgi)' : self.import_dgi, 'IfoEdit Celltimes (*.txt)' : self.import_celltimes, 'L-SMASH Works Index (*.lwi)' : self.import_lwi, 'Matroska Timestamps v1 (*.txt)': self.import_matroska_timestamps_v1, 'Matroska Timestamps v2 (*.txt)': self.import_matroska_timestamps_v2, 'Matroska Timestamps v3 (*.txt)': self.import_matroska_timestamps_v3, 'Matroska XML Chapters (*.xml)' : self.import_matroska_xml_chapters, 'OGM Chapters (*.txt)' : self.import_ogm_chapters, 'TFM Log (*.txt)' : self.import_tfm, 'VSEdit Bookmarks (*.bookmarks)': self.import_vsedit, 'x264/x265 2 Pass Log (*.log)' : self.import_x264_2pass_log, 'x264/x265 QP File (*.qp *.txt)': self.import_qp, 'XviD Log (*.txt)' : self.import_xvid, } self.add_list_button .clicked.connect(self.on_add_list_clicked) self.add_single_frame_button .clicked.connect(self.on_add_single_frame_clicked) self.add_to_list_button .clicked.connect(self.on_add_to_list_clicked) self.export_multiline_button .clicked.connect(self.export_multiline) self.export_single_line_button .clicked.connect(self.export_single_line) self.export_template_lineedit .textChanged.connect(self.check_remove_export_possibility) self.import_file_button .clicked.connect(self.on_import_file_clicked) self.items_combobox .valueChanged.connect(self.on_current_list_changed) self.remove_at_current_frame_button.clicked.connect(self.on_remove_at_current_frame_clicked) self.remove_last_from_list_button .clicked.connect(self.on_remove_last_from_list_clicked) self.remove_list_button .clicked.connect(self.on_remove_list_clicked) self.seek_to_next_button .clicked.connect(self.on_seek_to_next_clicked) self.seek_to_prev_button .clicked.connect(self.on_seek_to_prev_clicked) self.toggle_first_frame_button .clicked.connect(self.on_first_frame_clicked) self.toggle_second_frame_button .clicked.connect(self.on_second_frame_clicked) self.view_list_button .clicked.connect(self.on_view_list_clicked) add_shortcut(Qt.Qt.SHIFT + Qt.Qt.Key_1, lambda: self.switch_list(0)) add_shortcut(Qt.Qt.SHIFT + Qt.Qt.Key_2, lambda: self.switch_list(1)) add_shortcut(Qt.Qt.SHIFT + Qt.Qt.Key_3, lambda: self.switch_list(2)) add_shortcut(Qt.Qt.SHIFT + Qt.Qt.Key_4, lambda: self.switch_list(3)) add_shortcut(Qt.Qt.SHIFT + Qt.Qt.Key_5, lambda: self.switch_list(4)) add_shortcut(Qt.Qt.SHIFT + Qt.Qt.Key_6, lambda: self.switch_list(5)) add_shortcut(Qt.Qt.SHIFT + Qt.Qt.Key_7, lambda: self.switch_list(6)) add_shortcut(Qt.Qt.SHIFT + Qt.Qt.Key_8, lambda: self.switch_list(7)) add_shortcut(Qt.Qt.SHIFT + Qt.Qt.Key_9, lambda: self.switch_list(8)) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_Space, self.on_toggle_single_frame) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_Left, self.seek_to_prev_button .click) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_Right, self.seek_to_next_button .click) add_shortcut( Qt.Qt.Key_Q, self.toggle_first_frame_button .click) add_shortcut( Qt.Qt.Key_W, self.toggle_second_frame_button .click) add_shortcut( Qt.Qt.Key_E, self.add_to_list_button .click) add_shortcut( Qt.Qt.Key_R, self.remove_last_from_list_button.click) # FIXME: get rid of workaround self._on_list_items_changed = lambda *arg: self.on_list_items_changed(*arg) # pylint: disable=unnecessary-lambda, no-value-for-parameter set_qobject_names(self)
def __init__(self, main_window: AbstractMainWindow) -> None: from vspreview.models import ZoomLevels super().__init__(main_window) self.setup_ui() self.outputs = Outputs() self.outputs_combobox.setModel(self.outputs) self.frame_spinbox.setMinimum(0) self.time_spinbox.setMinimumTime(Qt.QTime()) self.zoom_levels = ZoomLevels( [0.25, 0.5, 0.75, 1.0, 1.5, 2.0, 4.0, 8.0]) self.zoom_combobox.setModel(self.zoom_levels) self.zoom_combobox.setCurrentIndex(3) self.save_file_types = {'Single Image (*.png)': self.save_as_png} self.outputs_combobox.currentIndexChanged.connect( self.main.switch_output) self.frame_spinbox.valueChanged.connect( lambda f: self.main.on_current_frame_changed(Frame(f))) self.time_spinbox.timeChanged.connect( lambda qtime: self.main.on_current_frame_changed( t=qtime_to_timedelta(qtime))) # type: ignore self.copy_frame_button.clicked.connect( self.on_copy_frame_button_clicked) self.copy_timestamp_button.clicked.connect( self.on_copy_timestamp_button_clicked) self.zoom_combobox.currentTextChanged.connect(self.on_zoom_changed) self.save_as_button.clicked.connect(self.on_save_as_clicked) self.switch_timeline_mode.clicked.connect( self.on_switch_timeline_mode_clicked) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_1, lambda: self.main.switch_output(0)) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_2, lambda: self.main.switch_output(1)) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_3, lambda: self.main.switch_output(2)) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_4, lambda: self.main.switch_output(3)) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_5, lambda: self.main.switch_output(4)) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_6, lambda: self.main.switch_output(5)) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_7, lambda: self.main.switch_output(6)) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_8, lambda: self.main.switch_output(7)) add_shortcut(Qt.Qt.CTRL + Qt.Qt.Key_9, lambda: self.main.switch_output(8))