[pitivi] elements: Show clip properties tab when a clip is selected



commit 10400be2134b49d6c2b154da646a8e9f050f4f9d
Author: Thibault Saunier <tsaunier gnome org>
Date:   Sat Jun 13 17:19:30 2015 +0200

    elements: Show clip properties tab when a clip is selected

 pitivi/mainwindow.py        |    2 +-
 pitivi/timeline/elements.py |    8 ++++++++
 pitivi/utils/timeline.py    |    2 ++
 pitivi/utils/widgets.py     |    4 ----
 4 files changed, 11 insertions(+), 5 deletions(-)
---
diff --git a/pitivi/mainwindow.py b/pitivi/mainwindow.py
index 8fb3471..fd2323f 100644
--- a/pitivi/mainwindow.py
+++ b/pitivi/mainwindow.py
@@ -409,7 +409,7 @@ class PitiviMainWindow(Gtk.ApplicationWindow, Loggable):
         """
         if isinstance(bElement, GES.TitleSource):
             page = 2
-        elif isinstance(bElement, GES.Source):
+        elif isinstance(bElement, GES.Source) or isinstance(bElement, GES.SourceClip):
             # This covers: VideoUriSource, ImageSource, AudioUriSource.
             page = 0
         elif isinstance(bElement, GES.Transition):
diff --git a/pitivi/timeline/elements.py b/pitivi/timeline/elements.py
index e1fccce..deb90e4 100644
--- a/pitivi/timeline/elements.py
+++ b/pitivi/timeline/elements.py
@@ -815,6 +815,7 @@ class UriClip(SourceClip):
         super(UriClip, self).__init__(layer, bClip)
 
         self.set_tooltip_markup(misc.filename_from_uri(bClip.get_uri()))
+        self.bClip.selected.connect("selected-changed", self._selectedChangedCb)
 
     def _childAdded(self, clip, child):
         super(UriClip, self)._childAdded(clip, child)
@@ -831,6 +832,13 @@ class UriClip(SourceClip):
                 self._elements_container.pack_start(self._videoSource, True, False, 0)
                 self._videoSource.set_visible(True)
 
+    def _selectedChangedCb(self, unused_child, selected):
+        if selected:
+            self.timeline.parent.gui.switchContextTab(self.bClip)
+            self.selected = True
+        else:
+            self.selected = False
+
 
 class TitleClip(SourceClip):
     __gtype_name__ = "PitiviTitleClip"
diff --git a/pitivi/utils/timeline.py b/pitivi/utils/timeline.py
index 9b3c5ef..6133b73 100644
--- a/pitivi/utils/timeline.py
+++ b/pitivi/utils/timeline.py
@@ -146,12 +146,14 @@ class Selection(GObject.Object, Loggable):
         self.selected = selection
 
         for obj in old_selection - self.selected:
+            obj.selected.selected = False
             for element in obj.get_children(False):
                 ui.unset_children_state_recurse(obj.ui, Gtk.StateFlags.SELECTED)
                 if not isinstance(element, GES.BaseEffect) and not isinstance(element, GES.TextOverlay):
                     element.selected.selected = False
 
         for obj in self.selected - old_selection:
+            obj.selected.selected = True
             if not hasattr(obj, "ui") or not obj.ui:
                 continue
             ui.set_children_state_recurse(obj.ui, Gtk.StateFlags.SELECTED)
diff --git a/pitivi/utils/widgets.py b/pitivi/utils/widgets.py
index 9c96dac..3bd87c1 100644
--- a/pitivi/utils/widgets.py
+++ b/pitivi/utils/widgets.py
@@ -621,10 +621,6 @@ class GstElementSettingsWidget(Gtk.Box, Loggable):
             self.log("Effect has no parent (it has been removed?)")
             return
 
-        for track_element in parent.get_children(False):
-            if hasattr(track_element, "ui_element"):
-                track_element.ui_element.hideKeyframes()
-
     def setElement(self, element, properties={}, ignore=['name'],
                    default_btn=False, use_element_props=False):
         """


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]