def __init__(self, app): Loggable.__init__(self) self.app = app self.app.shortcuts.connect("accel-changed", self.__accel_changed_cb) self.settings = app.settings self.widgets = {} self.resets = {} self.original_values = {} self.action_ids = {} # Identify the widgets we'll need builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "preferences.ui")) builder.connect_signals(self) self.dialog = builder.get_object("dialog1") self.sidebar = builder.get_object("sidebar") self.stack = builder.get_object("stack") self.revert_button = builder.get_object("revertButton") self.factory_settings = builder.get_object("resetButton") self.restart_warning = builder.get_object("restartWarning") for section_id in self.settings_sections: self.add_settings_page(section_id) self.factory_settings.set_sensitive(self._canReset()) self.__add_shortcuts_section() self.__add_plugin_manager_section() self.__setup_css() self.dialog.set_transient_for(app.gui)
def __init__(self, app, parent): GObject.Object.__init__(self) self.app = app self.main_render_dialog = parent self.builder = Gtk.Builder() self.builder.add_from_file( os.path.join(configure.get_ui_dir(), "renderingprogress.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("render-progress") self.table1 = self.builder.get_object("table1") self.progressbar = self.builder.get_object("progressbar") self.play_pause_button = self.builder.get_object("play_pause_button") self.play_rendered_file_button = self.builder.get_object( "play_rendered_file_button") self.close_button = self.builder.get_object("close_button") self.cancel_button = self.builder.get_object("cancel_button") self._filesize_est_label = self.builder.get_object( "estimated_filesize_label") self._filesize_est_value_label = self.builder.get_object( "estimated_filesize_value_label") # Parent the dialog with mainwindow, since renderingdialog is hidden. # It allows this dialog to properly minimize together with mainwindow self.window.set_transient_for(self.app.gui) # UI widgets self.window.set_icon_from_file( configure.get_pixmap_dir() + "/pitivi-render-16.png") # We will only show the close/play buttons when the render is done: self.play_rendered_file_button.hide() self.close_button.hide()
def __init__(self, app): Loggable.__init__(self) self.settings = app.settings self.widgets = {} self.resets = {} self._current = None # Identify the widgets we'll need builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "preferences.ui")) builder.connect_signals(self) self.dialog = builder.get_object("dialog1") self.model = builder.get_object("liststore1") self.treeview = builder.get_object("treeview1") self.contents = builder.get_object("box1") self.revert_button = builder.get_object("revertButton") self.factory_settings = builder.get_object("resetButton") self.restart_warning = builder.get_object("restartWarning") self.sections = {} self.__fillContents() req = self.contents.get_preferred_size()[0] min_width = req.width min_height = req.height width = max(min_width, self.settings.prefsDialogWidth) height = max(min_height, self.settings.prefsDialogHeight) self.dialog.set_transient_for(app.gui) self.dialog.set_default_size(width, height)
def __init__(self, project, asset): self.project = project info = asset.get_info() self.audio_streams = info.get_audio_streams() self.video_streams = info.get_video_streams() self.has_audio = False self.has_video = False self.is_image = False builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "clipmediaprops.ui")) builder.connect_signals(self) self.dialog = builder.get_object("Import Settings") self.channels = builder.get_object("channels") self.size_height = builder.get_object("size_height") self.size_width = builder.get_object("size_width") self.frame_rate = builder.get_object("frame_rate") self.aspect_ratio = builder.get_object("aspect_ratio") self.sample_rate = builder.get_object("sample_rate") self.frame1 = builder.get_object("frame1") self.frame2 = builder.get_object("frame2") self.hbox2 = builder.get_object("hbox2") self.hbox3 = builder.get_object("hbox3") self.label2 = builder.get_object("label2") self.checkbutton1 = builder.get_object("checkbutton1") self.checkbutton2 = builder.get_object("checkbutton2") self.checkbutton3 = builder.get_object("checkbutton3") self.checkbutton4 = builder.get_object("checkbutton4") self.checkbutton5 = builder.get_object("checkbutton5") self.checkbutton6 = builder.get_object("checkbutton6")
def __init__(self, instance): self.settings = instance.settings self.widgets = {} self.resets = {} self._current = None # Identify the widgets we'll need builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "preferences.ui")) builder.connect_signals(self) self.dialog = builder.get_object("dialog1") self.model = builder.get_object("liststore1") self.treeview = builder.get_object("treeview1") self.contents = builder.get_object("box1") self.revert_button = builder.get_object("revertButton") self.factory_settings = builder.get_object("resetButton") self.restart_warning = builder.get_object("restartWarning") self.sections = {} self.__fillContents() req = self.contents.size_request() min_width = req.width min_height = req.height width = max(min_width, self.settings.prefsDialogWidth) height = max(min_height, self.settings.prefsDialogHeight) self.dialog.set_transient_for(instance.gui) self.dialog.set_default_size(width, height)
def __init__(self, app): self.app = app self.builder = gtk.Builder() self.builder.add_from_file(os.path.join(get_ui_dir(), "startupwizard.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("window1") self.recent_chooser = self.builder.get_object("recentchooser2") # FIXME: gtk creates a combo box with only one item, but there is no # simple way to hide it. filter = gtk.RecentFilter() filter.set_name(_("Projects")) filter.add_pattern("*.xptv") self.recent_chooser.add_filter(filter) if not soft_deps: self.builder.get_object("missing_deps_button").hide() self.app.projectManager.connect("new-project-failed", self._projectFailedCb) self.app.projectManager.connect("new-project-loaded", self._projectLoadedCb) self.app.projectManager.connect("new-project-loading", self._projectLoadingCb)
def __init__(self, app): Gtk.Expander.__init__(self) Loggable.__init__(self) self.app = app self._project = None self._selection = None self.source = None self._selected_clip = None self.spin_buttons = {} self.spin_buttons_handler_ids = {} self.set_label(_("Transformation")) self.builder = Gtk.Builder() self.builder.add_from_file(os.path.join(get_ui_dir(), "cliptransformation.ui")) self.__control_bindings = {} # Used to make sure self.__control_bindings_changed doesn't get called # when bindings are changed from this class self.__own_bindings_change = False self.add(self.builder.get_object("transform_box")) self._initButtons() self.show_all() self.hide() self.app.project_manager.connect_after( "new-project-loaded", self._newProjectLoadedCb) self.app.project_manager.connect_after( "project-closed", self.__project_closed_cb)
def __init__(self, app): self.app = app self.builder = Gtk.Builder() self.builder.add_from_file(os.path.join(get_ui_dir(), "startupwizard.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("window1") self.recent_chooser = self.builder.get_object("recentchooser2") # FIXME: gtk creates a combo box with only one item, but there is no # simple way to hide it. filter = Gtk.RecentFilter() filter.set_name(_("Projects")) filter.add_pattern("*.xptv") self.recent_chooser.add_filter(filter) if not soft_deps: self.builder.get_object("missing_deps_button").hide() self.app.projectManager.connect("new-project-failed", self._projectFailedCb) self.app.projectManager.connect("new-project-loaded", self._projectLoadedCb) self.app.projectManager.connect("new-project-loading", self._projectLoadingCb) vbox = self.builder.get_object("topvbox") self.infobar = Gtk.InfoBar() vbox.pack_start(self.infobar, True, True, 0) if self.app.version_information: self._appVersionInfoReceivedCb(None, self.app.version_information) else: self.app.connect("version-info-received", self._appVersionInfoReceivedCb)
def _createUi(self): builder = Gtk.Builder() builder.add_from_file(os.path.join(configure.get_ui_dir(), "renderingdialog.ui")) builder.connect_signals(self) self.window = builder.get_object("render-dialog") self.selected_only_button = builder.get_object("selected_only_button") self.video_output_checkbutton = builder.get_object("video_output_checkbutton") self.audio_output_checkbutton = builder.get_object("audio_output_checkbutton") self.render_button = builder.get_object("render_button") self.video_settings_button = builder.get_object("video_settings_button") self.audio_settings_button = builder.get_object("audio_settings_button") self.frame_rate_combo = builder.get_object("frame_rate_combo") self.scale_spinbutton = builder.get_object("scale_spinbutton") self.channels_combo = builder.get_object("channels_combo") self.sample_rate_combo = builder.get_object("sample_rate_combo") self.muxercombobox = builder.get_object("muxercombobox") self.audio_encoder_combo = builder.get_object("audio_encoder_combo") self.video_encoder_combo = builder.get_object("video_encoder_combo") self.filebutton = builder.get_object("filebutton") self.fileentry = builder.get_object("fileentry") self.resolution_label = builder.get_object("resolution_label") self.render_preset_treeview = builder.get_object("render_preset_treeview") self.save_render_preset_button = builder.get_object("save_render_preset_button") self.remove_render_preset_button = builder.get_object("remove_render_preset_button") self.render_preset_infobar = builder.get_object("render-preset-infobar") icon = os.path.join(configure.get_pixmap_dir(), "pitivi-render-16.png") self.window.set_icon_from_file(icon) self.window.set_transient_for(self.app.gui) # Set the shading style in the toolbar below presets presets_toolbar = builder.get_object("render_presets_toolbar") presets_toolbar.get_style_context().add_class("inline-toolbar")
def __init__(self, app): self.app = app self.builder = Gtk.Builder() self.builder.add_from_file(os.path.join(get_ui_dir(), "startupwizard.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("window1") self.recent_chooser = self.builder.get_object("recentchooser2") # FIXME: gtk creates a combo box with only one item, but there is no # simple way to hide it. _filter = Gtk.RecentFilter() _filter.set_name(_("Projects")) for asset in GES.list_assets(GES.Formatter): _filter.add_pattern('*.' + asset.get_meta(GES.META_FORMATTER_EXTENSION)) self.recent_chooser.add_filter(_filter) missing_button = self.builder.get_object("missing_deps_button") if not missing_soft_deps: missing_button.hide() self.app.projectManager.connect("new-project-failed", self._projectFailedCb) self.app.projectManager.connect("new-project-loaded", self._projectLoadedCb) self.app.projectManager.connect("new-project-loading", self._projectLoadingCb) vbox = self.builder.get_object("topvbox") self.infobar = Gtk.InfoBar() vbox.pack_start(self.infobar, True, True, 0) if self.app.getLatest(): self._appVersionInfoReceivedCb(self.app, None) else: self.app.connect("version-info-received", self._appVersionInfoReceivedCb)
def _createUI(self): builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "titleeditor.ui")) builder.connect_signals(self) self.widget = builder.get_object("box1") # To be used by tabsmanager self.infobar = builder.get_object("infobar") self.editing_box = builder.get_object("editing_box") self.textarea = builder.get_object("textview") self.markup_button = builder.get_object("markupToggle") toolbar = builder.get_object("toolbar") toolbar.get_style_context().add_class("inline-toolbar") buttons = ["bold", "italic", "font", "font_fore_color", "back_color"] for button in buttons: self.bt[button] = builder.get_object(button) settings = ["valignment", "halignment", "xpos", "ypos"] for setting in settings: self.settings[setting] = builder.get_object(setting) for n, en in {_("Custom"): "position", _("Top"): "top", _("Center"): "center", _("Bottom"): "bottom", _("Baseline"): "baseline"}.items(): self.settings["valignment"].append(en, n) for n, en in {_("Custom"): "position", _("Left"): "left", _("Center"): "center", _("Right"): "right"}.items(): self.settings["halignment"].append(en, n) self._deactivate()
def _createUI(self): builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "titleeditor.ui")) builder.connect_signals(self) self.widget = builder.get_object("box1") # To be used by tabsmanager self.infobar = builder.get_object("infobar") fix_infobar(self.infobar) self.editing_box = builder.get_object("editing_box") self.textarea = builder.get_object("textview") toolbar = builder.get_object("toolbar") toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_INLINE_TOOLBAR) self.textbuffer = self.textarea.props.buffer self.textbuffer.connect("changed", self._textChangedCb) self.font_button = builder.get_object("fontbutton1") self.foreground_color_button = builder.get_object("fore_text_color") self.background_color_button = builder.get_object("back_color") settings = ["valignment", "halignment", "x-absolute", "y-absolute"] for setting in settings: self.settings[setting] = builder.get_object(setting) for n, en in list({_("Absolute"): "absolute", _("Top"): "top", _("Center"): "center", _("Bottom"): "bottom", _("Baseline"): "baseline"}.items()): self.settings["valignment"].append(en, n) for n, en in list({_("Absolute"): "absolute", _("Left"): "left", _("Center"): "center", _("Right"): "right"}.items()): self.settings["halignment"].append(en, n)
def __init__(self, plugin_manager): self.pm = plugin_manager self.builder = gtk.Builder() self.builder.add_from_file(os.path.join(get_ui_dir(), "pluginmanagerdialog.ui")) # load user interface items self.window = self.builder.get_object("pluginmanager_dlg") self.search_entry = self.builder.get_object("search_entry") self.category_cmb = self.builder.get_object("category_cmb") self.about_btn = self.builder.get_object("about_btn") self.configure_btn = self.builder.get_object("configure_btn") self.delete_btn = self.builder.get_object("delete_btn") self.plugin_tree = self.builder.get_object("plugin_tree") self.search_entry = self.builder.get_object("search_entry") # connect signals self.builder.connect_signals(self) # intialize plugin list self._initialize_plugin_tree(self.plugin_tree) self._initialize_category_cmb(self.category_cmb) self.refresh_category() self.refresh_tree() # show the window self.search_entry.grab_focus() self.window.show()
def __init__(self, app, parent): self.app = app self.main_render_dialog = parent self.builder = Gtk.Builder() self.builder.add_from_file(os.path.join(configure.get_ui_dir(), "renderingprogress.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("render-progress") self.table1 = self.builder.get_object("table1") self.progressbar = self.builder.get_object("progressbar") self.play_pause_button = self.builder.get_object("play_pause_button") self.play_rendered_file_button = self.builder.get_object("play_rendered_file_button") self.close_button = self.builder.get_object("close_button") self.cancel_button = self.builder.get_object("cancel_button") # Parent the dialog with mainwindow, since renderingdialog is hidden. # It allows this dialog to properly minimize together with mainwindow self.window.set_transient_for(self.app.gui) # UI widgets self.window.set_icon_from_file(configure.get_pixmap_dir() + "/pitivi-render-16.png") # TODO: show this widget for rendering statistics (bug 637079) self.table1.hide() # We will only show the close/play buttons when the render is done: self.play_rendered_file_button.hide() self.close_button.hide()
def setup_ui(self): """Sets up the UI.""" builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "greeter.ui")) self.toplevel_widget = builder.get_object("toplevel_vbox") self.__topvbox = builder.get_object("topvbox") self.__welcome_vbox = builder.get_object("welcome_vbox") self.__recent_projects_vbox = builder.get_object("recent_projects_vbox") self.__recent_projects_labelbox = builder.get_object("recent_projects_labelbox") self.__search_entry = builder.get_object("search_entry") self.__search_entry.connect("search-changed", self.__search_changed_cb) self.__recent_projects_listbox = builder.get_object("recent_projects_listbox") self.__recent_projects_listbox.set_selection_mode(Gtk.SelectionMode.NONE) self.__recent_projects_listbox.connect( "row_activated", self.__projects_row_activated_cb) self.__infobar = builder.get_object("infobar") fix_infobar(self.__infobar) self.__infobar.hide() self.__infobar.connect("response", self.__infobar_response_cb) self.__actionbar = builder.get_object("actionbar") self.__remove_projects_button = builder.get_object("remove_projects_button") self.__remove_projects_button.get_style_context().add_class("destructive-action") self.__remove_projects_button.connect("clicked", self.__remove_projects_clicked_cb) self.__setup_css() self.headerbar = self.__create_headerbar() self.__set_keyboard_shortcuts()
def __init__(self, project, asset): self.project = project info = asset.get_info() self.audio_streams = info.get_audio_streams() self.video_streams = info.get_video_streams() self.has_audio = False self.has_video = False self.is_image = False builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "clipmediaprops.ui")) builder.connect_signals(self) self.dialog = builder.get_object("Import Settings") # Checkbuttons (with their own labels) in the first table column: self.size_checkbutton = builder.get_object("size_checkbutton") self.framerate_checkbutton = builder.get_object( "framerate_checkbutton") self.PAR_checkbutton = builder.get_object("PAR_checkbutton") self.channels_checkbutton = builder.get_object("channels_checkbutton") self.samplerate_checkbutton = builder.get_object("samplerate_checkbtn") # These labels are in a separate table col on the right of checkboxes: self.channels = builder.get_object("channels") self.size_height = builder.get_object("size_height") self.size_width = builder.get_object("size_width") self.frame_rate = builder.get_object("frame_rate") self.aspect_ratio = builder.get_object("aspect_ratio") self.sample_rate = builder.get_object("sample_rate") # Various other layout widgets self.frame1 = builder.get_object("frame1") self.frame2 = builder.get_object("frame2") self.hbox2 = builder.get_object("hbox2") self.hbox3 = builder.get_object("hbox3") self.video_header_label = builder.get_object("label2")
def __init__(self, project, asset): self.project = project info = asset.get_info() self.audio_streams = info.get_audio_streams() self.video_streams = info.get_video_streams() self.has_audio = False self.has_video = False self.is_image = False builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "clipmediaprops.ui")) builder.connect_signals(self) self.dialog = builder.get_object("Import Settings") # Checkbuttons (with their own labels) in the first table column: self.size_checkbutton = builder.get_object("size_checkbutton") self.framerate_checkbutton = builder.get_object( "framerate_checkbutton") self.par_checkbutton = builder.get_object("PAR_checkbutton") self.channels_checkbutton = builder.get_object("channels_checkbutton") self.samplerate_checkbutton = builder.get_object("samplerate_checkbtn") # These labels are in a separate table col on the right of checkboxes: self.channels = builder.get_object("channels") self.size_height = builder.get_object("size_height") self.size_width = builder.get_object("size_width") self.frame_rate = builder.get_object("frame_rate") self.aspect_ratio = builder.get_object("aspect_ratio") self.sample_rate = builder.get_object("sample_rate") # Various other layout widgets self.frame1 = builder.get_object("frame1") self.frame2 = builder.get_object("frame2") self.video_header_label = builder.get_object("label2")
def __init__(self, app): Gtk.Expander.__init__(self) Loggable.__init__(self) self.app = app self._project = None self._selection = None self.source = None self._selected_clip = None self.spin_buttons = {} self.spin_buttons_handler_ids = {} self.set_label(_("Transformation")) self.builder = Gtk.Builder() self.builder.add_from_file( os.path.join(get_ui_dir(), "cliptransformation.ui")) self.__control_bindings = {} # Used to make sure self.__control_bindings_changed doesn't get called # when bindings are changed from this class self.__own_bindings_change = False self.add(self.builder.get_object("transform_box")) self._initButtons() self.show_all() self.hide() self.app.project_manager.connect_after("new-project-loaded", self._newProjectLoadedCb)
def __init__(self, app): Loggable.__init__(self) self.app = app self.app.shortcuts.connect("accel-changed", self.__accel_changed_cb) self.settings = app.settings self.widgets = {} self.resets = {} self.original_values = {} self.action_ids = {} # Identify the widgets we'll need builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "preferences.ui")) builder.connect_signals(self) self.dialog = builder.get_object("dialog1") self.sidebar = builder.get_object("sidebar") self.stack = builder.get_object("stack") self.revert_button = builder.get_object("revertButton") self.factory_settings = builder.get_object("resetButton") self.restart_warning = builder.get_object("restartWarning") for section_id in self.settings_sections: self.add_settings_page(section_id) self.factory_settings.set_sensitive(self._canReset()) self.__add_shortcuts_section() self.__add_plugin_manager_section() self.dialog.set_transient_for(app.gui)
def _createUI(self): builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "titleeditor.ui")) builder.connect_signals(self) self.widget = builder.get_object("box1") # To be used by tabsmanager self.infobar = builder.get_object("infobar") fix_infobar(self.infobar) self.editing_box = builder.get_object("base_table") self.textarea = builder.get_object("textview") self.textbuffer = self.textarea.props.buffer self.textbuffer.connect("changed", self._textChangedCb) self.font_button = builder.get_object("fontbutton1") self.foreground_color_button = builder.get_object("fore_text_color") self.background_color_button = builder.get_object("back_color") self.color_picker_foreground_widget = ColorPickerButton() self.color_picker_foreground_widget.show() self.color_picker_foreground = builder.get_object( "color_picker_foreground") self.color_picker_foreground.add(self.color_picker_foreground_widget) self.color_picker_foreground_widget.connect( "value-changed", self._color_picker_value_changed_cb, self.foreground_color_button, "color") self.color_picker_background_widget = ColorPickerButton() self.color_picker_background_widget.show() self.background_color_picker = builder.get_object( "color_picker_background") self.background_color_picker.add(self.color_picker_background_widget) self.color_picker_background_widget.connect( "value-changed", self._color_picker_value_changed_cb, self.background_color_button, "foreground-color") settings = ["valignment", "halignment", "x-absolute", "y-absolute"] for setting in settings: self.settings[setting] = builder.get_object(setting) for n, en in list({ _("Absolute"): "absolute", _("Top"): "top", _("Center"): "center", _("Bottom"): "bottom", _("Baseline"): "baseline" }.items()): self.settings["valignment"].append(en, n) for n, en in list({ _("Absolute"): "absolute", _("Left"): "left", _("Center"): "center", _("Right"): "right" }.items()): self.settings["halignment"].append(en, n)
def __create_headerbar(self): headerbar = Gtk.HeaderBar() headerbar.set_show_close_button(True) undo_button = Gtk.Button.new_from_icon_name("edit-undo-symbolic", Gtk.IconSize.SMALL_TOOLBAR) undo_button.set_always_show_image(True) undo_button.set_label(_("Undo")) undo_button.set_action_name("app.undo") undo_button.set_use_underline(True) redo_button = Gtk.Button.new_from_icon_name("edit-redo-symbolic", Gtk.IconSize.SMALL_TOOLBAR) redo_button.set_always_show_image(True) redo_button.set_action_name("app.redo") redo_button.set_use_underline(True) # pylint: disable=attribute-defined-outside-init self.save_button = Gtk.Button.new_with_label(_("Save")) self.save_button.set_focus_on_click(False) self.render_button = Gtk.Button.new_from_icon_name( "system-run-symbolic", Gtk.IconSize.SMALL_TOOLBAR) self.render_button.set_always_show_image(True) self.render_button.set_label(_("Render")) self.render_button.set_tooltip_text( _("Export your project as a finished movie")) self.render_button.set_sensitive(False) # The only one we have to set. self.render_button.connect("clicked", self._render_cb) undo_redo_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=0) undo_redo_box.get_style_context().add_class("linked") undo_redo_box.pack_start(undo_button, expand=False, fill=False, padding=0) undo_redo_box.pack_start(redo_button, expand=False, fill=False, padding=0) headerbar.pack_start(undo_redo_box) self.builder.add_from_file( os.path.join(get_ui_dir(), "mainmenubutton.ui")) self.menu_button = self.builder.get_object("menubutton") self.keyboard_shortcuts_button = self.builder.get_object( "menu_shortcuts") headerbar.pack_end(self.menu_button) headerbar.pack_end(self.save_button) headerbar.pack_end(self.render_button) headerbar.show_all() return headerbar
def __init__(self, instance): Gtk.Box.__init__(self) Loggable.__init__(self) self.app = instance self._drag_icon = GdkPixbuf.Pixbuf.new_from_file_at_size( os.path.join(get_pixmap_dir(), "effects", "defaultthumbnail.svg"), ICON_WIDTH, ICON_HEIGHT) self._star_icon_regular = GdkPixbuf.Pixbuf.new_from_file_at_size( os.path.join(get_pixmap_dir(), "star-regular.svg"), 15, 15) self._star_icon_solid = GdkPixbuf.Pixbuf.new_from_file_at_size( os.path.join(get_pixmap_dir(), "star-solid.svg"), 15, 15) self.set_orientation(Gtk.Orientation.VERTICAL) builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "effectslibrary.ui")) builder.connect_signals(self) toolbar = builder.get_object("effectslibrary_toolbar") toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_INLINE_TOOLBAR) self.search_entry = builder.get_object("search_entry") self.fav_view_toggle = builder.get_object("favourites_toggle") self.fav_view_toggle.set_image( Gtk.Image.new_from_pixbuf(self._star_icon_solid)) self.main_view = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.category_view = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) # Used for showing search results and favourites self.search_view = Gtk.ListBox(activate_on_single_click=False) self.search_view.connect("row-activated", self.effects_listbox_row_activated_cb) placeholder_text = Gtk.Label(_("No effects")) placeholder_text.props.visible = True self.search_view.set_placeholder(placeholder_text) self.main_view.pack_start(self.category_view, True, True, 0) self.main_view.pack_start(self.search_view, True, True, 0) scrollwin = Gtk.ScrolledWindow() scrollwin.props.hscrollbar_policy = Gtk.PolicyType.NEVER scrollwin.props.vscrollbar_policy = Gtk.PolicyType.AUTOMATIC scrollwin.add(self.main_view) self.pack_start(toolbar, False, False, 0) self.pack_start(scrollwin, True, True, 0) # Delay the loading of the available effects so the application # starts faster. GLib.idle_add(self._load_available_effects_cb) scrollwin.show_all() toolbar.show_all() self.search_view.hide()
def setup_ui(self): """Sets up the UI.""" builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "greeter.ui")) logo = builder.get_object("logo") icon_theme = Gtk.IconTheme.get_default() pixbuf = icon_theme.load_icon("org.pitivi.Pitivi", 256, Gtk.IconLookupFlags.FORCE_SIZE) logo.set_from_pixbuf(pixbuf) self.toplevel_widget = builder.get_object("toplevel_vbox") self.toplevel_widget.drag_dest_set(Gtk.DestDefaults.ALL, [URI_TARGET_ENTRY], Gdk.DragAction.COPY) self.toplevel_widget.connect("drag-data-received", self.__drag_data_received_cb) self.__topvbox = builder.get_object("topvbox") self.__welcome_vbox = builder.get_object("welcome_vbox") self.__recent_projects_vbox = builder.get_object( "recent_projects_vbox") self.__recent_projects_labelbox = builder.get_object( "recent_projects_labelbox") self.__search_entry = builder.get_object("search_entry") self.__search_entry.connect("search-changed", self.__search_changed_cb) self.__recent_projects_listbox = builder.get_object( "recent_projects_listbox") self.__recent_projects_listbox.set_selection_mode( Gtk.SelectionMode.NONE) self.__recent_projects_listbox.connect( "row_activated", self.__projects_row_activated_cb) self.__recent_projects_listbox.connect("button-press-event", self.__projects_button_press_cb) self.__infobar = builder.get_object("infobar") fix_infobar(self.__infobar) self.__infobar.hide() self.__infobar.connect("response", self.__infobar_response_cb) self.__actionbar = builder.get_object("actionbar") self.__remove_projects_button = builder.get_object( "remove_projects_button") self.__remove_projects_button.get_style_context().add_class( "destructive-action") self.__remove_projects_button.connect( "clicked", self.__remove_projects_clicked_cb) self.__setup_css() self.headerbar = self.__create_headerbar() self._create_actions()
def __create_headerbar(self): headerbar = Gtk.HeaderBar() headerbar.set_show_close_button(True) back_button = Gtk.Button.new_from_icon_name( "go-previous-symbolic", Gtk.IconSize.SMALL_TOOLBAR) back_button.set_always_show_image(True) back_button.set_tooltip_text(_("Close project")) back_button.connect("clicked", self.__close_project_cb) back_button.set_margin_right(4 * PADDING) headerbar.pack_start(back_button) undo_button = Gtk.Button.new_from_icon_name( "edit-undo-symbolic", Gtk.IconSize.SMALL_TOOLBAR) undo_button.set_always_show_image(True) undo_button.set_label(_("Undo")) undo_button.set_action_name("app.undo") undo_button.set_use_underline(True) redo_button = Gtk.Button.new_from_icon_name( "edit-redo-symbolic", Gtk.IconSize.SMALL_TOOLBAR) redo_button.set_always_show_image(True) redo_button.set_action_name("app.redo") redo_button.set_use_underline(True) self.save_button = Gtk.Button.new_with_label(_("Save")) self.save_button.set_focus_on_click(False) self.render_button = Gtk.Button.new_from_icon_name( "system-run-symbolic", Gtk.IconSize.SMALL_TOOLBAR) self.render_button.set_always_show_image(True) self.render_button.set_label(_("Render")) self.render_button.set_tooltip_text( _("Export your project as a finished movie")) self.render_button.set_sensitive(False) # The only one we have to set. self.render_button.connect("clicked", self._renderCb) undo_redo_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=0) undo_redo_box.get_style_context().add_class("linked") undo_redo_box.pack_start(undo_button, expand=False, fill=False, padding=0) undo_redo_box.pack_start(redo_button, expand=False, fill=False, padding=0) headerbar.pack_start(undo_redo_box) self.builder.add_from_file( os.path.join(get_ui_dir(), "mainmenubutton.ui")) self.menu_button = self.builder.get_object("menubutton") headerbar.pack_end(self.menu_button) headerbar.pack_end(self.save_button) headerbar.pack_end(self.render_button) headerbar.show_all() return headerbar
def __init__(self, app): self.app = app self.builder = gtk.Builder() self.builder.add_from_file(os.path.join(get_ui_dir(), "depsmanager.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("window1") # FIXME: autodetect if we can actually use PackageKit's "InstallResource" dbus # method, and if yes, show this button. self.builder.get_object("install_btn").hide() self.show()
def _create_ui(self): builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "titleeditor.ui")) builder.connect_signals(self) # Create UI self.add(builder.get_object("box1")) self.editing_box = builder.get_object("base_table") self.textarea = builder.get_object("textview") self.textbuffer = self.textarea.props.buffer self.textbuffer.connect("changed", self._text_changed_cb) self.font_button = builder.get_object("fontbutton1") self.foreground_color_button = builder.get_object("fore_text_color") self.background_color_button = builder.get_object("back_color") self.color_picker_foreground_widget = ColorPickerButton() self.color_picker_foreground_widget.show() self.color_picker_foreground = builder.get_object( "color_picker_foreground") self.color_picker_foreground.add(self.color_picker_foreground_widget) self.color_picker_foreground_widget.connect( "value-changed", self._color_picker_value_changed_cb, self.foreground_color_button, "color") self.color_picker_background_widget = ColorPickerButton() self.color_picker_background_widget.show() self.background_color_picker = builder.get_object( "color_picker_background") self.background_color_picker.add(self.color_picker_background_widget) self.color_picker_background_widget.connect( "value-changed", self._color_picker_value_changed_cb, self.background_color_button, "foreground-color") self.valignment_combo = builder.get_object("valignment") self.halignment_combo = builder.get_object("halignment") self.x_absolute_spin = builder.get_object("x-absolute") self.y_absolute_spin = builder.get_object("y-absolute") for value_id, text in (("absolute", _("Absolute")), ("top", _("Top")), ("center", _("Center")), ("bottom", _("Bottom")), ("baseline", _("Baseline"))): self.valignment_combo.append(value_id, text) for value_id, text in (("absolute", _("Absolute")), ("left", _("Left")), ("center", _("Center")), ("right", _("Right"))): self.halignment_combo.append(value_id, text) self.show_all()
def __init__(self, title, headline): Loggable.__init__(self) self.builder = gtk.Builder() self.builder.add_from_file(os.path.join(get_ui_dir(), "filelisterrordialog.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("filelisterrordialog") self.window.set_modal(False) self.window.set_title(title) self.builder.get_object("headline").set_text(headline) self.errorvbox = self.builder.get_object("errorvbox")
def __create_menu(): builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "mainmenubutton.ui")) menu_button = builder.get_object("menubutton") # Menu options we want to display. visible_options = ["menu_shortcuts", "menu_help", "menu_about"] for widget in builder.get_object("menu_box").get_children(): if Gtk.Buildable.get_name(widget) not in visible_options: widget.hide() else: visible_options.remove(Gtk.Buildable.get_name(widget)) assert not visible_options return menu_button
def _createUi(self): builder = gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "preferences.ui")) builder.connect_signals(self) # widgets we'll need self.dialog = builder.get_object("dialog1") self.model = builder.get_object("liststore1") self.treeview = builder.get_object("treeview1") self.contents = builder.get_object("box1") self.revert_button = builder.get_object("revertButton") self.factory_settings = builder.get_object("resetButton") self.restart_warning = builder.get_object("restartWarning")
def _createUi(self): builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "preferences.ui")) builder.connect_signals(self) # widgets we'll need self.dialog = builder.get_object("dialog1") self.model = builder.get_object("liststore1") self.treeview = builder.get_object("treeview1") self.contents = builder.get_object("box1") self.revert_button = builder.get_object("revertButton") self.factory_settings = builder.get_object("resetButton") self.restart_warning = builder.get_object("restartWarning")
def __init__(self, title, headline): Loggable.__init__(self) self.builder = gtk.Builder() self.builder.add_from_file( os.path.join(get_ui_dir(), "filelisterrordialog.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("filelisterrordialog") self.window.set_modal(False) self.window.set_title(title) self.builder.get_object("headline").set_text(headline) self.errorvbox = self.builder.get_object("errorvbox")
def __create_menu(): builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "mainmenubutton.ui")) menu_button = builder.get_object("menubutton") # Menu options we want to display. visible_options = ["menu_shortcuts", "menu_help", "menu_about"] for widget in builder.get_object("menu").get_children(): if Gtk.Buildable.get_name(widget) not in visible_options: widget.hide() else: visible_options.remove(Gtk.Buildable.get_name(widget)) assert not visible_options return menu_button
def _createUi(self): builder = Gtk.Builder() builder.add_from_file( os.path.join(configure.get_ui_dir(), "renderingdialog.ui")) builder.connect_signals(self) self.window = builder.get_object("render-dialog") self.video_output_checkbutton = builder.get_object( "video_output_checkbutton") self.audio_output_checkbutton = builder.get_object( "audio_output_checkbutton") self.render_button = builder.get_object("render_button") self.video_settings_button = builder.get_object( "video_settings_button") self.audio_settings_button = builder.get_object( "audio_settings_button") self.frame_rate_combo = builder.get_object("frame_rate_combo") self.frame_rate_combo.set_model(frame_rates) self.scale_spinbutton = builder.get_object("scale_spinbutton") self.channels_combo = builder.get_object("channels_combo") self.channels_combo.set_model(audio_channels) self.sample_rate_combo = builder.get_object("sample_rate_combo") self.muxer_combo = builder.get_object("muxercombobox") self.audio_encoder_combo = builder.get_object("audio_encoder_combo") self.video_encoder_combo = builder.get_object("video_encoder_combo") self.filebutton = builder.get_object("filebutton") self.fileentry = builder.get_object("fileentry") self.resolution_label = builder.get_object("resolution_label") self.presets_combo = builder.get_object("presets_combo") self.preset_menubutton = builder.get_object("preset_menubutton") self.video_output_checkbutton.props.active = self.project.video_profile.is_enabled( ) self.audio_output_checkbutton.props.active = self.project.audio_profile.is_enabled( ) self.__automatically_use_proxies = builder.get_object( "automatically_use_proxies") self.__always_use_proxies = builder.get_object("always_use_proxies") self.__always_use_proxies.props.group = self.__automatically_use_proxies self.__never_use_proxies = builder.get_object("never_use_proxies") self.__never_use_proxies.props.group = self.__automatically_use_proxies self.render_presets.setupUi(self.presets_combo, self.preset_menubutton) icon = os.path.join(configure.get_pixmap_dir(), "pitivi-render-16.png") self.window.set_icon_from_file(icon) self.window.set_transient_for(self.app.gui)
def __init__(self, app): self.builder = Gtk.Builder() self.builder.add_from_file(os.path.join(configure.get_ui_dir(), "alignmentprogress.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("align-progress") self.progressbar = self.builder.get_object("progressbar") # Parent this dialog with mainwindow # set_transient_for allows this dialog to properly # minimize together with the mainwindow. This method is # taken from RenderingProgressDialog. In both cases, it appears # to work correctly, although there is a known bug for Gnome 3 in # RenderingProgressDialog (bug #652917) self.window.set_transient_for(app.gui)
def __init__(self, app): self.app = app self.builder = Gtk.Builder() self.builder.add_from_file(os.path.join(get_ui_dir(), "depsmanager.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("window1") self.window.set_transient_for(self.app.gui) self.window.set_modal(True) # FIXME: autodetect if we can actually use PackageKit's "InstallResource" dbus # method, and if yes, show this button. self.builder.get_object("install_btn").hide() self._setDepsLabel() self.show()
def __init__(self, app): self.builder = Gtk.Builder() self.builder.add_from_file( os.path.join(configure.get_ui_dir(), "alignmentprogress.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("align-progress") self.progressbar = self.builder.get_object("progressbar") # Parent this dialog with mainwindow # set_transient_for allows this dialog to properly # minimize together with the mainwindow. This method is # taken from RenderingProgressDialog. In both cases, it appears # to work correctly, although there is a known bug for Gnome 3 in # RenderingProgressDialog (bug #652917) self.window.set_transient_for(app.gui)
def _createUi(self): builder = Gtk.Builder() builder.add_from_file( os.path.join(configure.get_ui_dir(), "renderingdialog.ui")) builder.connect_signals(self) self.window = builder.get_object("render-dialog") self.video_output_checkbutton = builder.get_object( "video_output_checkbutton") self.audio_output_checkbutton = builder.get_object( "audio_output_checkbutton") self.render_button = builder.get_object("render_button") self.video_settings_button = builder.get_object( "video_settings_button") self.audio_settings_button = builder.get_object( "audio_settings_button") self.frame_rate_combo = builder.get_object("frame_rate_combo") self.frame_rate_combo.set_model(frame_rates) self.scale_spinbutton = builder.get_object("scale_spinbutton") self.channels_combo = builder.get_object("channels_combo") self.channels_combo.set_model(audio_channels) self.sample_rate_combo = builder.get_object("sample_rate_combo") self.muxer_combo = builder.get_object("muxercombobox") self.audio_encoder_combo = builder.get_object("audio_encoder_combo") self.video_encoder_combo = builder.get_object("video_encoder_combo") self.filebutton = builder.get_object("filebutton") self.fileentry = builder.get_object("fileentry") self.resolution_label = builder.get_object("resolution_label") self.presets_combo = builder.get_object("presets_combo") self.preset_menubutton = builder.get_object("preset_menubutton") self.video_output_checkbutton.props.active = self.project.video_profile.is_enabled() self.audio_output_checkbutton.props.active = self.project.audio_profile.is_enabled() self.__automatically_use_proxies = builder.get_object( "automatically_use_proxies") self.__always_use_proxies = builder.get_object("always_use_proxies") self.__always_use_proxies.props.group = self.__automatically_use_proxies self.__never_use_proxies = builder.get_object("never_use_proxies") self.__never_use_proxies.props.group = self.__automatically_use_proxies self.render_presets.setupUi(self.presets_combo, self.preset_menubutton) icon = os.path.join(configure.get_pixmap_dir(), "pitivi-render-16.png") self.window.set_icon_from_file(icon) self.window.set_transient_for(self.app.gui)
def __init__(self, app): self.app = app self.builder = gtk.Builder() self.builder.add_from_file(os.path.join(get_ui_dir(), "startupwizard.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("window1") self.window.connect("key-press-event", self._keypressCb) chooser = self.builder.get_object("recentchooser2") # FIXME: gtk creates a combo box with only one item, but there is no # simple way to hide it. filtre = gtk.RecentFilter() filtre.set_name("Projects") filtre.add_pattern("*.xptv") chooser.add_filter(filtre)
def _create_ui(self): self.builder = Gtk.Builder() self.builder.add_from_file(os.path.join(get_ui_dir(), "clipcolor.ui")) self.builder.connect_signals(self) box = self.builder.get_object("color_box") self.add(box) self.color_button = self.builder.get_object("color_button") self.color_picker_button = ColorPickerButton() box.add(self.color_picker_button) self.color_picker_button.connect("value-changed", self._color_picker_value_changed_cb) self.show_all()
def __init__(self, elementfactory, properties, parent_window=None): Loggable.__init__(self) self.debug("factory: %s, properties: %s", elementfactory, properties) self.factory = elementfactory self.element = self.factory.create("elementsettings") if not self.element: self.warning("Couldn't create element from factory %s", self.factory) self.properties = properties self.builder = Gtk.Builder() self.builder.add_from_file( os.path.join(get_ui_dir(), "elementsettingsdialog.ui")) self.builder.connect_signals(self) self.ok_btn = self.builder.get_object("okbutton1") self.window = self.builder.get_object("dialog1") self.elementsettings = GstElementSettingsWidget(controllable=False) self.builder.get_object("viewport1").add(self.elementsettings) # set title and frame label self.window.set_title( _("Properties for %s") % self.factory.get_longname()) self.elementsettings.setElement(self.element, self.properties) # Try to avoid scrolling, whenever possible. screen_height = self.window.get_screen().get_height() contents_height = self.elementsettings.get_preferred_size()[0].height maximum_contents_height = max(500, 0.7 * screen_height) if contents_height < maximum_contents_height: # The height of the content is small enough, disable the # scrollbars. default_height = -1 scrolledwindow = self.builder.get_object("scrolledwindow1") scrolledwindow.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.NEVER) scrolledwindow.set_shadow_type(Gtk.ShadowType.NONE) else: # If we need to scroll, set a reasonable height for the window. default_height = 600 self.window.set_default_size(400, default_height) if parent_window: self.window.set_transient_for(parent_window) self.window.show()
def _createUI(self): builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "titleeditor.ui")) builder.connect_signals(self) self.widget = builder.get_object("box1") # To be used by tabsmanager self.infobar = builder.get_object("infobar") fix_infobar(self.infobar) self.editing_box = builder.get_object("base_table") self.textarea = builder.get_object("textview") self.textbuffer = self.textarea.props.buffer self.textbuffer.connect("changed", self._textChangedCb) self.font_button = builder.get_object("fontbutton1") self.foreground_color_button = builder.get_object("fore_text_color") self.background_color_button = builder.get_object("back_color") self.color_picker_foreground_widget = ColorPickerButton() self.color_picker_foreground_widget.show() self.color_picker_foreground = builder.get_object("color_picker_foreground") self.color_picker_foreground.add(self.color_picker_foreground_widget) self.color_picker_foreground_widget.connect("value-changed", self._color_picker_value_changed_cb, self.foreground_color_button, "color") self.color_picker_background_widget = ColorPickerButton() self.color_picker_background_widget.show() self.background_color_picker = builder.get_object("color_picker_background") self.background_color_picker.add(self.color_picker_background_widget) self.color_picker_background_widget.connect("value-changed", self._color_picker_value_changed_cb, self.background_color_button, "foreground-color") settings = ["valignment", "halignment", "x-absolute", "y-absolute"] for setting in settings: self.settings[setting] = builder.get_object(setting) for n, en in list({_("Absolute"): "absolute", _("Top"): "top", _("Center"): "center", _("Bottom"): "bottom", _("Baseline"): "baseline"}.items()): self.settings["valignment"].append(en, n) for n, en in list({_("Absolute"): "absolute", _("Left"): "left", _("Center"): "center", _("Right"): "right"}.items()): self.settings["halignment"].append(en, n)
def __init__(self, elementfactory, properties, parent_window=None): Loggable.__init__(self) self.debug("factory: %s, properties: %s", elementfactory, properties) self.factory = elementfactory self.element = self.factory.create("elementsettings") if not self.element: self.warning( "Couldn't create element from factory %s", self.factory) self.properties = properties self.builder = Gtk.Builder() self.builder.add_from_file( os.path.join(get_ui_dir(), "elementsettingsdialog.ui")) self.builder.connect_signals(self) self.ok_btn = self.builder.get_object("okbutton1") self.window = self.builder.get_object("dialog1") self.elementsettings = GstElementSettingsWidget(controllable=False) self.builder.get_object("viewport1").add(self.elementsettings) # set title and frame label self.window.set_title( _("Properties for %s") % self.factory.get_longname()) self.elementsettings.setElement(self.element, self.properties) # Try to avoid scrolling, whenever possible. screen_height = self.window.get_screen().get_height() contents_height = self.elementsettings.get_preferred_size()[0].height maximum_contents_height = max(500, 0.7 * screen_height) if contents_height < maximum_contents_height: # The height of the content is small enough, disable the # scrollbars. default_height = -1 scrolledwindow = self.builder.get_object("scrolledwindow1") scrolledwindow.set_policy( Gtk.PolicyType.NEVER, Gtk.PolicyType.NEVER) scrolledwindow.set_shadow_type(Gtk.ShadowType.NONE) else: # If we need to scroll, set a reasonable height for the window. default_height = 600 self.window.set_default_size(400, default_height) if parent_window: self.window.set_transient_for(parent_window) self.window.show()
def __init__(self, app, action_log): Gtk.Expander.__init__(self) self.action_log = action_log self.app = app self._timeline = None self._selected_clip = None self.spin_buttons = {} self.default_values = {} self.set_label(_("Transformation")) self.builder = Gtk.Builder() self.builder.add_from_file(os.path.join(get_ui_dir(), "cliptransformation.ui")) self.add(self.builder.get_object("transform_box")) self.show_all() self._initButtons() self.connect("notify::expanded", self._expandedCb) self.hide()
def __init__(self, app, project, pipeline=None): Loggable.__init__(self) self.app = app self.builder = gtk.Builder() self.builder.add_from_file(os.path.join(configure.get_ui_dir(), "encodingdialog.ui")) self._setProperties() self.builder.connect_signals(self) # UI widgets icon = os.path.join(configure.get_pixmap_dir(), "pitivi-render-16.png") self.window.set_icon_from_file(icon) # FIXME: re-enable this widget when bug #637078 is implemented self.selected_only_button.destroy() # The Render dialog and the Project Settings dialog have some # common settings, for example the audio sample rate. # When these common settings are changed in the Render dialog, # we don't want them to be saved, so we create a copy of the project's # settings to be used by the Render dialog for rendering. render_settings = project.getSettings().copy() # Note: render_settings will end up as self.settings. Renderer.__init__(self, project, pipeline=pipeline, settings=render_settings) # Directory and Filename self.filebutton.set_current_folder(self.app.settings.lastExportFolder) self.updateFilename(self.project.name) # We store these so that when the user tries various container formats, # (AKA muxers) we select these a/v encoders, if they are compatible with # the current container format. self.preferred_vencoder = self.settings.vencoder self.preferred_aencoder = self.settings.aencoder self._initializeComboboxModels() self._displaySettings() self._displayRenderSettings() self.window.connect("delete-event", self._deleteEventCb) self.settings.connect("settings-changed", self._settingsChanged)
def __init__(self, app): self.app = app self.builder = Gtk.Builder() self.builder.add_from_file( os.path.join(get_ui_dir(), "startupwizard.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("window1") # The line below is supremely important, it will NOT work if set # only by the GtkBuilder file. The DIALOG TypeHint allows proper # attachment (visually, behaviorally) to MainWindow, and # prevents other windows from showing on top too easily. self.window.set_type_hint(Gdk.WindowTypeHint.DIALOG) self.recent_chooser = self.builder.get_object("recentchooser2") # FIXME: gtk creates a combo box with only one item, but there is no # simple way to hide it. _filter = Gtk.RecentFilter() _filter.set_name(_("Projects")) for asset in GES.list_assets(GES.Formatter): _filter.add_pattern( '*.' + asset.get_meta(GES.META_FORMATTER_EXTENSION)) self.recent_chooser.add_filter(_filter) missing_button = self.builder.get_object("missing_deps_button") if not missing_soft_deps: missing_button.hide() project_manager = self.app.project_manager project_manager.connect("new-project-failed", self._projectFailedCb) project_manager.connect("new-project-loaded", self._projectLoadedCb) project_manager.connect("new-project-loading", self._projectLoadingCb) vbox = self.builder.get_object("topvbox") self.infobar = Gtk.InfoBar() vbox.pack_start(self.infobar, True, True, 0) if self.app.getLatest(): self._appVersionInfoReceivedCb(self.app, None) else: self.app.connect( "version-info-received", self._appVersionInfoReceivedCb)
def _createUi(self): builder = Gtk.Builder() builder.add_from_file( os.path.join(configure.get_ui_dir(), "renderingdialog.ui")) builder.connect_signals(self) self.window = builder.get_object("render-dialog") self.selected_only_button = builder.get_object("selected_only_button") self.video_output_checkbutton = builder.get_object( "video_output_checkbutton") self.audio_output_checkbutton = builder.get_object( "audio_output_checkbutton") self.render_button = builder.get_object("render_button") self.video_settings_button = builder.get_object( "video_settings_button") self.audio_settings_button = builder.get_object( "audio_settings_button") self.frame_rate_combo = builder.get_object("frame_rate_combo") self.scale_spinbutton = builder.get_object("scale_spinbutton") self.channels_combo = builder.get_object("channels_combo") self.sample_rate_combo = builder.get_object("sample_rate_combo") self.muxercombobox = builder.get_object("muxercombobox") self.audio_encoder_combo = builder.get_object("audio_encoder_combo") self.video_encoder_combo = builder.get_object("video_encoder_combo") self.filebutton = builder.get_object("filebutton") self.fileentry = builder.get_object("fileentry") self.resolution_label = builder.get_object("resolution_label") self.render_preset_treeview = builder.get_object( "render_preset_treeview") self.save_render_preset_button = builder.get_object( "save_render_preset_button") self.remove_render_preset_button = builder.get_object( "remove_render_preset_button") self.render_preset_infobar = builder.get_object( "render-preset-infobar") icon = os.path.join(configure.get_pixmap_dir(), "pitivi-render-16.png") self.window.set_icon_from_file(icon) self.window.set_transient_for(self.app.gui) # Set the shading style in the toolbar below presets presets_toolbar = builder.get_object("render_presets_toolbar") presets_toolbar.get_style_context().add_class( Gtk.STYLE_CLASS_INLINE_TOOLBAR)
def __init__(self, recent_project_item): Gtk.ListBoxRow.__init__(self) self.uri = recent_project_item.get_uri() self.name = os.path.splitext(recent_project_item.get_display_name())[0] builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "project_info.ui")) self.add(builder.get_object("project_info_tophbox")) self.select_button = builder.get_object("project_select_button") # Hide the select button as we only want to # show it during projects removal screen. self.select_button.hide() builder.get_object("project_name_label").set_text(self.name) builder.get_object("project_uri_label").set_text( beautify_project_path(recent_project_item.get_uri_display())) builder.get_object("project_last_updated_label").set_text( beautify_last_updated_timestamp(recent_project_item.get_modified()))
def __init__(self, app, action_log): Gtk.Expander.__init__(self) self.action_log = action_log self.app = app self._timeline = None self._selected_clip = None self.spin_buttons = {} self.default_values = {} self.set_label(_("Transformation")) self.builder = Gtk.Builder() self.builder.add_from_file( os.path.join(get_ui_dir(), "cliptransformation.ui")) self.add(self.builder.get_object("transform_box")) self.show_all() self._initButtons() self.connect('notify::expanded', self._expandedCb) self.hide()
def __init__(self, app, parent): self.app = app self.builder = Gtk.Builder() self.builder.add_from_file(os.path.join(configure.get_ui_dir(), "renderingprogress.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("render-progress") self.table1 = self.builder.get_object("table1") self.progressbar = self.builder.get_object("progressbar") self.play_pause_button = self.builder.get_object("play_pause_button") # Parent the dialog with mainwindow, since renderingdialog is hidden. # It allows this dialog to properly minimize together with mainwindow self.window.set_transient_for(self.app.gui) # UI widgets self.window.set_icon_from_file(configure.get_pixmap_dir() + "/pitivi-render-16.png") # TODO: show this widget for rendering statistics (bug 637079) self.table1.hide()
def __init__(self, app, parent_window=None): self.app = app self.builder = Gtk.Builder() self.builder.add_from_file(os.path.join(get_ui_dir(), "depsmanager.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("window1") self.window.set_modal(True) if parent_window: self.window.set_transient_for(parent_window) else: self.window.set_transient_for(self.app.gui) # Same hack as in the rendering progress dialog, # to prevent GTK3 from eating a crazy amount of vertical space: self.window.set_resizable(False) # FIXME: autodetect if we can actually use PackageKit's # "InstallResource" dbus method, and if yes, show this button. self.builder.get_object("install_btn").hide() self._setDepsLabel() self.show()
def __init__(self, elementfactory, properties={}): Loggable.__init__(self) self.debug("factory:%s, properties:%s", elementfactory, properties) self.builder = gtk.Builder() self.builder.add_from_file(os.path.join(get_ui_dir(), "elementsettingsdialog.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("dialog1") self.elementsettings = GstElementSettingsWidget() self.builder.get_object("viewport1").add(self.elementsettings) self.factory = elementfactory self.element = self.factory.create("elementsettings") if not self.element: self.warning("Couldn't create element from factory %s", self.factory) self.properties = properties self._fillWindow() self.window.show()
def __init__(self, app, action_log): gtk.Expander.__init__(self) self.action_log = action_log self.app = app self._timeline = None self._current_tl_obj = None self.spin_buttons = {} self.default_values = {} self.set_label(_("Transformation")) self.set_sensitive(False) if not "Frei0r" in soft_deps: self.builder = gtk.Builder() self.builder.add_from_file(os.path.join(get_ui_dir(), "cliptransformation.ui")) self.add(self.builder.get_object("transform_box")) self.show_all() self._initButtons() self.connect('notify::expanded', self._expandedCb)
def setup_ui(self): """Sets up the UI.""" builder = Gtk.Builder() builder.add_from_file(os.path.join(get_ui_dir(), "greeter.ui")) self.toplevel_widget = builder.get_object("scrolled_window") self.__recent_projects_listbox = builder.get_object("recent_projects_listbox") self.__recent_projects_listbox.set_selection_mode(Gtk.SelectionMode.NONE) self.__recent_projects_listbox.connect( "row_activated", self.__projects_row_activated_cb) self.__infobar = builder.get_object("infobar") fix_infobar(self.__infobar) self.__infobar.hide() self.__infobar.connect("response", self.__infobar_response_cb) self.__setup_css() self.headerbar = self.__create_headerbar() self.__set_keyboard_shortcuts()
def __init__(self, app): self.app = app self.builder = Gtk.Builder() self.builder.add_from_file( os.path.join(get_ui_dir(), "startupwizard.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("window1") # The line below is supremely important, it will NOT work if set # only by the GtkBuilder file. The DIALOG TypeHint allows proper # attachment (visually, behaviorally) to MainWindow, and # prevents other windows from showing on top too easily. self.window.set_type_hint(Gdk.WindowTypeHint.DIALOG) self.recent_chooser = self.builder.get_object("recentchooser2") # FIXME: gtk creates a combo box with only one item, but there is no # simple way to hide it. _filter = Gtk.RecentFilter() _filter.set_name(_("Projects")) for asset in GES.list_assets(GES.Formatter): _filter.add_pattern('*.' + asset.get_meta(GES.META_FORMATTER_EXTENSION)) self.recent_chooser.add_filter(_filter) missing_button = self.builder.get_object("missing_deps_button") if not missing_soft_deps: missing_button.hide() vbox = self.builder.get_object("topvbox") self.infobar = Gtk.InfoBar() fix_infobar(self.infobar) vbox.pack_start(self.infobar, True, True, 0) if self.app.getLatest(): self._appVersionInfoReceivedCb(self.app, None) else: self.app.connect("version-info-received", self._appVersionInfoReceivedCb)
def __init__(self, app): Gtk.Expander.__init__(self) Loggable.__init__(self) self.app = app self._project = None self._selection = None self.source = None self._selected_clip = None self.spin_buttons = {} self.set_label(_("Transformation")) self.builder = Gtk.Builder() self.builder.add_from_file( os.path.join(get_ui_dir(), "cliptransformation.ui")) self.add(self.builder.get_object("transform_box")) self.show_all() self._initButtons() self.hide() self.app.project_manager.connect_after("new-project-loaded", self._newProjectLoadedCb)
def __init__(self, app, parent): self.app = app self.builder = gtk.Builder() self.builder.add_from_file( os.path.join(configure.get_ui_dir(), "encodingprogress.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("render-progress") self.table1 = self.builder.get_object("table1") self.progressbar = self.builder.get_object("progressbar") self.play_pause_button = self.builder.get_object("play_pause_button") # Parent the dialog with mainwindow, since encodingdialog is hidden. # It allows this dialog to properly minimize together with mainwindow self.window.set_transient_for(self.app) # UI widgets self.window.set_icon_from_file(configure.get_pixmap_dir() + "/pitivi-render-16.png") # FIXME: re-enable these widgets when bugs #650710 and 637079 are fixed self.play_pause_button.hide() self.table1.hide()
def __init__(self, app): self.app = app self.builder = Gtk.Builder() self.builder.add_from_file( os.path.join(get_ui_dir(), "startupwizard.ui")) self.builder.connect_signals(self) self.window = self.builder.get_object("window1") self.recent_chooser = self.builder.get_object("recentchooser2") # FIXME: gtk creates a combo box with only one item, but there is no # simple way to hide it. filter = Gtk.RecentFilter() filter.set_name(_("Projects")) for asset in GES.list_assets(GES.Formatter): filter.add_pattern('*.' + asset.get_meta(GES.META_FORMATTER_EXTENSION)) self.recent_chooser.add_filter(filter) if not missing_soft_deps: self.builder.get_object("missing_deps_button").hide() self.app.projectManager.connect("new-project-failed", self._projectFailedCb) self.app.projectManager.connect("new-project-loaded", self._projectLoadedCb) self.app.projectManager.connect("new-project-loading", self._projectLoadingCb) vbox = self.builder.get_object("topvbox") self.infobar = Gtk.InfoBar() vbox.pack_start(self.infobar, True, True, 0) if self.app.version_information: self._appVersionInfoReceivedCb(None, self.app.version_information) else: self.app.connect("version-info-received", self._appVersionInfoReceivedCb)