Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/activity.py
diff options
context:
space:
mode:
Diffstat (limited to 'activity.py')
-rw-r--r--activity.py37
1 files changed, 34 insertions, 3 deletions
diff --git a/activity.py b/activity.py
index a450898..dc996ee 100644
--- a/activity.py
+++ b/activity.py
@@ -35,6 +35,7 @@ from sugar3.activity.widgets import ActivityToolbarButton
from sugar3.graphics.alert import ErrorAlert
from sugar3.graphics.alert import Alert
from sugar3.graphics.icon import Icon
+from sugar3.graphics.toolbutton import ToolButton
import gi
gi.require_version('Gtk', '3.0')
@@ -110,6 +111,8 @@ class JukeboxActivity(activity.Activity):
self._video_canvas = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL)
+ self._playlist_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
+
self.playlist_widget = PlayList()
self.playlist_widget.connect('play-index', self.__play_index_cb)
self.playlist_widget.connect('missing-tracks',
@@ -117,7 +120,29 @@ class JukeboxActivity(activity.Activity):
self.playlist_widget.set_size_request(
Gdk.Screen.width() * PLAYLIST_WIDTH_PROP, 0)
self.playlist_widget.show()
- self._video_canvas.pack_start(self.playlist_widget, False, True, 0)
+
+ self._playlist_box.pack_start(self.playlist_widget, expand=True,
+ fill=True, padding=0)
+
+ self._playlist_toolbar = Gtk.Toolbar()
+
+ move_up = ToolButton("go-up")
+ move_up.set_tooltip(_("Move up"))
+ move_up.connect("clicked", self._move_up_cb)
+ move_up.show()
+ self._playlist_toolbar.insert(move_up, 0)
+
+ move_down = ToolButton("go-down")
+ move_down.set_tooltip(_("Move down"))
+ move_down.connect("clicked", self._move_down_cb)
+ move_down.show()
+ self._playlist_toolbar.insert(move_down, 1)
+
+ self._playlist_toolbar.show()
+
+ self._playlist_box.pack_end(self._playlist_toolbar, False, False, 0)
+ self._playlist_box.show()
+ self._video_canvas.pack_start(self._playlist_box, False, False, 0)
# Create the player just once
logging.debug('Instantiating GstPlayer')
@@ -165,6 +190,12 @@ class JukeboxActivity(activity.Activity):
Gdk.Screen.get_default().connect('size-changed', self._configure_cb)
+ def _move_up_cb(self, button):
+ self.playlist_widget.move_up()
+
+ def _move_down_cb(self, button):
+ self.playlist_widget.move_down()
+
def _configure_cb(self, event=None):
self._toolbar_box.toolbar.remove(self._stop)
self._toolbar_box.toolbar.remove(self._separator)
@@ -431,9 +462,9 @@ class JukeboxActivity(activity.Activity):
def __toggle_playlist_cb(self, toolbar):
if self._view_toolbar._show_playlist.get_active():
- self.playlist_widget.show_all()
+ self._playlist_box.show_all()
else:
- self.playlist_widget.hide()
+ self._playlist_box.hide()
self._video_canvas.queue_draw()