Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/button.py
blob: d09791ddbc1eb9fb18bfa4b764028aedaf4f82be (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import gtk
import os
import gobject
import rsvg
import gc

from sugar.graphics.palette import Palette
from sugar.graphics.tray import TrayButton
from sugar.graphics.icon import Icon
from sugar.graphics import style
from constants import Constants
import utils

class SavedButton(TrayButton, gobject.GObject):
	def __init__(self, ui, savedmapData):
		TrayButton.__init__(self)
		self.ui = ui
		self.data = savedmapData

		img = self.getImg()
		self.set_icon_widget( img )

		self.setup_rollover_options()


	def getImg( self ):
		pb = gtk.gdk.pixbuf_new_from_file(self.data.thumbPath)

		img = gtk.Image()
		img.set_from_pixbuf(pb)
		img.show()

		return img


	def setButtClickedId( self, id ):
		self.BUTT_CLICKED_ID = id


	def getButtClickedId( self ):
		return self.BUTT_CLICKED_ID


	def setup_rollover_options( self ):
		palette = Palette( Constants.istrSavedMap )
		self.set_palette(palette)

		self.tag_menu_item = gtk.MenuItem( Constants.istrTagMap  )
		self.ACTIVATE_TAG_ID = self.tag_menu_item.connect('activate', self._tagCb)
		palette.menu.append(self.tag_menu_item)
		self.tag_menu_item.show()

		self.rem_menu_item = gtk.MenuItem( Constants.istrRemove  )
		self.ACTIVATE_REMOVE_ID = self.rem_menu_item.connect('activate', self._itemRemoveCb)
		palette.menu.append(self.rem_menu_item)
		self.rem_menu_item.show()

		self.copy_menu_item = gtk.MenuItem( Constants.istrCopyToClipboard )
		self.ACTIVATE_COPY_ID = self.copy_menu_item.connect('activate', self._itemCopyToClipboardCb)
		self.get_palette().menu.append(self.copy_menu_item)
		self.copy_menu_item.show()


	def cleanUp( self ):
		self.rem_menu_item.disconnect( self.ACTIVATE_REMOVE_ID )
		self.copy_menu_item.disconnect( self.ACTIVATE_COPY_ID )
		self.tag_menu_item.disconnect( self.ACTIVATE_TAG_ID)


	def _tagCb(self, widget):
		self.ui.showSearchResultTags( self.data )


	def _itemRemoveCb(self, widget):
		self.ui.removeThumb( self.data )


	def _itemCopyToClipboardCb(self, widget):
		self.ui.copyToClipboard( self.data )