def __init__(self, parent, text): self._text = text self.encoding = None self._builder = Gtk.Builder() glade_file = Resources.find(path.join('data', 'gui', 'glade', 'encoding_dialog.glade')) self._builder.add_from_file(glade_file) self._dialog = self._builder.get_object('encoding_dialog') self._dialog.set_transient_for(parent) self._builder.connect_signals(self) self._text_content = self._builder.get_object('text_content') self._store_encoding = self._builder.get_object('store_encoding') encodings = sorted(TextFile.get_available_encodings_with_title(), key=itemgetter(0)) # Test which encoding can be used to decode the text-file and # add those encodings to the combo box. for encoding in encodings: try: self._text.decode(encoding[1]) # decode successfull --> add to list self._store_encoding.append(encoding) except UnicodeDecodeError: continue
def __init__(self, parent): self._builder = Gtk.Builder() glade_file = Resources.find(path.join("data", "gui", "glade", "change_fps_dialog.glade")) self._builder.add_from_file(glade_file) self._dialog = self._builder.get_object("change_fps_dialog") self._dialog.set_transient_for(parent) grid_main = self._builder.get_object("grid_main") self._adj_fps_from = self._builder.get_object("adj_fps_from") self._adj_fps_to = self._builder.get_object("adj_fps_to") self.fps_from = 23.976216 self.fps_to = 25.000 self._adj_fps_from.set_value(self.fps_from) self._adj_fps_to.set_value(self.fps_to) self._spin_fps_from = SpinEntry() self._spin_fps_from.set_adjustment(self._adj_fps_from) grid_main.attach(self._spin_fps_from, 1, 0, 1, 1) self._spin_fps_from.show() self._spin_fps_to = SpinEntry() self._spin_fps_to.set_adjustment(self._adj_fps_to) self._spin_fps_to.set_hexpand(True) grid_main.attach(self._spin_fps_to, 1, 1, 1, 1) self._spin_fps_to.show()
def __init__(self, parent, script_file): self._script_file = script_file self._submod = None self._cuts = None builder = Gtk.Builder() glade_file = Resources.find(path.join('data', 'gui', 'glade', 'script_run_dialog.glade')) builder.add_from_file(glade_file) self._dialog = builder.get_object('script_run_dialog') self._dialog.set_transient_for(parent) builder.connect_signals(self) self._spin_loading_submod = builder.get_object('spin_loading_submod') self._img_loading_submod = builder.get_object('img_loading_submod') self._spin_loading_cutlist = builder.get_object('spin_loading_cutlist') self._img_loading_cutlist = builder.get_object('img_loading_cutlist') self._spin_loading_subtitle = builder.get_object( 'spin_loading_subtitle') self._img_loading_subtitle = builder.get_object('img_loading_subtitle') self._spin_running_submod = builder.get_object('spin_running_submod') self._img_running_submod = builder.get_object('img_running_submod') self._spin_saving_subtitle = builder.get_object('spin_saving_subtitle') self._img_saving_subtitle = builder.get_object('img_saving_subtitle') self._scroll_log = builder.get_object('scroll_log') self._txt_log = builder.get_object('txt_log') self._btn_close = builder.get_object('btn_close') self._step_icons = [ self._spin_loading_submod, self._img_loading_submod, self._spin_loading_cutlist, self._img_loading_cutlist, self._spin_loading_subtitle, self._img_loading_subtitle, self._spin_running_submod, self._img_running_submod, self._spin_saving_subtitle, self._img_saving_subtitle ]
def __init__(self, parent, title, enable_encoding_selection=False): self._enable_encoding_selection = enable_encoding_selection self.encoding = None self._builder = Gtk.Builder() glade_file = Resources.find(path.join('data', 'gui', 'glade', 'ext_file_chooser_dialog.glade')) self._builder.add_from_file(glade_file) self._dialog = self._builder.get_object('filechooserdialog') self._dialog.set_transient_for(parent) self._dialog.set_title(title) self._builder.connect_signals(self) self._box_encoding = self._builder.get_object('box_encoding') self._combo_encoding = self._builder.get_object('combo_encoding') self._store_encoding = self._builder.get_object('store_encoding') if not enable_encoding_selection: self._box_encoding.hide() self._combo_encoding.set_row_separator_func(self._is_separator, None) encodings = sorted(TextFile.get_available_encodings_with_title(), key=itemgetter(0)) self._store_encoding.append([_('Detect automatically'), None]) self._store_encoding.append(['-', None]) for encoding in encodings: self._store_encoding.append(encoding) self._combo_encoding.set_active(0)
def __init__(self, parent): self._builder = Gtk.Builder() gui_folder = Resources.find(path.join('data', 'gui')) self._builder.add_from_file(path.join(gui_folder, 'glade', 'about_dialog.glade')) self._dialog = self._builder.get_object('about_dialog') logo_pixbuf = GdkPixbuf.Pixbuf.new_from_file(path.join(gui_folder, 'logo', 'logo-about.png')) self._dialog.set_logo(logo_pixbuf) self._dialog.set_transient_for(parent)
def __init__(self, parent, subtitle_list): self._subtitle_list = subtitle_list self._builder = Gtk.Builder() glade_file = Resources.find(path.join('data', 'gui', 'glade', 'format_check_dialog.glade')) self._builder.add_from_file(glade_file) self._dialog = self._builder.get_object('format_check_dialog') self._dialog.set_transient_for(parent) self._builder.connect_signals(self) self._tree_subtitles_old = self._builder.get_object( 'tree_subtitles_old') self._tree_subtitles_new = self._builder.get_object( 'tree_subtitles_new') self._selection_subtitle_old = self._builder.get_object( 'selection_subtitle_old') self._selection_subtitle_new = self._builder.get_object( 'selection_subtitle_new') self._subtitle_list_model_old = SubtitleListTreeModel(subtitle_list, self._on_subtitle_changed, True) self._subtitle_list_model_new = SubtitleListTreeModel(subtitle_list, self._on_subtitle_changed) self._tree_subtitles_old.set_model(self._subtitle_list_model_old) self._tree_subtitles_new.set_model(self._subtitle_list_model_new) # The start/end time should be displayed as hh:mm:ss.iii # TODO same as in main_window --> outsource cellrenderer_start_new = self._builder.get_object( 'cellrenderer_start_new') column_start_new = self._builder.get_object('column_start_new') column_start_new.set_cell_data_func(cellrenderer_start_new, self._format_start_time_column) cellrenderer_end_new = self._builder.get_object('cellrenderer_end_new') column_end_new = self._builder.get_object('column_end_new') column_end_new.set_cell_data_func(cellrenderer_end_new, self._format_end_time_column) cellrenderer_start_old = self._builder.get_object( 'cellrenderer_start_old') column_start_old = self._builder.get_object('column_start_old') column_start_old.set_cell_data_func(cellrenderer_start_old, self._format_start_time_column) cellrenderer_end_old = self._builder.get_object('cellrenderer_end_old') column_end_old = self._builder.get_object('column_end_old') column_end_old.set_cell_data_func(cellrenderer_end_old, self._format_end_time_column)
def __init__(self, parent, subtitle, edit=False, allow_edit_time=True): self.subtitle = subtitle self._builder = Gtk.Builder() glade_file = Resources.find(path.join('data', 'gui', 'glade', 'subtitle_dialog.glade')) self._builder.add_from_file(glade_file) self._builder.connect_signals(self) self._dialog = self._builder.get_object('subtitle_dialog') self._dialog.set_transient_for(parent) grid_main = self._builder.get_object('grid_main') self._txt_text = self._builder.get_object('txt_text') self._txt_text.get_buffer().set_text(self.subtitle.text) if edit: self._dialog.set_title(_('Edit subtitle')) else: self._dialog.set_title(_('Add subtitle')) self._adj_start = self._builder.get_object('adj_start') self._adj_end = self._builder.get_object('adj_end') self._adj_duration = self._builder.get_object('adj_duration') self._adj_start.set_value(self.subtitle.start) self._adj_end.set_value(self.subtitle.end) self._adj_duration.set_value(self.subtitle.end - self.subtitle.start) if allow_edit_time: self._time_start = TimeEntry() self._time_start.set_adjustment(self._adj_start) grid_main.attach(self._time_start, 1, 0, 1, 1) self._time_start.show() self._time_end = TimeEntry() self._time_end.set_adjustment(self._adj_end) grid_main.attach(self._time_end, 1, 1, 1, 1) self._time_end.show() self._time_duration = TimeEntry() self._time_duration.set_adjustment(self._adj_duration) grid_main.attach(self._time_duration, 1, 2, 1, 1) self._time_duration.show() else: self._builder.get_object('lbl_duration').set_visible(False) self._builder.get_object('lbl_start').set_visible(False) self._builder.get_object('lbl_end').set_visible(False) self._text_formatter = TextFormatter()