Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/reviewpanel.py
diff options
context:
space:
mode:
Diffstat (limited to 'reviewpanel.py')
-rw-r--r--reviewpanel.py32
1 files changed, 25 insertions, 7 deletions
diff --git a/reviewpanel.py b/reviewpanel.py
index a65c855..4fa4649 100644
--- a/reviewpanel.py
+++ b/reviewpanel.py
@@ -41,12 +41,14 @@ _1_WEEK = _1_DAY * 7
_2_WEEKS = _1_WEEK * 2
_1_MONTH = _2_WEEKS * 2
+_REVIEWED = False
+
#
# Review Panel for the Flashcard Activity
#
class ReviewPanel(gtk.VBox):
- def __init__(self, box, catagory, expired_only):
+ def __init__(self, deckfile, box, catagory, expired_only):
gtk.VBox.__init__(self)
self.catagory = catagory
@@ -85,6 +87,11 @@ class ReviewPanel(gtk.VBox):
_checkbutton.set_icon_widget(
self.make_label('next', ' ' + _('Check Answer!')))
+ _nextcard = ToolButton(tooltip=_('Next Card'))
+ _nextcard.connect('clicked', self._next_card_cb)
+ _nextcard.set_icon_widget(
+ self.make_label('next', ' ' + _('Next Card')))
+
self.view_box.pack_start(self.frontlabel)
self.view_box.pack_start(self.viewcard)
@@ -92,6 +99,7 @@ class ReviewPanel(gtk.VBox):
self.entry_box.pack_start(self.answer_entry)
self.button_box.pack_start(_checkbutton)
+ self.button_box.pack_start(_nextcard)
self.answer_box.pack_start(self.answerlabel)
self.answer_box.pack_start(self.correct)
@@ -112,6 +120,7 @@ class ReviewPanel(gtk.VBox):
self.correct.show()
_checkbutton.show()
+ _nextcard.show()
self.view_box.show()
self.entry_box.show()
@@ -120,9 +129,9 @@ class ReviewPanel(gtk.VBox):
self.current_date = time.time()
- self.testfile = "testfile.xml"
+ self.deckfile = deckfile
- self.tree = xml.etree.ElementTree.parse(self.testfile)
+ self.tree = xml.etree.ElementTree.parse(self.deckfile)
self.deck = self.get_selected_deck()
@@ -130,6 +139,8 @@ class ReviewPanel(gtk.VBox):
self.card = self.next_card()
+ self.card_reviewed = False
+
self.textbuffer.set_text(self.card.find("front").text)
# Returns the box number of the selected box
@@ -153,9 +164,16 @@ class ReviewPanel(gtk.VBox):
# Check answer callback
def _check_answer_cb(self, button):
self.correcttextbuffer.set_text(self.check_answer())
- self.answer_entry.set_text("")
- self.card = self.next_card()
- self.textbuffer.set_text(self.card.find("front").text)
+ self.card_reviewed = True
+
+
+ def _next_card_cb(self, button):
+ if self.card_reviewed:
+ self.answer_entry.set_text("")
+ self.card = self.next_card()
+ self.textbuffer.set_text(self.card.find("front").text)
+ self.correcttextbuffer.set_text("")
+ self.card_reviewed = False
# Checks the answer submitted, returns "Correct" or the back of the card
@@ -290,7 +308,7 @@ class ReviewPanel(gtk.VBox):
self.card.find("last_reviewed").text = str(time.time())
self.card.find("stage").text = str(stage)
- self.tree.write(self.testfile)
+ self.tree.write(self.deckfile)
# Gets the icon for the button and makes the label
# Written by Simon Schampijer