Here is a set of patches for enabling favorites from the OSD. It reuses most of the code that exists already but was not in use, with some modifications to make it useable :)
I have made some changes to the GUI objects too (bugfixes) and to the recordserver. Matthieu -- (~._.~) Matthieu Weber - Université de Jyväskylä (~._.~) ( ? ) email : [EMAIL PROTECTED] ( ? ) ()- -() public key id : 452AE0AD ()- -() (_)-(_) "Humor ist, wenn man trotzdem lacht (Germain Muller)" (_)-(_)
Index: tv/edit_favorite.py =================================================================== RCS file: /cvsroot/freevo/freevo/src/tv/edit_favorite.py,v retrieving revision 1.5 diff -u -r1.5 edit_favorite.py --- tv/edit_favorite.py 16 Nov 2003 17:38:48 -0000 1.5 +++ tv/edit_favorite.py 8 Jan 2004 08:11:02 -0000 @@ -44,7 +44,7 @@ # # ---------------------------------------------------------------------- -import time +from time import gmtime, strftime import config, tv.epg_xmltv, tv.view_favorites import tv.record_client as record_client @@ -53,6 +53,7 @@ from tv.record_types import Favorite import tv.record_types from tv.epg_types import TvProgram +from tv.view_favorites import ViewFavorites from gui.GUIObject import * from gui.Border import * @@ -60,6 +61,7 @@ from gui.AlertBox import * from gui.OptionBox import * from gui.LetterBoxGroup import * +from gui.ConfirmBox import ConfirmBox DEBUG = 1 TRUE = 1 @@ -73,15 +75,20 @@ top y coordinate. Integer width Integer height Integer + context Context in which the object is instanciated """ def __init__(self, parent=None, subject=None, left=None, top=None, width=500, - height=350): + height=350, context=None): self.oldname = None + if context: + self.context = context + else: + context = 'guide' - print 'DEBUG::subject: %s' % dir(subject) - print 'DEBUG::subject::__module__ %s' % subject.__module__ + #print 'DEBUG::subject: %s' % dir(subject) + #print 'DEBUG::subject::__module__ %s' % subject.__module__ #if isinstance(subject, tv.record_types.Favorite): # print 'DEBUG::subject: FUCK' # self.fav = subject @@ -116,110 +123,114 @@ guide = tv.epg_xmltv.get_guide() - name = Label(_('Name:\t'), self, Align.LEFT) + name = Label(_('Name:'), self, Align.LEFT) self.name_input = LetterBoxGroup(text=self.fav.name) self.name_input.h_align = Align.NONE self.add_child(self.name_input) - title = Label(_('Title:\t%s') % self.fav.title, self, Align.LEFT) + title = Label(_('Title:%s') % self.fav.title, self, Align.LEFT) - chan = Label(_('Channel:\t'), self, Align.LEFT) + chan = Label(_('Channel:'), self, Align.LEFT) self.chan_box = OptionBox('ANY') self.chan_box.h_align = Align.NONE self.chan_box.add_item(text='ANY', value='ANY') - i = 0 + i = 1 chan_index = 0 for ch in guide.chan_list: - if ch.id == self.fav.channel_id: + #if ch.id == self.fav.channel_id: + if ch.displayname == self.fav.channel: chan_index = i i += 1 - self.chan_box.add_item(text=ch.id, value=ch.id) + self.chan_box.add_item(text=ch.displayname, value=ch.displayname) self.chan_box.toggle_selected_index(chan_index) + # This is a hack for setting the OptionBox's label to the current + # value. It should be done by OptionBox when drawing, but it doesn't + # work :( + self.chan_box.change_item(None) self.add_child(self.chan_box) - dow = Label(_('Day of Week:\t'), self, Align.LEFT) + dow = Label(_('Day of Week:'), self, Align.LEFT) self.dow_box = OptionBox('ANY DAY') self.dow_box.h_align = Align.NONE self.dow_box.add_item(text=_('ANY DAY'), value='ANY') - self.dow_box.add_item(text=_('Mon'), value=0) - self.dow_box.add_item(text=_('Tues'), value=1) - self.dow_box.add_item(text=_('Wed'), value=2) - self.dow_box.add_item(text=_('Thurs'), value=3) - self.dow_box.add_item(text=_('Fri'), value=4) - self.dow_box.add_item(text=_('Sat'), value=5) - self.dow_box.add_item(text=_('Sun'), value=6) - self.dow_box.toggle_selected_index(0) + i=1 + dow_index = 0 + for dow in ('Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat', 'Sun'): + val = "%d" % (i-1) + self.dow_box.add_item(text=_(dow), value=val ) + if val == self.fav.dow: + dow_index = i + i += 1 + self.dow_box.toggle_selected_index(dow_index) + # This is a hack for setting the OptionBox's label to the current + # value. It should be done by OptionBox when drawing, but it doesn't + # work :( + self.dow_box.change_item(None) self.add_child(self.dow_box) - tod = Label(_('Time of Day:\t'), self, Align.LEFT) + tod = Label(_('Time of Day:'), self, Align.LEFT) self.tod_box = OptionBox('ANY') self.tod_box.h_align = Align.NONE self.tod_box.add_item(text=_('ANY TIME'), value='ANY') - self.tod_box.add_item(text='12:00 AM', value=0) - self.tod_box.add_item(text='11:30 AM', value=30) - self.tod_box.add_item(text='1:00 AM', value=60) - self.tod_box.add_item(text='1:30 AM', value=90) - self.tod_box.add_item(text='2:00 AM', value=120) - self.tod_box.add_item(text='2:30 AM', value=150) - self.tod_box.add_item(text='3:00 AM', value=180) - self.tod_box.add_item(text='3:30 AM', value=210) - self.tod_box.add_item(text='4:00 AM', value=240) - self.tod_box.add_item(text='4:30 AM', value=270) - self.tod_box.add_item(text='5:00 AM', value=300) - self.tod_box.add_item(text='5:30 AM', value=330) - self.tod_box.add_item(text='6:00 AM', value=360) - self.tod_box.add_item(text='6:30 AM', value=390) - self.tod_box.add_item(text='7:00 AM', value=420) - self.tod_box.add_item(text='7:30 AM', value=450) - self.tod_box.add_item(text='8:00 AM', value=480) - self.tod_box.add_item(text='8:30 AM', value=510) - self.tod_box.add_item(text='9:00 AM', value=540) - self.tod_box.add_item(text='9:30 AM', value=570) - self.tod_box.add_item(text='10:00 AM', value=600) - self.tod_box.add_item(text='10:30 AM', value=630) - self.tod_box.add_item(text='11:00 AM', value=660) - self.tod_box.add_item(text='11:30 AM', value=690) - self.tod_box.add_item(text='12:00 PM', value=720) - self.tod_box.add_item(text='12:30 PM', value=750) - self.tod_box.add_item(text='1:00 PM', value=780) - self.tod_box.add_item(text='1:30 PM', value=810) - self.tod_box.add_item(text='2:00 PM', value=840) - self.tod_box.add_item(text='2:30 PM', value=870) - self.tod_box.add_item(text='3:00 PM', value=900) - self.tod_box.add_item(text='3:30 PM', value=930) - self.tod_box.add_item(text='4:00 PM', value=960) - self.tod_box.add_item(text='4:30 PM', value=990) - self.tod_box.add_item(text='5:00 PM', value=1020) - self.tod_box.add_item(text='5:30 PM', value=1050) - self.tod_box.add_item(text='6:00 PM', value=1080) - self.tod_box.add_item(text='6:30 PM', value=1110) - self.tod_box.add_item(text='7:00 PM', value=1140) - self.tod_box.add_item(text='7:30 PM', value=1170) - self.tod_box.add_item(text='8:00 PM', value=1200) - self.tod_box.add_item(text='8:30 PM', value=1230) - self.tod_box.add_item(text='9:00 PM', value=1260) - self.tod_box.add_item(text='9:30 PM', value=1290) - self.tod_box.add_item(text='10:00 PM', value=1320) - self.tod_box.add_item(text='10:30 PM', value=1350) - self.tod_box.add_item(text='11:00 PM', value=1380) - self.tod_box.add_item(text='11:30 PM', value=1410) - - self.tod_box.toggle_selected_index(0) + + i = 0 + tod_index = 0 + + for h in range(0,24): + for m in (00, 30): + val = i*30 + # Little hack: we calculate the hours from Jan 1st, 1970 GMT, + # and then use strftime to get the string representation + text = strftime(config.TV_TIMEFORMAT, gmtime(h * 3600 + 60 * m)) + self.tod_box.add_item(text=text, value=val) + if val == self.fav.mod: + tod_index = i+1 + i += 1 + self.tod_box.toggle_selected_index(tod_index) + # This is a hack for setting the OptionBox's label to the current + # value. It should be done by OptionBox when drawing, but it doesn't + # work :( + self.tod_box.change_item(None) self.add_child(self.tod_box) self.save = Button(_('Save')) self.add_child(self.save) - + if self.oldname: + self.remove = Button(_('Remove')) + self.add_child(self.remove) + else: + self.remove = None + self.cancel = Button(_('CANCEL')) + self.add_child(self.cancel) + + def removeFavorite(self): + (result, msg) = record_client.removeFavorite(self.oldname) + if result: + searcher = None + if self.parent and self.context == 'favorites': + for child in self.parent.children: + if isinstance(child, ViewFavorites): + searcher = child + break + if searcher: + searcher.refreshList() + self.destroy() + if searcher: + searcher.draw() + self.osd.update() + else: + AlertBox(parent=self, + text=_('Remove Failed: %s') % msg).show() def eventhandler(self, event, menuw=None): - print 'SELECTED CHILD: %s' % self.get_selected_child() + #print 'SELECTED CHILD: %s' % self.get_selected_child() if self.get_selected_child() == self.name_input: if event == em.INPUT_LEFT: self.name_input.change_selected_box('left') @@ -262,7 +273,7 @@ self.draw() elif event == em.INPUT_ENTER: if self.chan_box.selected or self.chan_box.list.is_visible(): - if DEBUG: print ' Want to toggle_box' + #if DEBUG: print ' Want to toggle_box' self.chan_box.toggle_box() self.draw() elif event in (em.INPUT_LEFT, em.MENU_PAGEUP): @@ -330,24 +341,66 @@ (result, msg) = record_client.addEditedFavorite( self.name_input.get_word(), self.fav.title, - self.fav.channel_id, + self.chan_box.list.get_selected_item().value, self.dow_box.list.get_selected_item().value, self.tod_box.list.get_selected_item().value, self.fav.priority) if result: - tv.view_favorites.ViewFavorites(parent=self.parent, text='Favorites').show() + #tv.view_favorites.ViewFavorites(parent=self.parent, text='Favorites').show() self.destroy() + AlertBox(parent='osd', text=_('Favorite %s has been saved') % self.name_input.get_word()).show() else: - AlertBox(parent=self, text=_('Failed: %s') % msg) + AlertBox(parent=self, text=_('Failed: %s') % msg).show() return elif event in (em.INPUT_LEFT, em.MENU_PAGEUP): self.save.toggle_selected() self.tod_box.toggle_selected() self.draw() + elif event in (em.INPUT_RIGHT, em.MENU_PAGEDOWN): + self.save.toggle_selected() + if self.remove: + self.remove.toggle_selected() + else: + self.cancel.toggle_selected() + self.draw() elif event == em.INPUT_EXIT: self.destroy() return + self.osd.update(self.get_rect()) + return + elif self.get_selected_child() == self.remove: + if event == em.INPUT_ENTER: + ConfirmBox(text=_('Do you want to remove %s?') % self.name_input.get_word(), + handler=self.removeFavorite).show() + return + elif event in (em.INPUT_LEFT, em.MENU_PAGEUP): + self.save.toggle_selected() + self.remove.toggle_selected() + self.draw() + elif event in (em.INPUT_RIGHT, em.MENU_PAGEDOWN): + self.remove.toggle_selected() + self.cancel.toggle_selected() + self.draw() + elif event in (em.INPUT_ENTER, em.INPUT_EXIT): + self.destroy() + return + self.osd.update(self.get_rect()) + return + + elif self.get_selected_child() == self.cancel: + if event in (em.INPUT_LEFT, em.MENU_PAGEUP): + if self.remove: + self.remove.toggle_selected() + else: + self.save.toggle_selected() + self.cancel.toggle_selected() + self.draw() + elif event in (em.INPUT_ENTER, em.INPUT_EXIT): + self.destroy() + return + self.osd.update(self.get_rect()) + return if event == em.INPUT_EXIT: self.destroy() return Index: tv/program_display.py =================================================================== RCS file: /cvsroot/freevo/freevo/src/tv/program_display.py,v retrieving revision 1.23 diff -u -r1.23 program_display.py --- tv/program_display.py 28 Nov 2003 20:08:58 -0000 1.23 +++ tv/program_display.py 8 Jan 2004 08:11:02 -0000 @@ -177,22 +177,29 @@ used_height += chan.font.height + start.font.height + stop.font.height + \ (4 *self.v_spacing) - + + self.buttons = [] + all_buttons = { 'record': 'Record', + 'search': 'Search for more of this program', + 'favorites': 'Add to favorites', + 'remove': 'Remove', + 'cancel': 'CANCEL', + } + self.button_config = [] if self.context == 'guide': - self.b0 = Button(_('Record'), width=(width-60)/2) - # self.options.add_item(text='Search for more of this program', value=2) - # self.options.add_item(text='Add "%s" to favorites' % prog.title, value=3) + self.button_config = ['record', 'favorites', 'cancel'] else: - self.b0 = Button(_('Remove'), width=(width-60)/2) + self.button_config = ['remove', 'cancel'] + + for bname in self.button_config: + b = Button(_(all_buttons[bname]), width=(width-60)/2) + b.set_h_align(Align.CENTER) + self.add_child(b) + self.buttons.append(b) - self.b0.set_h_align(Align.CENTER) - self.add_child(self.b0) - self.b0.toggle_selected() + self.buttons[0].toggle_selected() + self.current_button = 0 - self.b1 = Button(_('CANCEL'), width=(width-60)/2) - self.b1.set_h_align(Align.CENTER) - self.add_child(self.b1) - if desc: desc.width = self.width - 30 desc.height = self.height - used_height - 100 @@ -217,9 +224,21 @@ # return - if event in (em.INPUT_UP, em.INPUT_DOWN): - self.b0.toggle_selected() - self.b1.toggle_selected() + #if event in (em.INPUT_UP, em.INPUT_DOWN): + if event == em.INPUT_UP: + if self.current_button > 0: + self.buttons[self.current_button].toggle_selected() + self.current_button -= 1 + self.buttons[self.current_button].toggle_selected() + self.draw() + self.osd.update(self.get_rect()) + return + + elif event == em.INPUT_DOWN: + if self.current_button < len(self.buttons) - 1: + self.buttons[self.current_button].toggle_selected() + self.current_button += 1 + self.buttons[self.current_button].toggle_selected() self.draw() self.osd.update(self.get_rect()) return @@ -235,7 +254,7 @@ # return elif event == em.INPUT_ENTER: - if self.b0.selected and self.context == 'guide': + if self.button_config[self.current_button] == 'record' and self.context == 'guide': (result, msg) = record_client.scheduleRecording(self.prog) if result: AlertBox(parent=self, @@ -251,12 +270,13 @@ search=self.prog.title).show() # XXX: add to favorites - should go to an edit favorites screen - elif 0: + elif self.button_config[self.current_button] == 'favorites' and self.context == 'guide': + self.destroy() tv.edit_favorite.EditFavorite(parent=self, subject=self.prog).show() # next will only happen if we are not viewing from the guide - elif self.b0.selected: + elif self.button_config[self.current_button] == 'remove': (result, msg) = record_client.removeScheduledRecording(self.prog) if result: # This is confusing, I wanted to click but it's no @@ -288,7 +308,7 @@ AlertBox(parent=self, text=_('Remove Failed: %s') % msg).show() - elif self.b1.selected: + elif self.button_config[self.current_button] == 'cancel': self.destroy() elif event == em.INPUT_EXIT: Index: tv/record_client.py =================================================================== RCS file: /cvsroot/freevo/freevo/src/tv/record_client.py,v retrieving revision 1.11 diff -u -r1.11 record_client.py --- tv/record_client.py 30 Nov 2003 16:30:58 -0000 1.11 +++ tv/record_client.py 8 Jan 2004 08:11:02 -0000 @@ -184,7 +184,9 @@ def addEditedFavorite(name, title, chan, dow, mod, priority): try: - (status, message) = server.addEditedFavorite(name, title, chan, dow, mod, priority) + (status, message) = \ + server.addEditedFavorite(marmalade.jellyToXML(name), \ + marmalade.jellyToXML(title), chan, dow, mod, priority) except: return (FALSE, _('record_client: connection error')) Index: tv/record_types.py =================================================================== RCS file: /cvsroot/freevo/freevo/src/tv/record_types.py,v retrieving revision 1.6 diff -u -r1.6 record_types.py --- tv/record_types.py 20 Oct 2003 01:41:55 -0000 1.6 +++ tv/record_types.py 8 Jan 2004 08:11:02 -0000 @@ -142,7 +142,27 @@ def __init__(self, name=None, prog=None, exactchan=FALSE, exactdow=FALSE, exacttod=FALSE, priority=0): self.TYPES_VERSION = TYPES_VERSION + translation_table = \ + ' ' \ + + ' ' \ + + ' !"#$%&' + "'" + '()*+,-./' \ + + '0123456789:;<=>?' \ + + '@ABCDEFGHIJKLMNO' \ + + 'PQRSTUVWXYZ[\]^_' \ + + '`abcdefghijklmno' \ + + 'pqrstuvwxyz{|}~ ' \ + + ' ' \ + + ' ' \ + + ' ' \ + + ' ' \ + + 'AAAAAAACEEEEIIII' \ + + 'DNOOOOOxOUUUUYPS' \ + + 'aaaaaaaceeeeiiii' \ + + 'dnooooo/ouuuuypy' + self.name = name + if name: + self.name = name.translate(translation_table) self.priority = priority if prog: Index: tv/tvguide.py =================================================================== RCS file: /cvsroot/freevo/freevo/src/tv/tvguide.py,v retrieving revision 1.21 diff -u -r1.21 tvguide.py --- tv/tvguide.py 4 Dec 2003 21:48:11 -0000 1.21 +++ tv/tvguide.py 8 Jan 2004 08:11:02 -0000 @@ -197,7 +197,12 @@ self.event_PageDown() self.menuw.refresh() - elif event == em.MENU_SUBMENU or event == em.TV_START_RECORDING: + #elif event == em.MENU_SUBMENU or event == em.TV_START_RECORDING: + elif event == em.MENU_SUBMENU: + + pass + + elif event == em.TV_START_RECORDING: if self.selected.scheduled: program_display.ProgramDisplay(parent=self, context='recording', prog=self.selected).show() Index: tv/tvmenu.py =================================================================== RCS file: /cvsroot/freevo/freevo/src/tv/tvmenu.py,v retrieving revision 1.10 diff -u -r1.10 tvmenu.py --- tv/tvmenu.py 31 Dec 2003 16:10:30 -0000 1.10 +++ tv/tvmenu.py 8 Jan 2004 08:11:02 -0000 @@ -194,7 +194,7 @@ items.append(menu.MenuItem(_('Scheduled Recordings'), action=self.view_schedule)) items.append(menu.MenuItem(_('Search Guide'), action=self.show_search)) - # items.append(menu.MenuItem('View Favorites', action=self.show_favorites)) + items.append(menu.MenuItem('View Favorites', action=self.show_favorites)) plugins_list = plugin.get('mainmenu_tv') for p in plugins_list: Index: tv/view_favorites.py =================================================================== RCS file: /cvsroot/freevo/freevo/src/tv/view_favorites.py,v retrieving revision 1.5 diff -u -r1.5 view_favorites.py --- tv/view_favorites.py 16 Nov 2003 17:38:48 -0000 1.5 +++ tv/view_favorites.py 8 Jan 2004 08:11:02 -0000 @@ -43,7 +43,7 @@ # ----------------------------------------------------------------------- */ #endif -import time +from time import gmtime, strftime import config, record_client, edit_favorite import event as em @@ -75,7 +75,7 @@ def __init__(self, parent='osd', text=None, search=None, handler=None, - left=None, top=None, width=600, height=520, bg_color=None, + left=None, top=None, width=600, height=400, bg_color=None, fg_color=None, icon=None, border=None, bd_color=None, bd_width=None): @@ -93,10 +93,11 @@ self.internal_h_align = Align.CENTER - legend = Label(_('Name\tTitle\tChannel\tDOW\tTOD'), self, Align.CENTER) + #legend = Label(_('Name Title Channel DOW TOD'), self, Align.CENTER) - items_height = 40 - self.num_shown_items = 7 + #items_height = 40 + items_height = Button('foo').height + 2 + self.num_shown_items = 8 self.results = ListBox(width=(self.width-2*self.h_margin), height=self.num_shown_items*items_height, show_v_scrollbar=0) @@ -106,10 +107,18 @@ self.results.set_h_align(Align.CENTER) self.add_child(self.results) - (result, favorites) = record_client.getFavorites() + self.refreshList() - if result: + def refreshList(self): + (self.result, favorites) = record_client.getFavorites() + if not self.result: + errormsg = Label(_('Get favorites failed: %s') % recordings, + self, Align.CENTER) + return + + if self.result: i = 0 + self.results.items = [] if len(favorites) > self.num_shown_items: self.results.show_v_scrollbar = 1 @@ -121,12 +130,26 @@ favorites.sort(f) for fav in favorites: i += 1 - self.results.add_item(text='%s : %s : %s : %s : %s' % \ + if fav.channel == 'ANY': + chan = 'any channel' + else: + chan = fav.channel + if fav.dow == 'ANY': + dow = 'any day' + else: + week_days = ('Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat', 'Sun') + dow = week_days[int(fav.dow)] + if fav.mod == 'ANY': + mod = 'any time' + else: + mod = strftime(config.TV_TIMEFORMAT, gmtime(fav.mod * 60)) + self.results.add_item(text='%s: %s (%s, %s, %s)' % \ (fav.name, fav.title, - fav.channel_id, - fav.dow, - fav.mod), + #fav.channel_id, + chan, + dow, + mod), value=fav) space_left = self.num_shown_items - i @@ -145,9 +168,11 @@ if event in (em.INPUT_UP, em.INPUT_DOWN, em.INPUT_LEFT, em.INPUT_RIGHT): return self.results.eventhandler(event) elif event == em.INPUT_ENTER: - edit_favorite.EditFavorite(parent=self.parent, - subject=self.results.get_selected_item().value).show() - # self.destroy() + subject = self.results.get_selected_item().value + if subject == ' ': subject = None + if subject: + edit_favorite.EditFavorite(parent=self, subject=subject, + context='favorites').show() return elif event == em.INPUT_EXIT: self.destroy()
Index: helpers/recordserver.py =================================================================== RCS file: /cvsroot/freevo/freevo/src/helpers/recordserver.py,v retrieving revision 1.20 diff -u -r1.20 recordserver.py --- helpers/recordserver.py 30 Nov 2003 16:30:58 -0000 1.20 +++ helpers/recordserver.py 8 Jan 2004 08:14:12 -0000 @@ -721,7 +721,9 @@ def xmlrpc_addEditedFavorite(self, name, title, chan, dow, mod, priority): - (status, response) = self.addEditedFavorite(name, title, chan, dow, mod, priority) + (status, response) = \ + self.addEditedFavorite(marmalade.unjellyFromXML(name), \ + marmalade.unjellyFromXML(title), chan, dow, mod, priority) return (status, 'RecordServer::addEditedFavorite: %s' % response)
Index: gui/Button.py =================================================================== RCS file: /cvsroot/freevo/freevo/src/gui/Button.py,v retrieving revision 1.16 diff -u -r1.16 Button.py --- gui/Button.py 12 Oct 2003 10:56:19 -0000 1.16 +++ gui/Button.py 8 Jan 2004 08:09:43 -0000 @@ -222,15 +222,21 @@ raise TypeError, type(text) if not self.label: - self.label = Label() + self.label = Label(h_align = Align.CENTER, v_align = Align.CENTER, + text_prop = { + 'align_h': 'center', + 'align_v': 'center', + 'mode': 'hard', + } + ) self.label.set_text(text) self.label.set_background_color(None) self.add_child(self.label) else: self.label.set_text(text) - self.label.set_v_align(Align.CENTER) - self.label.set_h_align(Align.CENTER) + #self.label.set_v_align(Align.CENTER) + #self.label.set_h_align(Align.CENTER) self.surface_changed = 1 Index: gui/Label.py =================================================================== RCS file: /cvsroot/freevo/freevo/src/gui/Label.py,v retrieving revision 1.22 diff -u -r1.22 Label.py --- gui/Label.py 12 Oct 2003 10:56:19 -0000 1.22 +++ gui/Label.py 8 Jan 2004 08:09:43 -0000 @@ -223,8 +223,8 @@ else: raise TypeError, type(text) - # self.width = -1 - # self.height = -1 + self.width = -1 + self.height = -1 self.surface_changed = 1 Index: gui/LetterBox.py =================================================================== RCS file: /cvsroot/freevo/freevo/src/gui/LetterBox.py,v retrieving revision 1.13 diff -u -r1.13 LetterBox.py --- gui/LetterBox.py 12 Oct 2003 10:56:19 -0000 1.13 +++ gui/LetterBox.py 8 Jan 2004 08:09:43 -0000 @@ -142,6 +142,8 @@ self.v_spacing = 0 self.set_v_align(Align.BOTTOM) self.set_h_align(Align.CENTER) + self.label.set_v_align(Align.CENTER) + self.label.set_h_align(Align.CENTER) def set_text(self, text): @@ -149,6 +151,8 @@ Button.set_text(self, text) self.label.width = self.width self.label.height = self.height + self.label.set_v_align(Align.CENTER) + self.label.set_h_align(Align.CENTER) def charUp(self): @@ -161,7 +165,7 @@ self.set_text(self.ourChars[charNext]) # XXX: should not have to draw here but it fixes an align problem. - self.draw() + #self.draw() def charDown(self): @@ -174,7 +178,7 @@ self.set_text(self.ourChars[charNext]) # XXX: should not have to draw here but it fixes an align problem. - self.draw() + #self.draw() def cycle_phone_char(self, command):