[pitivi] Refactor project.py and render.py to have cleaner init methods
- From: Jean-François Fortin Tam <jfft src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi] Refactor project.py and render.py to have cleaner init methods
- Date: Mon, 12 Aug 2013 18:36:41 +0000 (UTC)
commit 4ac841d9c241fb1527a0080219dd7469cb491874
Author: Jean-François Fortin Tam <nekohayo gmail com>
Date: Fri Aug 9 20:16:28 2013 +0100
Refactor project.py and render.py to have cleaner init methods
pitivi/dialogs/prefs.py | 1 +
pitivi/mainwindow.py | 1 -
pitivi/project.py | 91 +++++++++++++++++++++++++---------------------
pitivi/render.py | 68 ++++++++++++++++++-----------------
4 files changed, 85 insertions(+), 76 deletions(-)
---
diff --git a/pitivi/dialogs/prefs.py b/pitivi/dialogs/prefs.py
index 2a1ee6b..cadf261 100644
--- a/pitivi/dialogs/prefs.py
+++ b/pitivi/dialogs/prefs.py
@@ -63,6 +63,7 @@ class PreferencesDialog():
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 run(self):
diff --git a/pitivi/mainwindow.py b/pitivi/mainwindow.py
index 2b42b31..ed7877b 100644
--- a/pitivi/mainwindow.py
+++ b/pitivi/mainwindow.py
@@ -815,7 +815,6 @@ class PitiviMainWindow(Gtk.Window, Loggable):
if not self.prefsdialog:
from pitivi.dialogs.prefs import PreferencesDialog
self.prefsdialog = PreferencesDialog(self.app)
- self.prefsdialog.dialog.set_transient_for(self)
self.prefsdialog.run()
def _gaplessmodeToggledCb(self, widget):
diff --git a/pitivi/project.py b/pitivi/project.py
index 2579a74..2c5f6b0 100644
--- a/pitivi/project.py
+++ b/pitivi/project.py
@@ -1005,13 +1005,60 @@ class ProjectSettingsDialog():
def __init__(self, parent_window, project):
self.project = project
+ self._createUi()
+ self.window.set_transient_for(parent_window)
+ self._setupUiConstraints()
+ self.updateUI()
+ self.createAudioNoPreset(self.audio_presets)
+ self.createVideoNoPreset(self.video_presets)
+ def _createUi(self):
+ """
+ Initialize the static parts of the UI and set up various shortcuts
+ """
self.builder = Gtk.Builder()
self.builder.add_from_file(os.path.join(get_ui_dir(), "projectsettings.ui"))
self.builder.connect_signals(self)
- self._setProperties() # Initialize a bunch of UI shortcut variables
- self.window.set_transient_for(parent_window)
+ getObj = self.builder.get_object
+ self.window = getObj("project-settings-dialog")
+ self.video_properties_table = getObj("video_properties_table")
+ self.video_properties_table = getObj("video_properties_table")
+ self.frame_rate_combo = getObj("frame_rate_combo")
+ self.dar_combo = getObj("dar_combo")
+ self.par_combo = getObj("par_combo")
+ self.channels_combo = getObj("channels_combo")
+ self.sample_rate_combo = getObj("sample_rate_combo")
+ self.year_spinbutton = getObj("year_spinbutton")
+ self.author_entry = getObj("author_entry")
+ self.width_spinbutton = getObj("width_spinbutton")
+ self.height_spinbutton = getObj("height_spinbutton")
+ self.save_audio_preset_button = getObj("save_audio_preset_button")
+ self.save_video_preset_button = getObj("save_video_preset_button")
+ self.audio_preset_treeview = getObj("audio_preset_treeview")
+ self.video_preset_treeview = getObj("video_preset_treeview")
+ self.select_par_radiobutton = getObj("select_par_radiobutton")
+ self.remove_audio_preset_button = getObj("remove_audio_preset_button")
+ self.remove_video_preset_button = getObj("remove_video_preset_button")
+ self.constrain_sar_button = getObj("constrain_sar_button")
+ self.select_dar_radiobutton = getObj("select_dar_radiobutton")
+ self.video_preset_infobar = getObj("video-preset-infobar")
+ self.audio_preset_infobar = getObj("audio-preset-infobar")
+ self.title_entry = getObj("title_entry")
+ self.author_entry = getObj("author_entry")
+ self.year_spinbutton = getObj("year_spinbutton")
+
+ # Set the shading style in the contextual toolbars below presets
+ video_presets_toolbar = getObj("video_presets_toolbar")
+ audio_presets_toolbar = getObj("audio_presets_toolbar")
+ video_presets_toolbar.get_style_context().add_class("inline-toolbar")
+ audio_presets_toolbar.get_style_context().add_class("inline-toolbar")
+
+ def _setupUiConstraints(self):
+ """
+ Create dynamic widgets and
+ set up the relationships between various widgets
+ """
# add custom display aspect ratio widget
self.dar_fraction_widget = FractionWidget()
self.video_properties_table.attach(self.dar_fraction_widget,
@@ -1152,17 +1199,6 @@ class ProjectSettingsDialog():
self.wg.addEdge(self.channels_combo, self.save_audio_preset_button)
self.wg.addEdge(self.sample_rate_combo, self.save_audio_preset_button)
- # Set the shading style in the contextual toolbars below presets
- video_presets_toolbar = self.builder.get_object("video_presets_toolbar")
- audio_presets_toolbar = self.builder.get_object("audio_presets_toolbar")
- video_presets_toolbar.get_style_context().add_class("inline-toolbar")
- audio_presets_toolbar.get_style_context().add_class("inline-toolbar")
-
- self.updateUI()
-
- self.createAudioNoPreset(self.audio_presets)
- self.createVideoNoPreset(self.video_presets)
-
def bindPar(self, mgr):
def updatePar(value):
@@ -1289,35 +1325,6 @@ class ProjectSettingsDialog():
height = int(self.height_spinbutton.get_value())
return Gst.Fraction(width, height)
- def _setProperties(self):
- getObj = self.builder.get_object
- self.window = getObj("project-settings-dialog")
- self.video_properties_table = getObj("video_properties_table")
- self.video_properties_table = getObj("video_properties_table")
- self.frame_rate_combo = getObj("frame_rate_combo")
- self.dar_combo = getObj("dar_combo")
- self.par_combo = getObj("par_combo")
- self.channels_combo = getObj("channels_combo")
- self.sample_rate_combo = getObj("sample_rate_combo")
- self.year_spinbutton = getObj("year_spinbutton")
- self.author_entry = getObj("author_entry")
- self.width_spinbutton = getObj("width_spinbutton")
- self.height_spinbutton = getObj("height_spinbutton")
- self.save_audio_preset_button = getObj("save_audio_preset_button")
- self.save_video_preset_button = getObj("save_video_preset_button")
- self.audio_preset_treeview = getObj("audio_preset_treeview")
- self.video_preset_treeview = getObj("video_preset_treeview")
- self.select_par_radiobutton = getObj("select_par_radiobutton")
- self.remove_audio_preset_button = getObj("remove_audio_preset_button")
- self.remove_video_preset_button = getObj("remove_video_preset_button")
- self.constrain_sar_button = getObj("constrain_sar_button")
- self.select_dar_radiobutton = getObj("select_dar_radiobutton")
- self.video_preset_infobar = getObj("video-preset-infobar")
- self.audio_preset_infobar = getObj("audio-preset-infobar")
- self.title_entry = getObj("title_entry")
- self.author_entry = getObj("author_entry")
- self.year_spinbutton = getObj("year_spinbutton")
-
def _constrainSarButtonToggledCb(self, button):
if button.props.active:
self.sar = self.getSAR()
diff --git a/pitivi/render.py b/pitivi/render.py
index 80f5c39..e7a6b89 100644
--- a/pitivi/render.py
+++ b/pitivi/render.py
@@ -328,17 +328,7 @@ class RenderDialog(Loggable):
# {object: sigId}
self._gstSigId = {}
- self.builder = Gtk.Builder()
- self.builder.add_from_file(os.path.join(configure.get_ui_dir(), "renderingdialog.ui"))
- self.builder.connect_signals(self)
- self._setProperties() # Initialize a bunch of UI shortcut variables
- icon = os.path.join(configure.get_pixmap_dir(), "pitivi-render-16.png")
- self.window.set_icon_from_file(icon)
- self.window.set_transient_for(app.gui)
-
- # Set the shading style in the toolbar below presets
- presets_toolbar = self.builder.get_object("render_presets_toolbar")
- presets_toolbar.get_style_context().add_class("inline-toolbar")
+ self._createUi()
# FIXME: re-enable this widget when bug #637078 is implemented
self.selected_only_button.destroy()
@@ -627,28 +617,40 @@ class RenderDialog(Loggable):
update_preset_buttons_func()
self._hidePresetManagerError(mgr)
- def _setProperties(self):
- self.window = self.builder.get_object("render-dialog")
- self.selected_only_button = self.builder.get_object("selected_only_button")
- self.video_output_checkbutton = self.builder.get_object("video_output_checkbutton")
- self.audio_output_checkbutton = self.builder.get_object("audio_output_checkbutton")
- self.render_button = self.builder.get_object("render_button")
- self.video_settings_button = self.builder.get_object("video_settings_button")
- self.audio_settings_button = self.builder.get_object("audio_settings_button")
- self.frame_rate_combo = self.builder.get_object("frame_rate_combo")
- self.scale_spinbutton = self.builder.get_object("scale_spinbutton")
- self.channels_combo = self.builder.get_object("channels_combo")
- self.sample_rate_combo = self.builder.get_object("sample_rate_combo")
- self.muxercombobox = self.builder.get_object("muxercombobox")
- self.audio_encoder_combo = self.builder.get_object("audio_encoder_combo")
- self.video_encoder_combo = self.builder.get_object("video_encoder_combo")
- self.filebutton = self.builder.get_object("filebutton")
- self.fileentry = self.builder.get_object("fileentry")
- self.resolution_label = self.builder.get_object("resolution_label")
- self.render_preset_treeview = self.builder.get_object("render_preset_treeview")
- self.save_render_preset_button = self.builder.get_object("save_render_preset_button")
- self.remove_render_preset_button = self.builder.get_object("remove_render_preset_button")
- self.render_preset_infobar = self.builder.get_object("render-preset-infobar")
+ 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 _settingsChanged(self, project, key, value):
self.updateResolution()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]