Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/panel/FriendsPanel.py
blob: aec995ec6a66f5aa1d8d5bd780af00ffc8cf6aa1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import goocanvas

from panel.Panel import Panel
from sugar.canvas.IconItem import IconItem

class ActionsBar(goocanvas.Group):
	def __init__(self, shell, width):
		goocanvas.Group.__init__(self)
		self._width = width
		self._shell = shell

		self._y = 0

		icon = IconItem(icon_name='stock-share', size=self._width)
		icon.connect('clicked', self.__share_clicked_cb)
		self.add_icon(icon)

		icon = IconItem(icon_name='stock-invite', size=self._width)
		icon.connect('clicked', self.__invite_clicked_cb)
		self.add_icon(icon)

		icon = IconItem(icon_name='stock-chat', size=self._width)
		icon.connect('clicked', self.__chat_clicked_cb)
		self.add_icon(icon)

	def add_icon(self, icon):
		self._y += (self._width + 6)
		icon.set_property('y', self._y)
		self.add_child(icon)		

	def __share_clicked_cb(self, item):
		activity = self._shell.get_current_activity()
		if activity != None:
			activity.share()

	def __invite_clicked_cb(self, item):
		pass

	def __chat_clicked_cb(self, item):
		pass

class FriendsPanel(Panel):
	def __init__(self, shell):
		Panel.__init__(self)
		self._shell = shell

	def construct(self):
		Panel.construct(self)

		actions_bar = ActionsBar(self._shell, self.get_width())
		actions_bar.translate(self.get_border(), self.get_border())
		self.get_root().add_child(actions_bar)