Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/createcardpanel.py
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@member.fsf.org>2009-07-13 16:56:32 (GMT)
committer Aleksey Lim <alsroot@member.fsf.org>2009-07-13 16:56:32 (GMT)
commita739d83dca1e3cb004cb4a94259e21c7de210b5f (patch)
tree767cb2fea2f9288a6af6a01c57fa0ff3d7399323 /createcardpanel.py
parent834c6e2588eb7ae7e184785858c2279d9654aa5b (diff)
Store speak props in Memorize objects
Diffstat (limited to 'createcardpanel.py')
-rw-r--r--createcardpanel.py52
1 files changed, 36 insertions, 16 deletions
diff --git a/createcardpanel.py b/createcardpanel.py
index 7a83633..38515fa 100644
--- a/createcardpanel.py
+++ b/createcardpanel.py
@@ -46,8 +46,8 @@ _logger = logging.getLogger('memorize-activity')
class CreateCardPanel(gtk.EventBox):
__gsignals__ = {
- 'add-pair': (SIGNAL_RUN_FIRST, None, 6 * [TYPE_PYOBJECT]),
- 'update-pair': (SIGNAL_RUN_FIRST, None, 6 * [TYPE_PYOBJECT]),
+ 'add-pair': (SIGNAL_RUN_FIRST, None, 8 * [TYPE_PYOBJECT]),
+ 'update-pair': (SIGNAL_RUN_FIRST, None, 8 * [TYPE_PYOBJECT]),
}
def __init__(self):
@@ -124,13 +124,17 @@ class CreateCardPanel(gtk.EventBox):
self.cardeditor1.get_text(),
self.cardeditor1.get_pixbuf(),
self.cardeditor1.get_pixbuf(),
- self.cardeditor1.get_snd(), self.cardeditor1.get_snd())
+ self.cardeditor1.get_snd(), self.cardeditor1.get_snd(),
+ self.cardeditor1.get_speak(), self.cardeditor1.get_speak()
+ )
else:
self.emit('add-pair', self.cardeditor1.get_text(),
self.cardeditor2.get_text(),
self.cardeditor1.get_pixbuf(),
self.cardeditor2.get_pixbuf(),
- self.cardeditor1.get_snd(), self.cardeditor2.get_snd())
+ self.cardeditor1.get_snd(), self.cardeditor2.get_snd(),
+ self.cardeditor1.get_speak(), self.cardeditor2.get_speak()
+ )
self.clean(None)
@@ -141,17 +145,21 @@ class CreateCardPanel(gtk.EventBox):
self.cardeditor1.get_text(),
self.cardeditor1.get_pixbuf(),
self.cardeditor1.get_pixbuf(),
- self.cardeditor1.get_snd(), self.cardeditor1.get_snd())
+ self.cardeditor1.get_snd(), self.cardeditor1.get_snd(),
+ self.cardeditor1.get_speak(), self.cardeditor1.get_speak()
+ )
else:
self.emit('update-pair', self.cardeditor1.get_text(),
self.cardeditor2.get_text(),
self.cardeditor1.get_pixbuf(),
self.cardeditor2.get_pixbuf(),
- self.cardeditor1.get_snd(), self.cardeditor2.get_snd())
+ self.cardeditor1.get_snd(), self.cardeditor2.get_snd(),
+ self.cardeditor1.get_speak(), self.cardeditor2.get_speak()
+ )
self.clean(None)
def pair_selected(self, widget, selected, newtext1, newtext2, aimg, bimg,
- asnd, bsnd):
+ asnd, bsnd, aspeak, bspeak):
if selected:
self.cardeditor1.set_text(newtext1)
self.cardeditor2.set_text(newtext2)
@@ -159,6 +167,8 @@ class CreateCardPanel(gtk.EventBox):
self.cardeditor2.set_pixbuf(bimg)
self.cardeditor1.set_snd(asnd)
self.cardeditor2.set_snd(bsnd)
+ self.cardeditor1.set_speak(aspeak)
+ self.cardeditor2.set_speak(bspeak)
self._addbutton.set_sensitive(True)
self._updatebutton.set_sensitive(selected)
self._updatebutton_sensitive = selected
@@ -276,14 +286,14 @@ class CardEditor(gtk.EventBox):
tooltip=_('Insert sound'))
toolbar.pack_start(browsesound, False)
- usespeak = ToggleToolButton(
+ self.usespeak = ToggleToolButton(
named_icon='computer-xo',
palette=SpeakPalette())
- toolbar.pack_start(usespeak, False)
+ toolbar.pack_start(self.usespeak, False)
- browsepicture.connect('clicked', self._load_image, usespeak)
- browsesound.connect('clicked', self._load_audio, usespeak)
- usespeak.connect('toggled', self._usespeak_cb)
+ browsepicture.connect('clicked', self._load_image)
+ browsesound.connect('clicked', self._load_audio)
+ self.usespeak.connect('toggled', self._usespeak_cb)
toolbar_box = CanvasRoundBox(
radius=8,
@@ -313,15 +323,21 @@ class CardEditor(gtk.EventBox):
newtext = ''
self.textentry.set_text(newtext)
+ def get_speak(self):
+ return self.usespeak.props.active
+
+ def set_speak(self, enabled):
+ self.usespeak.props.active = enabled
+
def get_pixbuf(self):
return self.card.get_pixbuf()
def set_pixbuf(self, pixbuf):
self.card.set_pixbuf(pixbuf)
- def _load_image(self, widget, usespeak):
+ def _load_image(self, widget):
def load(index):
- usespeak.props.active = False
+ self.usespeak.props.active = False
pixbuf_t = gtk.gdk.pixbuf_new_from_file_at_size(
index, theme.PAIR_SIZE - theme.PAD*2,
@@ -341,9 +357,9 @@ class CardEditor(gtk.EventBox):
chooser.pick(what=chooser.IMAGE,
cb=lambda jobject: load(jobject.file_path))
- def _load_audio(self, widget, usespeak):
+ def _load_audio(self, widget):
def load(index):
- usespeak.props.active = False
+ self.usespeak.props.active = False
dst = join(self.temp_folder, basename(index))
shutil.copy(index, dst)
@@ -359,8 +375,11 @@ class CardEditor(gtk.EventBox):
cb=lambda jobject: load(jobject.file_path))
def _usespeak_cb(self, widget):
+ self.card.change_speak(widget.props.active)
+
if not widget.props.active:
return
+
self.snd = None
self.card.set_pixbuf(None)
self.emit('has-sound', False)
@@ -379,6 +398,7 @@ class CardEditor(gtk.EventBox):
self.emit('has-text', False)
self.emit('has-picture', False)
self.emit('has-sound', False)
+ self.usespeak.props.active = False
class SpeakPalette(Palette):
def __init__(self):