[pitivi] widgets: Fix displaying unsupported effect props
- From: Thibault Saunier <tsaunier src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi] widgets: Fix displaying unsupported effect props
- Date: Thu, 17 Dec 2015 10:04:54 +0000 (UTC)
commit da7729d75e802c038ed91f35518e42fe1f499e7e
Author: Alexandru Băluț <alexandru balut gmail com>
Date: Thu Dec 3 14:39:14 2015 +0100
widgets: Fix displaying unsupported effect props
Fixes https://phabricator.freedesktop.org/T3262
Reviewed-by: Thibault Saunier <tsaunier gnome org>
Differential Revision: https://phabricator.freedesktop.org/D582
pitivi/utils/widgets.py | 40 +++++++++++++++++++++-------------------
1 files changed, 21 insertions(+), 19 deletions(-)
---
diff --git a/pitivi/utils/widgets.py b/pitivi/utils/widgets.py
index d2d28d6..5815747 100644
--- a/pitivi/utils/widgets.py
+++ b/pitivi/utils/widgets.py
@@ -82,6 +82,13 @@ class DefaultWidget(Gtk.Label):
def __init__(self, *unused, **unused_kwargs):
Gtk.Label.__init__(self, _("Implement Me"))
+ self.props.halign = Gtk.Align.START
+
+ def connectValueChanged(self, callback, *args):
+ pass
+
+ def setWidgetValue(self, value):
+ pass
def setWidgetToDefault(self):
pass
@@ -644,9 +651,8 @@ class GstElementSettingsWidget(Gtk.Box, Loggable):
self.properties.clear()
self.bindings = {}
self.keyframeToggleButtons = {}
- is_effect = False
- if isinstance(self.element, GES.Effect):
- is_effect = True
+ is_effect = isinstance(self.element, GES.Effect)
+ if is_effect:
props = [prop for prop in self.element.list_children_properties()
if prop.name not in self.ignore]
else:
@@ -694,9 +700,10 @@ class GstElementSettingsWidget(Gtk.Box, Loggable):
grid.attach(label, 0, y, 1, 1)
grid.attach(widget, 1, y, 1, 1)
- if (not isinstance(widget, ToggleWidget) and
- not isinstance(widget, ChoiceWidget) and
- self.isControllable):
+ controllable = self.isControllable and not isinstance(widget, DefaultWidget)
+ if (controllable and
+ not isinstance(widget, ToggleWidget) and
+ not isinstance(widget, ChoiceWidget)):
keyframe_toggle_button = self._getKeyframeToggleButton(prop)
self.keyframeToggleButtons[keyframe_toggle_button] = widget
grid.attach(keyframe_toggle_button, 3, y, 1, 1)
@@ -707,16 +714,13 @@ class GstElementSettingsWidget(Gtk.Box, Loggable):
self.properties[prop] = widget
# The "reset to default" button associated with this property
- if default_btn:
- widget.propName = prop.name.split("-")[0]
-
- if self.isControllable:
- # If this element is controlled, the value means nothing
- # anymore.
- binding = self.element.get_control_binding(prop.name)
- if binding:
- widget.set_sensitive(False)
- self.bindings[widget] = binding
+ if controllable and default_btn:
+ # If this element is controlled, the value means nothing
+ # anymore.
+ binding = self.element.get_control_binding(prop.name)
+ if binding:
+ widget.set_sensitive(False)
+ self.bindings[widget] = binding
button = self._getResetToDefaultValueButton(prop, widget)
grid.attach(button, 2, y, 1, 1)
self.buttons[button] = widget
@@ -807,8 +811,6 @@ class GstElementSettingsWidget(Gtk.Box, Loggable):
for prop, widget in self.properties.items():
if not prop.flags & GObject.PARAM_WRITABLE:
continue
- if isinstance(widget, DefaultWidget):
- continue
value = widget.getWidgetValue()
if value is not None and (value != prop.default_value or with_default):
d[prop.name] = value
@@ -844,7 +846,7 @@ class GstElementSettingsWidget(Gtk.Box, Loggable):
if value is None:
value = prop.default_value
- if value is not None and not isinstance(widget, DefaultWidget):
+ else:
widget.setWidgetValue(value)
return widget
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]