1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 import os
19 import gettext
20 import gtk
21 import gst
22 from flumotion.component.base.admin_gtk import BaseAdminGtk
23 from flumotion.component.base.baseadminnode import BaseAdminGtkNode
24
25 _ = gettext.gettext
26 (
27 COLUMN_TITLE,
28 COLUMN_DURATION,
29 COLUMN_OFFSET,
30 COLUMN_AUDIO,
31 COLUMN_VIDEO,
32 COLUMN_LOCATION,
33 ) = range(6)
34
35
37 sec = value / gst.SECOND
38 mins = sec / 60
39 sec = sec % 60
40 hours = mins / 60
41 mins = mins % 60
42 return "%02d:%02d:%02d" % (hours, mins, sec)
43
44
59
61 self.store = gtk.ListStore(str, str, str, str, str, str)
62 self.tree = self.wtree.get_widget("treeview-playlist")
63 self.tree.append_column(gtk.TreeViewColumn("Title",
64 gtk.CellRendererText(),
65 text=COLUMN_TITLE))
66 self.tree.append_column(gtk.TreeViewColumn("Duration",
67 gtk.CellRendererText(),
68 text=COLUMN_DURATION))
69 self.tree.append_column(gtk.TreeViewColumn("Offset",
70 gtk.CellRendererText(),
71 text=COLUMN_OFFSET))
72 self.tree.append_column(gtk.TreeViewColumn("Audio",
73 gtk.CellRendererText(),
74 text=COLUMN_AUDIO))
75 self.tree.append_column(gtk.TreeViewColumn("Video",
76 gtk.CellRendererText(),
77 text=COLUMN_VIDEO))
78 self.tree.append_column(gtk.TreeViewColumn("Location",
79 gtk.CellRendererText(),
80 text=COLUMN_LOCATION))
81 self.tree.set_model(self.store)
82
92
98
100 if key == "playlist":
101 self.store.clear()
102 for item in value:
103 self._append(item)
104
106 if key == "playlist":
107 self._append(value)
108
110 if key == "playlist":
111 self._remove(value)
112
113
122
123 GUIClass = PlaylistAdminGtk
124