Author: asterix
Date: 2008-04-07 13:17:33 +0200 (Mon, 07 Apr 2008)
New Revision: 9449
Modified:
trunk/data/glade/change_activity_dialog.glade
trunk/src/dialogs.py
trunk/src/tooltips.py
Log:
[rOOt & Asterix] use get_uf_activity/mood to translate them. store subactivities according to selected activity. fixes #3809
Modified: trunk/data/glade/change_activity_dialog.glade
===================================================================
--- trunk/data/glade/change_activity_dialog.glade 2008-04-07 11:14:23 UTC (rev 9448)
+++ trunk/data/glade/change_activity_dialog.glade 2008-04-07 11:17:33 UTC (rev 9449)
@@ -21,32 +21,46 @@
<property name="column_spacing">6</property>
<property name="row_spacing">6</property>
<child>
- <widget class="GtkComboBox" id="activity_combobox">
+ <widget class="GtkLabel" id="label4">
<property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">Message:</property>
</widget>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="y_options"></property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="subactivity_combobox">
+ <widget class="GtkLabel" id="label3">
<property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">Specific:</property>
</widget>
<packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="y_options"></property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
</packing>
</child>
<child>
+ <widget class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">General:</property>
+ </widget>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
<widget class="GtkEntry" id="description_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="invisible_char">●</property>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -57,40 +71,26 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label2">
+ <widget class="GtkComboBox" id="subactivity_combobox">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">General:</property>
</widget>
<packing>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label3">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">Specific:</property>
- </widget>
- <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label4">
+ <widget class="GtkComboBox" id="activity_combobox">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">Message:</property>
+ <signal name="changed" handler="on_activity_combobox_changed"/>
</widget>
<packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="y_options"></property>
</packing>
</child>
</widget>
Modified: trunk/src/dialogs.py
===================================================================
--- trunk/src/dialogs.py 2008-04-07 11:14:23 UTC (rev 9448)
+++ trunk/src/dialogs.py 2008-04-07 11:17:33 UTC (rev 9449)
@@ -371,31 +371,27 @@
class ChangeActivityDialog:
- activities = ['doing_chores', 'drinking', 'eating',
- 'excercising', 'grooming', 'having_appointment',
- 'inactive', 'relaxing', 'talking', 'traveling',
- 'working', ]
- subactivities = ['at_the_spa', 'brushing_teeth',
- 'buying_groceries', 'cleaning', 'coding',
- 'commuting', 'cooking', 'cycling', 'day_off',
- 'doing_maintenance', 'doing_the_dishes',
- 'doing_the_laundry', 'driving', 'gaming',
- 'gardening', 'getting_a_haircut', 'going_out',
- 'hanging_out', 'having_a_beer', 'having_a_snack',
- 'having_breakfast', 'having_coffee',
- 'having_dinner', 'having_lunch', 'having_tea',
- 'hiking', 'in_a_car', 'in_a_meeting',
- 'in_real_life', 'jogging', 'on_a_bus',
- 'on_a_plane', 'on_a_train', 'on_a_trip',
- 'on_the_phone', 'on_vacation', 'other',
- 'partying', 'playing_sports', 'reading',
- 'rehearsing', 'running', 'running_an_errand',
- 'scheduled_holiday', 'shaving', 'shopping',
- 'skiing', 'sleeping', 'socializing',
- 'studying', 'sunbathing', 'swimming',
- 'taking_a_bath', 'taking_a_shower', 'walking',
- 'walking_the_dog', 'watching_tv',
- 'watching_a_movie', 'working_out', 'writing', ]
+ activities = \
+ {'doing_chores': ['buying_groceries', 'cleaning', 'cooking',
+ 'doing_maintenance', 'doing_the_dishes' 'doing_the_laundry',
+ 'gardening', 'running_an_errand', 'walking_the_dog'],
+ 'drinking': ['having_a_beer', 'having_coffee', 'having_tea'],
+ 'eating': ['having_a_snack', 'having_breakfast', 'having_dinner',
+ 'having_lunch'],
+ 'excercising': ['cycling', 'hiking', 'jogging', 'playing_sports',
+ 'running', 'skiing', 'swimming', 'working_out'],
+ 'grooming': ['at_the_spa', 'brushing_teeth', 'getting_a_haircut',
+ 'shaving','taking_a_bath', 'taking_a_shower'],
+ 'having_appointment': [],
+ 'inactive': ['day_off', 'hanging_out', 'on_vacation', 'scheduled_holiday',
+ 'sleeping'],
+ 'relaxing': ['gaming', 'going_out', 'partying', 'reading', 'rehearsing',
+ 'shopping', 'socializing', 'sunbathing', 'watching_tv',
+ 'watching_a_movie'],
+ 'talking': ['in_real_life', 'on_the_phone', 'on_video_phone'],
+ 'traveling': ['commuting', 'cycling', 'driving', 'in_a_car', 'on_a_bus',
+ 'on_a_plane', 'on_a_train', 'on_a_trip', 'walking'],
+ 'working': ['coding', 'in_a_meeting', 'studying', 'writing']}
def __init__(self, account):
self.account = account
self.xml = gtkgui_helpers.get_glade('change_activity_dialog.glade')
@@ -405,23 +401,20 @@
self.entry = self.xml.get_widget('description_entry')
self.activity_combo = self.xml.get_widget('activity_combobox')
- self.liststore1 = gtk.ListStore(str)
+ self.liststore1 = gtk.ListStore(str, str) # translated, english
self.activity_combo.set_model(self.liststore1)
for activity in self.activities:
- self.liststore1.append((activity,))
+ self.liststore1.append((helpers.get_uf_activity(activity), activity))
cellrenderertext = gtk.CellRendererText()
self.activity_combo.pack_start(cellrenderertext, True)
self.activity_combo.add_attribute(cellrenderertext, 'text', 0)
self.subactivity_combo = self.xml.get_widget('subactivity_combobox')
- self.liststore2 = gtk.ListStore(str)
+ self.liststore2 = gtk.ListStore(str, str) # translated, english
self.subactivity_combo.set_model(self.liststore2)
- for subactivity in self.subactivities:
- self.liststore2.append((subactivity,))
-
cellrenderertext = gtk.CellRendererText()
self.subactivity_combo.pack_start(cellrenderertext, True)
self.subactivity_combo.add_attribute(cellrenderertext, 'text', 0)
@@ -429,6 +422,15 @@
self.xml.signal_autoconnect(self)
self.window.show_all()
+ def on_activity_combobox_changed(self, widget):
+ self.liststore2.clear()
+ selected_activity = self.activity_combo.get_active()
+ if selected_activity > -1:
+ selected_activity = self.liststore1[selected_activity][1]
+ for subactivity in self.activities[selected_activity]:
+ self.liststore2.append((helpers.get_uf_activity(subactivity),
+ subactivity))
+
def on_ok_button_clicked(self, widget):
'''Return activity and messsage (None if no activity selected)'''
activity = None
@@ -437,9 +439,9 @@
active1 = self.activity_combo.get_active()
active2 = self.subactivity_combo.get_active()
if active1 > -1:
- activity = self.liststore1[active1][0].decode('utf-8')
+ activity = self.liststore1[active1][1].decode('utf-8')
if active2 > -1:
- subactivity = self.liststore2[active2][0].decode('utf-8')
+ subactivity = self.liststore2[active2][1].decode('utf-8')
message = self.entry.get_text().decode('utf-8')
from common import pep
pep.user_send_activity(self.account, activity,
@@ -473,11 +475,11 @@
self.entry = self.xml.get_widget('description_entry')
self.combo = self.xml.get_widget('type_combobox')
- self.liststore = gtk.ListStore(str)
+ self.liststore = gtk.ListStore(str, str) # translated, english
self.combo.set_model(self.liststore)
for mood in self.moods:
- self.liststore.append((mood,))
+ self.liststore.append((helpers.get_uf_mood(mood), mood))
cellrenderertext = gtk.CellRendererText()
self.combo.pack_start(cellrenderertext, True)
@@ -491,7 +493,7 @@
message = None
active = self.combo.get_active()
if active > -1:
- mood = self.liststore[active][0].decode('utf-8')
+ mood = self.liststore[active][1].decode('utf-8')
message = self.entry.get_text().decode('utf-8')
from common import pep
pep.user_send_mood(self.account, mood, message)
Modified: trunk/src/tooltips.py
===================================================================
--- trunk/src/tooltips.py 2008-04-07 11:14:23 UTC (rev 9448)
+++ trunk/src/tooltips.py 2008-04-07 11:17:33 UTC (rev 9449)
@@ -501,6 +501,8 @@
if contact.mood.has_key('mood'):
mood = contact.mood['mood'].strip()
+ # translate it
+ mood = helpers.get_uf_mood(mood)
mood = gobject.markup_escape_text(mood)
mood_string = _('Mood:') + ' <b>%s</b>' % mood
if contact.mood.has_key('text') and contact.mood['text'] != '':
@@ -511,10 +513,14 @@
if contact.activity.has_key('activity'):
activity = contact.activity['activity'].strip()
+ # translate it
+ activity = helpers.get_uf_activity(activity)
activity = gobject.markup_escape_text(activity)
activity_string = _('Activity:') + ' <b>%s' % activity
if contact.activity.has_key('subactivity'):
activity_sub = contact.activity['subactivity'].strip()
+ # translate it
+ activity_sub = helpers.get_uf_activity(activity_sub)
activity_sub = gobject.markup_escape_text(activity_sub)
activity_string += ' (%s)</b>' % activity_sub
else: