From 37de10d82ff1616a800f82e093cd073f1b5bc304 Mon Sep 17 00:00:00 2001 From: Piotr Gaczkowski Date: Sat, 31 Mar 2007 07:43:33 +0000 Subject: [PATCH] Properish mood dialog --- data/glade/change_mood_dialog.glade | 198 +++------------------------- src/dialogs.py | 26 ++-- src/roster_window.py | 1 - 3 files changed, 33 insertions(+), 192 deletions(-) diff --git a/data/glade/change_mood_dialog.glade b/data/glade/change_mood_dialog.glade index f8e1e6f0f..4294d0197 100644 --- a/data/glade/change_mood_dialog.glade +++ b/data/glade/change_mood_dialog.glade @@ -19,6 +19,7 @@ GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST True + False True @@ -95,123 +96,10 @@ 6 - + True - True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - True - True - False - True - GTK_JUSTIFY_LEFT - GTK_WRAP_WORD - True - 0 - 0 - 0 - 0 - 0 - 0 - - - - - - 0 - True - True - - - - - - False - GTK_BUTTONBOX_END - 0 - - - - True - False - True - True - GTK_RELIEF_NORMAL - True - - - - - True - 0.5 - 0.5 - 0 - 0 - 0 - 0 - 0 - 0 - - - - True - False - 2 - - - - True - gtk-save-as - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - Save as Preset... - True - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - - - + False + True 0 @@ -221,83 +109,27 @@ - - False - False - 6 - - - - True - Preset messages: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - False - True - - - - 0 - True - True - - + + True + True + True + True + 0 + + True + + False 0 False - True + False - - - - False - <b>Type your new status message</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - label_item - - 0 diff --git a/src/dialogs.py b/src/dialogs.py index 1eb2f5dd0..30d7517cf 100644 --- a/src/dialogs.py +++ b/src/dialogs.py @@ -309,15 +309,27 @@ class ChooseGPGKeyDialog: class ChangeMoodDialog: def __init__(self): + self.moods = ['afraid', 'amazed', 'angry', 'annoyed', 'anxious', 'aroused', 'ashamed', 'bored', 'brave', 'calm', 'cold', 'confused', 'contented', 'cranky', 'curious', 'depressed', 'disappointed', 'disgusted', 'distracted', 'embarrassed', 'excited', 'flirtatious', 'frustrated', 'grumpy', 'guilty', 'happy', 'hot', 'humbled', 'humiliated', 'hungry', 'hurt', 'impressed', 'in_awe', 'in_love', 'indignant', 'interested', 'intoxicated', 'invincible', 'jealous', 'lonely', 'mean', 'moody', 'nervous', 'neutral', 'offended', 'playful', 'proud', 'relieved', 'remorseful', 'restless', 'sad', 'sarcastic', 'serious', 'shocked', 'shy', 'sick', 'sleepy', 'stressed', 'surprised', 'thirsty', 'worried', ] self.xml = gtkgui_helpers.get_glade('change_mood_dialog.glade') self.window = self.xml.get_widget('change_mood_dialog') self.window.set_transient_for(gajim.interface.roster.window) self.window.set_title('Mood') - message_textview = self.xml.get_widget('message_textview') - self.message_buffer = message_textview.get_buffer() - #self.message_buffer.connect('changed', - # self.toggle_sensitiviy_of_save_as_preset) + self.entry = self.xml.get_widget('entry') + + self.combo = self.xml.get_widget('combobox') + self.liststore = gtk.ListStore(str) + self.combo.set_model(self.liststore) + + for mood in self.moods: + self.liststore.append((mood,)) + + cellrenderertext = gtk.CellRendererText() + self.combo.pack_start(cellrenderertext, True) + self.combo.add_attribute(cellrenderertext, 'text', 0) + + message_entry = self.xml.get_widget('entry') +# self.message_buffer = message_entry.get_buffer() def run(self): '''Wait for OK or Cancel button to be pressed and return mood @@ -326,10 +338,8 @@ class ChangeMoodDialog: mood = None message = None if rep == gtk.RESPONSE_OK: - beg, end = self.message_buffer.get_bounds() - message = self.message_buffer.get_text(beg, end).decode('utf-8')\ - .strip() - msg = helpers.to_one_line(message) + mood = self.liststore[self.combo.get_active()][0].decode('utf-8') + message = self.entry.get_text().decode('utf-8') self.window.destroy() return (mood, message) diff --git a/src/roster_window.py b/src/roster_window.py index fe7417dd4..a108ca9f3 100644 --- a/src/roster_window.py +++ b/src/roster_window.py @@ -2273,7 +2273,6 @@ class RosterWindow: dlg = dialogs.ChangeMoodDialog() (mood, message) = dlg.run() mood = 'happy' - print account, mood, message if mood is not None: # None is if user pressed Cancel self.send_mood(account, mood, message)