def setup_ui(self) -> None:
super().setup_ui()
self.setVisible(True)
self.outputs_combobox = ComboBox[VideoOutput](
self, editable=True, insertPolicy=QComboBox.InsertPolicy.InsertAtCurrent,
duplicatesEnabled=True, sizeAdjustPolicy=QComboBox.SizeAdjustPolicy.AdjustToContents
)
self.outputs_combobox.currentIndexChanged.connect(self.main.switch_output)
self.outputs_combobox.view().setMinimumWidth(
self.outputs_combobox.minimumSizeHint().width()
)
self.frame_control = FrameEdit(self, valueChanged=self.main.switch_frame)
if not self.settings.INSTANT_FRAME_UPDATE:
self.frame_control.setKeyboardTracking(False)
self.copy_frame_button = PushButton('⎘', self, clicked=self.on_copy_frame_button_clicked)
self.time_control = TimeEdit(self, valueChanged=self.main.switch_frame)
self.copy_timestamp_button = PushButton('⎘', self, clicked=self.on_copy_timestamp_button_clicked)
self.sync_outputs_checkbox = CheckBox(
'Sync Outputs', self, checked=self.settings.SYNC_OUTPUTS, clicked=self.on_sync_outputs_clicked
)
self.switch_timeline_mode_button = PushButton(
'Switch Timeline Mode', self, clicked=self.on_switch_timeline_mode_clicked
)
self.settings_button = PushButton('Settings', self, clicked=self.main.app_settings.show)
self.hlayout.addWidgets([
self.outputs_combobox,
self.frame_control, self.copy_frame_button,
self.time_control, self.copy_timestamp_button,
self.sync_outputs_checkbox,
self.get_separator(),
self.main.graphics_view.controls,
self.switch_timeline_mode_button,
self.settings_button
])
self.hlayout.addStretch()