diff options
Diffstat (limited to 'FlashcardActivity.py')
-rw-r--r-- | FlashcardActivity.py | 74 |
1 files changed, 66 insertions, 8 deletions
diff --git a/FlashcardActivity.py b/FlashcardActivity.py index a78ef87..a3d0a5e 100644 --- a/FlashcardActivity.py +++ b/FlashcardActivity.py @@ -41,10 +41,12 @@ import creationpanel import browseeditpanel import reviewselection import reviewpanel +import selectdeckpanel _REVIEW_MODE = 1 _CREATE_MODE = 2 _BROWSE_MODE = 3 +_SELECT_DECK_MODE = 4 _EMPTY = "" @@ -111,11 +113,25 @@ class FlashcardActivity(activity.Activity): self.browse_edit_button.show() separator = gtk.SeparatorToolItem() + separator.props.draw = True + separator.set_expand(False) + separator.show() + toolbar_box.toolbar.insert(separator, -1) + + # Select Deck Button + self.select_deck_button = ToolButton( "fileopen" ) + self.select_deck_button.set_tooltip(_('Select Deck')) + self.select_deck_button.props.sensitive = True + self.select_deck_button.connect('clicked', self._select_deck_cb) + toolbar_box.toolbar.insert(self.select_deck_button, -1) + self.select_deck_button.show() + + separator = gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) separator.show() toolbar_box.toolbar.insert(separator, -1) - + separator = gtk.SeparatorToolItem() separator.props.draw = True separator.set_expand(False) @@ -127,19 +143,21 @@ class FlashcardActivity(activity.Activity): stop_button.props.accelerator = _('<Ctrl>Q') toolbar_box.toolbar.insert(stop_button, -1) stop_button.show() - + self.set_toolbar_box(toolbar_box) toolbar_box.show() self.canvas = gtk.HBox(False) self.set_canvas(self.canvas) + self.deckfile = "emptydeck.xml" + self.canvas.show() self.show_all() self.mode = 0 - self.review_mode() + self.select_deck_mode() - + # Places Activity into Review Mode, to review flashcards def review_mode(self): @@ -148,7 +166,7 @@ class FlashcardActivity(activity.Activity): self.button_box = gtk.VButtonBox() self.reviewpanel = reviewselection.ReviewSelection( - self.get_activity_root()) + self.deckfile) self.canvas.pack_start(self.reviewpanel, True, True) @@ -173,7 +191,7 @@ class FlashcardActivity(activity.Activity): self.remove_all() self.creationpanel = creationpanel.CreationPanel( - self.get_activity_root(), front, back, catagory, editing) + self.deckfile, front, back, catagory, editing) self.canvas.pack_start(self.creationpanel, True, True) @@ -188,7 +206,7 @@ class FlashcardActivity(activity.Activity): self.button_box = gtk.VButtonBox() self.browseeditpanel = browseeditpanel.BrowseEditPanel( - self.get_activity_root()) + self.deckfile) self.canvas.pack_start(self.browseeditpanel, True, True) self.browseeditpanel.show() @@ -206,6 +224,27 @@ class FlashcardActivity(activity.Activity): self.mode = _BROWSE_MODE + # Places Activity into Select Deck Mode, select deck to work with + def select_deck_mode(self): + self.remove_all() + self.selectdeckpanel = selectdeckpanel.SelectDeckPanel() + self.canvas.pack_start(self.selectdeckpanel, True, True) + self.selectdeckpanel.show() + + # Loads the deck to be worked with + self.button_box = gtk.VButtonBox() + + self.load_deck_button = ToolButton(tooltip = _('Select Deck')) + self.load_deck_button.connect('clicked', self._load_deck_cb) + self.load_deck_button.set_icon_widget( + self.make_label('fileopen', ' ' + _('Select Deck'))) + self.button_box.pack_start(self.load_deck_button) + self.canvas.pack_start(self.button_box, False) + self.load_deck_button.show() + self.button_box.show() + + self.mode = _SELECT_DECK_MODE + # Removes current screen from the canvas @@ -218,6 +257,10 @@ class FlashcardActivity(activity.Activity): elif self.mode == _BROWSE_MODE: self.canvas.remove(self.browseeditpanel) self.canvas.remove(self.button_box) + elif self.mode == _SELECT_DECK_MODE: + self.canvas.remove(self.selectdeckpanel) + self.canvas.remove(self.button_box) + # Review button callback def _review_cb(self, button): @@ -241,6 +284,21 @@ class FlashcardActivity(activity.Activity): if self.mode != _BROWSE_MODE: self.browse_edit_mode() + + # Select Deck button callback + def _select_deck_cb(self, button): + if self.mode != _SELECT_DECK_MODE: + self.select_deck_mode() + + # Load Deck button callback + def _load_deck_cb(self, button): + self.deckfile = self.selectdeckpanel.get_deckfile() + + self.review_mode() + + + + # Edit button callback, passes flashcard information to create panel # so that it can be edited def _edit_button_cb(self, button): @@ -256,7 +314,7 @@ class FlashcardActivity(activity.Activity): expired_only = self.reviewpanel.get_expired_only() self.canvas.remove(self.reviewpanel) self.canvas.remove(self.button_box) - self.reviewpanel = reviewpanel.ReviewPanel(selected_box, selected_catagory, expired_only) + self.reviewpanel = reviewpanel.ReviewPanel(self.deckfile, selected_box, selected_catagory, expired_only) self.canvas.pack_start(self.reviewpanel, True, True) self.reviewpanel.show() |