Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pages
diff options
context:
space:
mode:
authorAntoine van Gelder <antoine@g7.org.za>2007-10-29 09:21:06 (GMT)
committer Antoine van Gelder <antoine@g7.org.za>2007-10-29 09:21:06 (GMT)
commit420f73b64979f4a695c780f080c8873229260f27 (patch)
tree82aca565218aaf445ffb0f556c5f5c91024d119c /pages
parent05d7e0283b978bb4836a1ddf8833b039ae55f130 (diff)
JokeMachine-3.xo
* Feature: Put alerts up when joke submitted and approved over mesh * Feature: Put alert up advising patience when joining a shared jokebook * Feature: Made Lesson Plans button work * Feature: Safe fallback for builds without sugar.alert * Feature: Hooked LanguageCombo up * i18n: Created (a rough!) Afrikaans translation * Fixed: Prepended Cover on preview * Fixed: Don't hardcode JokeEditor delete button position * Fixed: On read jokebook & empty -> "Edit My Jokes" -> Go to edit my jokes tab * Updated :Mesh code for dbus tubes changes
Diffstat (limited to 'pages')
-rw-r--r--pages/choose.py16
-rw-r--r--pages/edit.py59
-rw-r--r--pages/joke.py10
-rw-r--r--pages/preview.py15
4 files changed, 62 insertions, 38 deletions
diff --git a/pages/choose.py b/pages/choose.py
index c115f94..fee1e48 100644
--- a/pages/choose.py
+++ b/pages/choose.py
@@ -39,11 +39,10 @@ class Choose(Page):
Page.__init__(self)
# page title
- self.append(hippo.CanvasText(
- text= 'Choose a Jokebook to read:',
- xalign=hippo.ALIGNMENT_START,
- padding=10,
- font_desc=theme.FONT_BODY.get_pango_desc()))
+ self.append(hippo.CanvasText(text= _('Choose a Jokebook to read:'),
+ xalign=hippo.ALIGNMENT_START,
+ padding=10,
+ font_desc=theme.FONT_BODY.get_pango_desc()))
# list of Jokebooks
allow_edit = Globals.JokeMachineActivity.is_initiator
@@ -63,12 +62,15 @@ class Choose(Page):
def __do_clicked_delete(self, button, jokebook):
+ message = _('Are you sure you want to delete your ')
+ if jokebook.title is not None:
+ message += '\'' + jokebook.title + '\' '
+ message += _('jokebook ?')
confirm = gtk.MessageDialog(Globals.JokeMachineActivity,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
gtk.MESSAGE_QUESTION,
gtk.BUTTONS_YES_NO,
- _('Are you sure you want to delete your') + \
- ' \'' + jokebook.title + '\' ' + _('jokebook ?'))
+ message)
response = confirm.run()
confirm.hide()
confirm.destroy()
diff --git a/pages/edit.py b/pages/edit.py
index b213655..a2ad0c0 100644
--- a/pages/edit.py
+++ b/pages/edit.py
@@ -132,7 +132,7 @@ class Edit(Page):
def do_tab_clicked(self, page_class):
print page_class
self.__page_selector.page = page_class(self.__jokebook, self)
-
+ return self.__page_selector.page
class EditInfo(Page): # TODO -> gui.Page should follow this pattern rather
@@ -143,6 +143,8 @@ class EditInfo(Page): # TODO -> gui.Page should follow this pattern rather
spacing=20,
box_height=theme.TABS_HEIGHT)
+ self.__parent = parent
+
# page title
self.append(self.make_field(_('Title of Jokebook:'), 250, jokebook, 'title', 300, True))
#field = self.make_field(_('Sound Effect:'), 250, None, '', 300, False)
@@ -167,34 +169,31 @@ class EditJokes(Page):
def __init__(self, jokebook, parent):
Page.__init__(self)
+ self.__parent = parent
+
# list of jokes
jokes_div = CanvasListBox(800, theme.TABS_HEIGHT)
jokes_div.props.border=0
for joke in jokebook.jokes:
- list_row = self.make_listrow(JokeEditor(joke))
button = gtk.Button(' ' + _('Delete') + ' ')
- button.connect('clicked', self.__do_clicked_delete, jokebook, joke, parent)
+ button.connect('clicked', self.__do_clicked_delete, jokebook, joke)
+ list_row = self.make_listrow(JokeEditor(joke))
list_row.append(hippo.CanvasWidget(widget=theme.theme_widget(button),
- border_color=theme.COLOR_RED.get_int(),
- border=0,
- padding_top=10,
- padding_bottom=10,
- padding_left=85))
- #xalign=hippo.ALIGNMENT_END))
+ padding=5),
+ hippo.PACK_END)
jokes_div.append(list_row)
self.append(jokes_div)
# 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, parent)
+ button.connect('clicked', self.do_clicked_add_joke, jokebook)
buttons.append(hippo.CanvasWidget(widget=theme.theme_widget(button)))
jokes_div.append(buttons)
- def __do_clicked_delete(self, button, jokebook, joke, parent):
+ def __do_clicked_delete(self, button, jokebook, joke):
confirm = gtk.MessageDialog(Globals.JokeMachineActivity,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
gtk.MESSAGE_QUESTION,
@@ -207,10 +206,10 @@ class EditJokes(Page):
if response == gtk.RESPONSE_YES:
logging.debug('Deleting joke: %s' % joke.id)
jokebook.jokes.remove(joke)
- parent.do_tab_clicked(EditJokes)
+ self.__parent.do_tab_clicked(EditJokes)
- def __do_clicked_add_joke(self, button, jokebook, parent):
+ def do_clicked_add_joke(self, button, jokebook):
# create a new joke
joke = persistence.joke.Joke()
joke.id = jokebook.next_joke_id
@@ -219,7 +218,7 @@ class EditJokes(Page):
jokebook.jokes.append(joke)
# reload tab
- parent.do_tab_clicked(EditJokes)
+ self.__parent.do_tab_clicked(EditJokes)
@@ -227,6 +226,8 @@ class EditReview(Page):
def __init__(self, jokebook, parent):
Page.__init__(self)
+ self.__parent = parent
+
jokes_div = CanvasListBox(800, theme.TABS_HEIGHT)
jokes_div.props.border=0
for joke in jokebook.submissions:
@@ -239,14 +240,14 @@ class EditReview(Page):
padding=10)
button = gtk.Button(' ' + _('Reject') + ' ')
- button.connect('clicked', self.__do_clicked_reject, jokebook, joke, parent)
+ 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, parent)
+ 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,
@@ -282,22 +283,18 @@ class EditReview(Page):
self.append(jokes_div)
- def __do_clicked_accept(self, button, jokebook, joke, parent):
+ def __do_clicked_accept(self, button, jokebook, joke):
jokebook.jokes.append(joke)
jokebook.submissions.remove(joke)
- parent.do_tab_clicked(EditReview)
-
- if not Globals.JokeMachineActivity.is_shared:
- return
-
- # broadcast submission onto the mesh
- logging.debug('Broadcasting joke to mesh')
- pickle = joke.dumps()
- Globals.JokeMachineActivity.tube.BroadcastJoke(jokebook.id, pickle)
- logging.debug('Broadcasted joke to mesh')
-
+ self.__parent.do_tab_clicked(EditReview)
+ if Globals.JokeMachineActivity.is_shared:
+ # broadcast submission onto the mesh
+ logging.debug('Broadcasting joke to mesh')
+ pickle = joke.dumps()
+ Globals.JokeMachineActivity.tube.BroadcastJoke(jokebook.id, pickle, Globals.nickname)
+ logging.debug('Broadcasted joke to mesh')
- def __do_clicked_reject(self, button, jokebook, joke, parent):
+ def __do_clicked_reject(self, button, jokebook, joke):
jokebook.submissions.remove(joke)
- parent.do_tab_clicked(EditReview)
+ self.__parent.do_tab_clicked(EditReview)
diff --git a/pages/joke.py b/pages/joke.py
index fedd50e..43d0764 100644
--- a/pages/joke.py
+++ b/pages/joke.py
@@ -100,6 +100,11 @@ class Joke(Page):
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
@@ -152,7 +157,12 @@ class Joke(Page):
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_add(self, button, jokebook, joke_id):
+ page = Globals.JokeMachineActivity.set_page(pages.edit.Edit, jokebook)
+ tab = page.do_tab_clicked(pages.edit.EditJokes)
+ tab.do_clicked_add_joke(None, jokebook)
def __do_clicked_submit(self, button, jokebook, joke_id):
Globals.JokeMachineActivity.set_page(pages.submit.Submit, jokebook, joke_id)
diff --git a/pages/preview.py b/pages/preview.py
index de5bc3a..66e1811 100644
--- a/pages/preview.py
+++ b/pages/preview.py
@@ -37,6 +37,21 @@ class Preview(Page):
Page.__init__(self, xalign=hippo.ALIGNMENT_CENTER)
preview_box = CanvasListBox(1028, theme.PREVIEW_HEIGHT) # TODO - really shouldn't be hardcoded
+
+ # cover
+ cover = self.make_listrow()
+ cover.props.orientation=hippo.ORIENTATION_VERTICAL
+ cover.append(hippo.CanvasText(text='"' + jokebook.title + '" ' + _('started by') + ' ' + jokebook.owner,
+ xalign=hippo.ALIGNMENT_CENTER,
+ padding_top=10,
+ font_desc=theme.FONT_BODY_BOLD.get_pango_desc()))
+ cover.append(hippo.CanvasBox(box_height=theme.SPACER_VERTICAL))
+ cover_picture = self.make_imagebox(jokebook, 'image', 640, 480, 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)