--- gnome-desktop-2.22.1.old/gnome-about/gnome-about.in 2008-05-07 17:03:01.120889000 +0100
+++ gnome-desktop-2.22.1/gnome-about/gnome-about.in 2008-05-07 17:03:15.187962000 +0100
@@ -83,6 +83,7 @@
def cleanup_date (date):
'''Parse a date as found in gnome-version.xml and nicely format it'''
try:
+ # FIXME: we don't have g_locale_to_utf8 in python. See bug #530382
return unicode (time.strftime ("%x", time.strptime (date, "%Y-%m-%d")), locale.getpreferredencoding ()).encode ("utf-8")
except:
return False
@@ -338,6 +339,7 @@
rewind_text = ""
last_label_height = 0
+ label_height = 0
def rewind_animate (self):
'''Animation function for the rewind step'''
@@ -345,8 +347,8 @@
if self.state == -2:
- label_height = self.label.size_request ()[1]
- total_height = self.height + label_height
+ self.label_height = self.label.size_request ()[1]
+ total_height = self.height + self.label_height
self.pos = float (self.last_label_height) / total_height
self.current.set (0.5, self.pos, 0, 0)
self.state = 0
@@ -366,6 +368,9 @@
def animate (self):
'''The actual animation function'''
self.source = None
+ self.height = self.size_request ()[1]
+ if self.label:
+ self.label_height = self.label.size_request ()[1]
if self.state == -2:
elif self.state == -1:
@@ -376,9 +381,8 @@
if self.pos:
'''Move towards the top position'''
- label_height = self.label.size_request ()[1]
- total_height = self.height + label_height
- real_pos = float (self.pos * self.height + label_height) \
+ total_height = self.height + self.label_height
/ total_height
self.current.set (0.5, real_pos, 0, 0)
@@ -393,20 +397,25 @@
self.state = 2
elif self.state == 2:
- if not self.next:
- self.state = -2
- self.reset_animation ()
- elif self.pos:
+ if self.pos:
'''Move out of the visible region of the Layout'''
- label_height = self.label.size_request ()[1]
- total_height = self.height + label_height
- real_pos = float (self.pos * label_height) \
+ if self.height < self.label_height:
+ else:
+ total_height = self.height + self.label_height
+ real_pos = float (self.pos * self.label_height) \
/ total_height
self.current.set (0.5, real_pos, 0, 0)
+ if self.height < self.label_height:
+ else:
+ elif not self.next:
+ self.state = -2
+ self.reset_animation ()
else:
'''Label has disappeared, bye bye'''
@@ -419,11 +428,11 @@
return
self.current = gtk.Alignment (0.0, 1.0)
- label_height = self.label.size_request ()[1]
- height = self.size_request ()[1]
- self.current.set_size_request (-1, 2 * label_height + height)
+ self.label_height = self.label.size_request ()[1]
+ self.height = self.size_request ()[1]
- self.put (self.current, 0, - label_height)
self.pos = 1.0
@@ -995,8 +1004,11 @@
for desc in raw_descs:
new_i = descs.index (desc)
if i != - 1:
+ # Append the previous description
translations.append (descs[i:new_i])
i = new_i
+ # Open ended to retrieve all translation for last description
+ translations.append (descs[i:])
messages = GettableList ()
for block in translations:
sorted_descs = sorted (block, cmp = desc_sort_func,