def __do_clicked_answer(self, button, jokebook, joke_id): # play a sound if the jokebook has one player = AudioPlayer() if jokebook.sound_blob != None: player.raw = jokebook.sound_blob else: # default laugh logging.debug('Playing default sound: %s', Globals.laugh_uri) player.uri = Globals.laugh_uri player.play() # show the answer self.joke_box.answer_box.set_visible(True) # reconfigure navigation box self.navigation_box.clear() # check if there are any more jokes left if len(jokebook.jokes) > joke_id + 1: button = gtk.Button(_('Next')) button.connect('clicked', self.__do_clicked_next, jokebook, joke_id + 1) self.navigation_box.append( hippo.CanvasWidget(widget=theme.theme_widget(button), padding_right=10, padding_top=20)) # only allow submitting a joke if activity is shared and you are the one joining if not Globals.JokeMachineActivity.is_initiator: button = gtk.Button(_('Submit a Joke')) button.connect('clicked', self.__do_clicked_submit, jokebook, joke_id) self.navigation_box.append( hippo.CanvasWidget(widget=theme.theme_widget(button), padding_top=20))
def __do_clicked_answer(self, button, jokebook, joke_id): # play a sound if the jokebook has one player = AudioPlayer() if jokebook.sound_blob != None: player.raw = jokebook.sound_blob else: # default laugh logging.debug('Playing default sound: %s', Globals.laugh_uri) player.uri = Globals.laugh_uri player.play() # show the answer self.joke_box.answer_box.set_visible(True) # reconfigure navigation box self.navigation_box.clear() # check if there are any more jokes left if len(jokebook.jokes) > joke_id + 1: button = gtk.Button(_('Next')) button.connect('clicked', self.__do_clicked_next, jokebook, joke_id + 1) self.navigation_box.append(hippo.CanvasWidget(widget=theme.theme_widget(button), padding_right=10, padding_top=20)) # only allow submitting a joke if activity is shared and you are the one joining if not Globals.JokeMachineActivity.is_initiator: button = gtk.Button(_('Submit a Joke')) button.connect('clicked', self.__do_clicked_submit, jokebook, joke_id) self.navigation_box.append(hippo.CanvasWidget(widget=theme.theme_widget(button), padding_top=20))
def __make_jokebook_div(self, jokebook, edit = False): list_row = self.make_listrow() # thumbnail thumbnail = self.make_imagebox(jokebook, 'image', 80, 60, False, 10) list_row.append(self.__make_column_div(100, thumbnail)) # title title = hippo.CanvasText( text = (jokebook.title or '')+ "\n" + (jokebook.owner or ''), padding_left = 20, xalign=hippo.ALIGNMENT_START, color=theme.COLOR_LINK.get_int()) title.set_clickable(True) title.connect('button-press-event', self.__do_clicked_title, jokebook) list_row.append(self.__make_column_div(-1, title), hippo.PACK_EXPAND) list_row.append(hippo.CanvasBox(box_width=theme.SPACER_HORIZONTAL)) # TODO spacer # buttons if edit: button = gtk.Button(_('Edit')) button.connect('clicked', self.__do_clicked_edit, jokebook) list_row.append(self.__make_column_div(100, hippo.CanvasWidget(widget=theme.theme_widget(button)))) list_row.append(hippo.CanvasBox(box_width=theme.SPACER_HORIZONTAL)) # TODO spacer button = gtk.Button(_('Delete')) button.connect('clicked', self.__do_clicked_delete, jokebook) list_row.append(self.__make_column_div(100, hippo.CanvasWidget(widget=theme.theme_widget(button)))) list_row.append(hippo.CanvasBox(box_width=theme.SPACER_HORIZONTAL)) # TODO spacer return list_row
def __init__(self, jokebook, parent): Page.__init__(self) self.__parent = parent # list of jokes jokes_div = CanvasListBox() jokes_div.props.border = 0 for joke in jokebook.jokes: button = gtk.Button(' ' + _('Delete') + ' ') button.connect('clicked', self.__do_clicked_delete, jokebook, joke) list_row = self.make_listrow(JokeEditor(joke), hippo.PACK_EXPAND) list_row.append( hippo.CanvasWidget(widget=theme.theme_widget(button), padding=5), hippo.PACK_END) jokes_div.append(list_row) self.append(jokes_div, hippo.PACK_EXPAND) # new joke button buttons = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL, xalign=hippo.ALIGNMENT_START) button = gtk.Button(_('Add New Joke')) button.connect('clicked', self.do_clicked_add_joke, jokebook) buttons.append(hippo.CanvasWidget(widget=theme.theme_widget(button))) jokes_div.append(buttons)
def __init__(self, jokebook, parent): Page.__init__(self) self.__parent = parent # list of jokes jokes_div = CanvasListBox() jokes_div.props.border=0 for joke in jokebook.jokes: button = gtk.Button(' ' + _('Delete') + ' ') button.connect('clicked', self.__do_clicked_delete, jokebook, joke) list_row = self.make_listrow(JokeEditor(joke), hippo.PACK_EXPAND) list_row.append(hippo.CanvasWidget(widget=theme.theme_widget(button), padding=5), hippo.PACK_END) jokes_div.append(list_row) self.append(jokes_div, hippo.PACK_EXPAND) # new joke button buttons = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL, xalign=hippo.ALIGNMENT_START) button = gtk.Button(_('Add New Joke')) button.connect('clicked', self.do_clicked_add_joke, jokebook) buttons.append(hippo.CanvasWidget(widget=theme.theme_widget(button))) jokes_div.append(buttons)
def __init__(self, jokebook, last_joke=0): # last_joke is for 'back' button Page.__init__(self, spacing=10) # create a new joke joke = Joke() joke.id = jokebook.next_joke_id logging.info("Created new joke with id: %d" % joke.id) joke.joker = Globals.nickname # info self.append(self.make_field(_("Submission For:"), 250, jokebook, "title", 300, False)) self.append(self.make_field(_("Your Name:"), 250, joke, "joker", 300, True)) self.append(hippo.CanvasBox(box_height=theme.SPACER_VERTICAL)) # spacer # joke editor jokebox = JokeEditor(joke) nav = hippo.CanvasBox(padding_right=8, padding_top=8, spacing=18, orientation=hippo.ORIENTATION_HORIZONTAL) button = gtk.Button(_("Submit")) button.connect("clicked", self.__do_clicked_submit, jokebook, joke) nav.append(hippo.CanvasWidget(widget=theme.theme_widget(button), padding_right=10, padding_top=20)) button = gtk.Button(_("Back")) button.connect("clicked", self.__do_clicked_back, jokebook, last_joke) nav.append(hippo.CanvasWidget(widget=theme.theme_widget(button), padding_top=20)) jokebox.right.append(nav) self.append(jokebox)
def __init__(self, jokebook, parent): Page.__init__(self) self.__parent = parent jokes_div = CanvasListBox() jokes_div.props.border = 0 for joke in jokebook.submissions: list_row = self.make_listrow(JokeViewer(joke, jokebook.title)) list_row.props.orientation = hippo.ORIENTATION_VERTICAL buttons = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL, xalign=hippo.ALIGNMENT_END, spacing=10, padding=10) button = gtk.Button(' ' + _('Reject') + ' ') button.connect('clicked', self.__do_clicked_reject, jokebook, joke) buttons.append( hippo.CanvasWidget(widget=theme.theme_widget(button), border_color=theme.COLOR_RED.get_int(), border=0, xalign=hippo.ALIGNMENT_CENTER)) button = gtk.Button(' ' + _('Accept') + ' ') button.connect('clicked', self.__do_clicked_accept, jokebook, joke) buttons.append( hippo.CanvasWidget(widget=theme.theme_widget(button), border_color=theme.COLOR_RED.get_int(), border=0, xalign=hippo.ALIGNMENT_CENTER)) list_row.append(buttons) #list_row.props.orientation=hippo.ORIENTATION_VERTICAL #status_box = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL, #padding_top=4, #padding_left=4) #status_box.append(hippo.CanvasText(text=_('Status:'), #color=theme.COLOR_DARK_GREEN.get_int(), #box_width=100, #xalign=hippo.ALIGNMENT_START)) ##button = None #button = gtk.RadioButton() #button = gtk.RadioButton(button, _('Approved')) #button.set_size_request(200, -1) #status_box.append(hippo.CanvasWidget(widget = button)) #button = gtk.RadioButton(button, _('Rejected')) #button.set_size_request(200, -1) #status_box.append(hippo.CanvasWidget(widget = button)) #button = gtk.RadioButton(button, _('Not Reviewed')) #button.set_size_request(200, -1) #button.set_active(True) #status_box.append(hippo.CanvasWidget(widget = button)) #list_row.append(status_box) jokes_div.append(list_row) self.append(jokes_div)
def __init__(self, jokebook, parent): Page.__init__(self) self.__parent = parent jokes_div = CanvasListBox() jokes_div.props.border=0 for joke in jokebook.submissions: list_row = self.make_listrow(JokeViewer(joke, jokebook.title)) list_row.props.orientation=hippo.ORIENTATION_VERTICAL buttons = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL, xalign=hippo.ALIGNMENT_END, spacing=10, padding=10) button = gtk.Button(' ' + _('Reject') + ' ') button.connect('clicked', self.__do_clicked_reject, jokebook, joke) buttons.append(hippo.CanvasWidget(widget=theme.theme_widget(button), border_color=theme.COLOR_RED.get_int(), border=0, xalign=hippo.ALIGNMENT_CENTER)) button = gtk.Button(' ' + _('Accept') + ' ') button.connect('clicked', self.__do_clicked_accept, jokebook, joke) buttons.append(hippo.CanvasWidget(widget=theme.theme_widget(button), border_color=theme.COLOR_RED.get_int(), border=0, xalign=hippo.ALIGNMENT_CENTER)) list_row.append(buttons) #list_row.props.orientation=hippo.ORIENTATION_VERTICAL #status_box = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL, #padding_top=4, #padding_left=4) #status_box.append(hippo.CanvasText(text=_('Status:'), #color=theme.COLOR_DARK_GREEN.get_int(), #box_width=100, #xalign=hippo.ALIGNMENT_START)) ##button = None #button = gtk.RadioButton() #button = gtk.RadioButton(button, _('Approved')) #button.set_size_request(200, -1) #status_box.append(hippo.CanvasWidget(widget = button)) #button = gtk.RadioButton(button, _('Rejected')) #button.set_size_request(200, -1) #status_box.append(hippo.CanvasWidget(widget = button)) #button = gtk.RadioButton(button, _('Not Reviewed')) #button.set_size_request(200, -1) #button.set_active(True) #status_box.append(hippo.CanvasWidget(widget = button)) #list_row.append(status_box) jokes_div.append(list_row) self.append(jokes_div)
def __make_header(self): ret = hippo.CanvasBox( orientation=hippo.ORIENTATION_HORIZONTAL) # logo logo = gtk.Image() logo.set_from_file(Globals.logo) ret.append(hippo.CanvasWidget(widget=logo)) # lesson plans lesson_plans = hippo.CanvasWidget(background_color=theme.COLOR_BACKGROUND.get_int(), border_top=theme.BORDER_WIDTH, border_left=theme.BORDER_WIDTH, border_right=theme.BORDER_WIDTH, border_color=theme.COLOR_FRAME.get_int(), padding_top=12, padding_bottom=12, padding_left=30, padding_right=30, yalign=hippo.ALIGNMENT_CENTER, orientation=hippo.ORIENTATION_VERTICAL) button = gtk.Button(_('Lesson Plans')) button.set_size_request(200, -1) button.active = False button.connect('clicked', self.__do_clicked_lessonplans) lesson_plans.props.widget = theme.theme_widget(button) ret.append(lesson_plans, hippo.PACK_EXPAND) return ret
def __make_footer(self): ret = hippo.CanvasBox( padding_right=8, padding_top=8, padding_bottom=0, spacing=8, orientation=hippo.ORIENTATION_HORIZONTAL) button = gtk.Button(_('Read Jokebooks')) button.connect('clicked', self.__do_clicked_read) self.__button_read = hippo.CanvasWidget(widget=theme.theme_widget(button)) ret.append(self.__button_read) button = gtk.Button(_('Make Jokebook')) button.connect('clicked', self.__do_clicked_make) self.__button_make = hippo.CanvasWidget(widget=theme.theme_widget(button)) ret.append(self.__button_make) return ret
def __init__(self, jokebook): Page.__init__(self, xalign=hippo.ALIGNMENT_CENTER) preview_box = CanvasListBox() # cover cover = self.make_listrow() cover.props.orientation=hippo.ORIENTATION_VERTICAL cover.append(hippo.CanvasText(text='"' + (jokebook.title or '')+ '" ' + _('started by') + ' ' + (jokebook.owner or ''), xalign=hippo.ALIGNMENT_CENTER, padding_top=10)) cover.append(hippo.CanvasBox(box_height=theme.SPACER_VERTICAL)) cover_picture = self.make_imagebox(jokebook, 'image', 480, 360, False) cover.append(cover_picture) cover.append(hippo.CanvasBox(box_height=theme.SPACER_VERTICAL)) preview_box.append(cover) # jokes for joke in jokebook.jokes: list_row = self.make_listrow(JokeViewer(joke, jokebook.title)) preview_box.append(list_row) self.append(preview_box, hippo.PACK_EXPAND) self.append(hippo.CanvasBox(box_height=theme.SPACER_VERTICAL)) button = gtk.Button(_('Edit')) button.connect('clicked', self.__do_clicked_edit, jokebook) self.append(hippo.CanvasWidget(widget=theme.theme_widget(button)))
def __make_header(self): ret = hippo.CanvasBox(orientation=hippo.ORIENTATION_HORIZONTAL) # logo logo = gtk.Image() logo.set_from_file(Globals.logo) ret.append(hippo.CanvasWidget(widget=logo)) # lesson plans lesson_plans = hippo.CanvasWidget( background_color=theme.COLOR_BACKGROUND.get_int(), border_top=theme.BORDER_WIDTH, border_left=theme.BORDER_WIDTH, border_right=theme.BORDER_WIDTH, border_color=theme.COLOR_FRAME.get_int(), padding_top=12, padding_bottom=12, padding_left=30, padding_right=30, yalign=hippo.ALIGNMENT_CENTER, orientation=hippo.ORIENTATION_VERTICAL) button = gtk.Button(_('Lesson Plans')) button.set_size_request(200, -1) button.active = False button.connect('clicked', self.__do_clicked_lessonplans) lesson_plans.props.widget = theme.theme_widget(button) ret.append(lesson_plans, hippo.PACK_EXPAND) return ret
def __make_footer(self): ret = hippo.CanvasBox(padding_right=8, padding_top=8, padding_bottom=0, spacing=8, orientation=hippo.ORIENTATION_HORIZONTAL) button = gtk.Button(_('Read Jokebooks')) button.connect('clicked', self.__do_clicked_read) self.__button_read = hippo.CanvasWidget( widget=theme.theme_widget(button)) ret.append(self.__button_read) button = gtk.Button(_('Make Jokebook')) button.connect('clicked', self.__do_clicked_make) self.__button_make = hippo.CanvasWidget( widget=theme.theme_widget(button)) ret.append(self.__button_make) return ret
def __init__(self, jokebook, joke_id=0): Page.__init__(self) # handle empty jokebook if len(jokebook.jokes) <= joke_id: self.append(self.make_bodytext(_('This Jokebook is empty'))) if not Globals.JokeMachineActivity.is_initiator: button = gtk.Button(_('Submit a Joke')) button.connect('clicked', self.__do_clicked_submit, jokebook, joke_id) self.append( hippo.CanvasWidget(widget=theme.theme_widget(button), padding_top=20)) else: button = gtk.Button(_('Add Jokes')) button.connect('clicked', self.__do_clicked_add, jokebook, joke_id) self.append( hippo.CanvasWidget(widget=theme.theme_widget(button), padding_top=20)) return # the joke box joke = jokebook.jokes[joke_id] self.joke_box = JokeViewer(joke, jokebook.title) self.joke_box.answer_box.set_visible(False) # the navigation box self.navigation_box = hippo.CanvasBox( padding_right=8, padding_top=8, spacing=18, orientation=hippo.ORIENTATION_HORIZONTAL) # the answer button button = gtk.Button(_('Answer')) button.connect('clicked', self.__do_clicked_answer, jokebook, joke_id) self.navigation_box.append( hippo.CanvasWidget(widget=theme.theme_widget(button), padding_top=20)) self.joke_box.right.append(self.navigation_box) self.append(self.joke_box)
def __init__(self, jokebook): Page.__init__(self) self.__jokebook = jokebook self.__page_selector = PageSelector(self) self.append(self.__page_selector, hippo.PACK_EXPAND) self.__page_selector.page = EditInfo(jokebook, self) button = gtk.Button(_('Preview')) button.connect('clicked', self.__do_clicked_preview, jokebook) self.append(hippo.CanvasWidget(widget=theme.theme_widget(button), padding_top=theme.SPACER_VERTICAL))
def __init__(self, jokebook, last_joke=0): # last_joke is for 'back' button Page.__init__(self, spacing=10) # create a new joke joke = Joke() joke.id = jokebook.next_joke_id logging.info('Created new joke with id: %d' % joke.id) joke.joker = Globals.nickname # info self.append( self.make_field(_('Submission For:'), 250, jokebook, 'title', 300, False)) self.append( self.make_field(_('Your Name:'), 250, joke, 'joker', 300, True)) self.append( hippo.CanvasBox(box_height=theme.SPACER_VERTICAL)) # spacer # joke editor jokebox = JokeEditor(joke) nav = hippo.CanvasBox(padding_right=8, padding_top=8, spacing=18, orientation=hippo.ORIENTATION_HORIZONTAL) button = gtk.Button(_('Submit')) button.connect('clicked', self.__do_clicked_submit, jokebook, joke) nav.append( hippo.CanvasWidget(widget=theme.theme_widget(button), padding_right=10, padding_top=20)) button = gtk.Button(_('Back')) button.connect('clicked', self.__do_clicked_back, jokebook, last_joke) nav.append( hippo.CanvasWidget(widget=theme.theme_widget(button), padding_top=20)) jokebox.right.append(nav) self.append(jokebox)
def __make_jokebook_div(self, jokebook, edit=False): list_row = self.make_listrow() # thumbnail thumbnail = self.make_imagebox(jokebook, 'image', 80, 60, False, 10) list_row.append(self.__make_column_div(100, thumbnail)) # title title = hippo.CanvasText(text=(jokebook.title or '') + "\n" + (jokebook.owner or ''), padding_left=20, xalign=hippo.ALIGNMENT_START, color=theme.COLOR_LINK.get_int()) title.set_clickable(True) title.connect('button-press-event', self.__do_clicked_title, jokebook) list_row.append(self.__make_column_div(-1, title), hippo.PACK_EXPAND) list_row.append( hippo.CanvasBox(box_width=theme.SPACER_HORIZONTAL)) # TODO spacer # buttons if edit: button = gtk.Button(_('Edit')) button.connect('clicked', self.__do_clicked_edit, jokebook) list_row.append( self.__make_column_div( 100, hippo.CanvasWidget(widget=theme.theme_widget(button)))) list_row.append(hippo.CanvasBox( box_width=theme.SPACER_HORIZONTAL)) # TODO spacer button = gtk.Button(_('Delete')) button.connect('clicked', self.__do_clicked_delete, jokebook) list_row.append( self.__make_column_div( 100, hippo.CanvasWidget(widget=theme.theme_widget(button)))) list_row.append(hippo.CanvasBox( box_width=theme.SPACER_HORIZONTAL)) # TODO spacer return list_row
def __init__(self, jokebook): Page.__init__(self) self.__jokebook = jokebook self.__page_selector = PageSelector(self) self.append(self.__page_selector, hippo.PACK_EXPAND) self.__page_selector.page = EditInfo(jokebook, self) button = gtk.Button(_('Preview')) button.connect('clicked', self.__do_clicked_preview, jokebook) self.append( hippo.CanvasWidget(widget=theme.theme_widget(button), padding_top=theme.SPACER_VERTICAL))
def __init__(self, jokebook, joke_id = 0): Page.__init__(self) # handle empty jokebook if len(jokebook.jokes) <= joke_id: self.append(self.make_bodytext(_('This Jokebook is empty'))) if not Globals.JokeMachineActivity.is_initiator: button = gtk.Button(_('Submit a Joke')) button.connect('clicked', self.__do_clicked_submit, jokebook, joke_id) self.append(hippo.CanvasWidget(widget=theme.theme_widget(button), padding_top=20)) else: button = gtk.Button(_('Add Jokes')) button.connect('clicked', self.__do_clicked_add, jokebook, joke_id) self.append(hippo.CanvasWidget(widget=theme.theme_widget(button), padding_top=20)) return # the joke box joke = jokebook.jokes[joke_id] self.joke_box = JokeViewer(joke, jokebook.title) self.joke_box.answer_box.set_visible(False) # the navigation box self.navigation_box = hippo.CanvasBox( padding_right=8, padding_top=8, spacing=18, orientation=hippo.ORIENTATION_HORIZONTAL) # the answer button button = gtk.Button(_('Answer')) button.connect('clicked', self.__do_clicked_answer, jokebook, joke_id) self.navigation_box.append(hippo.CanvasWidget(widget=theme.theme_widget(button), padding_top=20)) self.joke_box.right.append(self.navigation_box) self.append(self.joke_box)
def __init__(self, jokebook): Page.__init__(self) # title self.append(hippo.CanvasText(text='"' + (jokebook.title or '') + '" ' + _('started by') + ' ' + (jokebook.owner or ''), xalign=hippo.ALIGNMENT_CENTER, padding_top=10)) self.append(hippo.CanvasBox(box_height=theme.SPACER_VERTICAL)) # cover picture cover_picture = self.make_imagebox(jokebook, 'image', 480, 360, False) self.append(cover_picture, hippo.PACK_EXPAND) self.append(hippo.CanvasBox(box_height=theme.SPACER_VERTICAL)) # open button button = gtk.Button(_('Open')) button.connect('clicked', self.__do_clicked_open, jokebook) button.set_size_request(50, -1) self.append(hippo.CanvasWidget(widget=theme.theme_widget(button), box_width=50))