Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xcardtable.py30
-rwxr-xr-xsvgcard.py32
2 files changed, 31 insertions, 31 deletions
diff --git a/cardtable.py b/cardtable.py
index 6161fb8..11bf1b5 100755
--- a/cardtable.py
+++ b/cardtable.py
@@ -64,13 +64,13 @@ class CardTable(gtk.EventBox):
# Build the table
if data['divided']=='1':
- text1 = str(self.data['face1'])
- text2 = str(self.data['face2'])
+ text1 = str(self.data.get('face1',''))
+ text2 = str(self.data.get('face2',''))
else:
- text1 = str(self.data['face'])
- text2 = str(self.data['face'])
- buffer_card_1 = svgcard.SvgCard(-1, {'front_border':{'opacity':'0'}, 'front_h_border':{'opacity':'0.5'}, 'back_text':{'card_text':text1}}, {}, None, self.card_size)
- buffer_card_2 = svgcard.SvgCard(-1, {'front_border':{'opacity':'0'}, 'front_h_border':{'opacity':'0.5'}, 'back_text':{'card_text':text2}}, {}, None, self.card_size)
+ text1 = str(self.data.get('face',''))
+ text2 = str(self.data.get('face',''))
+ buffer_card_1 = svgcard.SvgCard(-1, {'front_border':{'opacity':'0'}, 'front_h_border':{'opacity':'0.5'}, 'back_text':{'card_text':text1}}, {}, None, self.card_size,1)
+ buffer_card_2 = svgcard.SvgCard(-1, {'front_border':{'opacity':'0'}, 'front_h_border':{'opacity':'0.5'}, 'back_text':{'card_text':text2}}, {}, None, self.card_size,1)
x = 0
y = 0
@@ -84,22 +84,16 @@ class CardTable(gtk.EventBox):
props = {}
props['front_border'] = {'opacity':'1'}
props['front_h_border'] ={'opacity':'1'}
- if self.data['align'] == '1':
- props['front_text']= {'card_text':card.get('char', ''), 'card_line1':'', 'card_line2':'',
- 'card_line3':'', 'card_line4':''}
- elif self.data['align'] == '2':
- props['front_text']= {'card_text':'', 'card_line1':card.get('char', ''), 'card_line2':'',
- 'card_line3':'', 'card_line4':''}
- elif self.data['align'] == '3':
- props['front_text']= {'card_text':'', 'card_line1':'',
- 'card_line2':card.get('char', ''), 'card_line3':'', 'card_line4':''}
+ props['front_text']= {'card_text':card.get('char', '')}
if card['ab']== 'a':
buffer_card = buffer_card_1
+ props['back_text']= {'card_text':text1}
elif card['ab']== 'b':
buffer_card = buffer_card_2
+ props['back_text']= {'card_text':text2}
- card = svgcard.SvgCard(id, props, buffer_card.get_cache(), jpg, self.card_size)
+ card = svgcard.SvgCard(id, props, buffer_card.get_cache(), jpg, self.card_size,self.data.get('align','1'))
card.connect('enter-notify-event', self.mouse_event, [x, y])
card.connect("button-press-event", self.flip_card_mouse, id)
self.table_positions[(x, y)]=1
@@ -108,9 +102,7 @@ class CardTable(gtk.EventBox):
self.cards[(x, y)] = card
self.dict[id] = (x, y)
self.table.attach(card, x, x+1, y, y+1, gtk.SHRINK, gtk.SHRINK)
- #button = gtk.Button('button')
- #button.show()
- #self.table.attach(button, x, x+1, y, y+1, gtk.SHRINK, gtk.SHRINK)
+
x += 1
if x == self.size:
x = 0
diff --git a/svgcard.py b/svgcard.py
index 0c38be7..38aa767 100755
--- a/svgcard.py
+++ b/svgcard.py
@@ -27,6 +27,9 @@ import svglabel
import gtk
import gobject
import pango
+import logging
+
+_logger = logging.getLogger('memorize-activity')
class SvgCard(gtk.DrawingArea):
@@ -43,7 +46,7 @@ class SvgCard(gtk.DrawingArea):
default_props['front_text'] = {'filename':text_svg, 'text_color':'#ffffff'}
- def __init__(self, id, pprops, pcache, jpeg, size):
+ def __init__(self, id, pprops, pcache, jpeg, size,align):
gtk.DrawingArea.__init__(self)
self.set_size_request(size, size)
self.bg_color = '#000000'
@@ -53,6 +56,7 @@ class SvgCard(gtk.DrawingArea):
self.id = id
self.jpeg = jpeg
self.size = size
+ self.align = align
self.set_flags(gtk.CAN_FOCUS)
# Views properties
@@ -79,15 +83,11 @@ class SvgCard(gtk.DrawingArea):
self.cache['back_border']= self._read_icon_data(self.props['back_border'])
if build_all or pprops.has_key('back_h_border'):
self.cache['back_h_border']= self._read_icon_data(self.props['back_h_border'])
- if build_all or pprops.has_key('back_text'):
- #text = CardText(self.props['back_text'].get('card_text', ''), self.props['back_text'].get('text_color'))
- text = self._read_icon_data(self.props['back_text'])
- self.cache['back_text'] = text.scale_simple(self.size-14, self.size-14, gtk.gdk.INTERP_BILINEAR)
- del text
- self.back_layout = self.get_text_layout(self.props['back_text'].get('card_text', ''), self.size-12)
+
+ self.back_layout = self.get_text_layout(self.props['back_text'].get('card_text',''), self.size-12)
self.back_layout_position = (self.size -(self.back_layout.get_size()[1]/1000))/2
- self.current_layout_position = self.back_layout_position
- self.current_text_color = self.props['back_text'].get('text_color','#c7c8cc')
+ print str(self.props['back_text'])
+
if build_all or self.pprops.has_key('back_border') or self.pprops.has_key('back_text'):
self.cache['back'] = self.build_face('back')
if build_all or self.pprops.has_key('back_h_border') or self.pprops.has_key('back_text'):
@@ -95,6 +95,9 @@ class SvgCard(gtk.DrawingArea):
self.current_pixbuf = self.cache['back']
self.current_layout = self.back_layout
+ self.current_layout_position = self.back_layout_position
+ self.current_text_color = self.props['back_text'].get('text_color','#c7c8cc')
+
# Set events and listeners
self.set_events(gtk.gdk.ALL_EVENTS_MASK)
gc.collect()
@@ -184,13 +187,17 @@ class SvgCard(gtk.DrawingArea):
self.cache['front_text'] = text.scale_simple(self.size-22, self.size-22, gtk.gdk.INTERP_BILINEAR)
del text
self.front_layout = self.get_text_layout(self.props['front_text'].get('card_text', ''), self.size-11)
- self.front_layout_position = (self.size -(self.front_layout.get_size()[1]/1000))/2
+ if self.align == '1': # center
+ self.front_layout_position = (self.size -(self.front_layout.get_size()[1]/1000))/2
+ elif self.align == '2': # top
+ self.front_layout_position = 6
+ elif self.align == '3': # bottom
+ self.front_layout_position = self.size -(self.front_layout.get_size()[1]/1000)
self.current_layout = self.front_layout
self.current_layout_position = self.front_layout_position
self.current_text_color = self.props['front_text'].get('text_color','#c7c8cc')
if self.jpeg <> None:
pixbuf_t = gtk.gdk.pixbuf_new_from_file(self.jpeg)
- # pixbuf_t = pixbuf_t.add_alpha(True,chr(255),chr(255),chr(255))
self.cache['jpeg']= pixbuf_t.scale_simple(self.size-22, self.size-22, gtk.gdk.INTERP_BILINEAR)
del pixbuf_t
@@ -231,6 +238,7 @@ class SvgCard(gtk.DrawingArea):
self.flop()
def get_text_layout(self, text, size):
+ _logger.error('Text: '+text)
if self.size == 184:
font_sizes = [50,40,26,20,17,13,11,8]
elif self.size == 145:
@@ -247,7 +255,7 @@ class SvgCard(gtk.DrawingArea):
# Set Pango context and Pango layout
context = self.create_pango_context()
layout = self.create_pango_layout(text)
- desc = pango.FontDescription(' bold '+str(font_size))
+ desc = pango.FontDescription('Deja Vu Sans bold '+str(font_size))
layout.set_font_description(desc)
layout.set_alignment(pango.ALIGN_CENTER)
layout.set_width(size*1000)