| 244 *****************************************************************************/ |
244 *****************************************************************************/ |
| 245 void |
245 void |
| 246 pidgin_mood_dialog_show(PurpleAccount *account) { |
246 pidgin_mood_dialog_show(PurpleAccount *account) { |
| 247 const gchar *current_mood; |
247 const gchar *current_mood; |
| 248 PurpleRequestFields *fields; |
248 PurpleRequestFields *fields; |
| 249 PurpleRequestFieldGroup *g; |
249 PurpleRequestGroup *g; |
| 250 PurpleRequestField *f; |
250 PurpleRequestField *f; |
| 251 PurpleConnection *gc = NULL; |
251 PurpleConnection *gc = NULL; |
| 252 PurpleProtocol *protocol = NULL; |
252 PurpleProtocol *protocol = NULL; |
| 253 PurpleMood *mood = NULL; |
253 PurpleMood *mood = NULL; |
| 254 PurpleMood *global_moods = NULL; |
254 PurpleMood *global_moods = NULL; |
| 263 } else { |
263 } else { |
| 264 current_mood = pidgin_mood_get_global_status(); |
264 current_mood = pidgin_mood_get_global_status(); |
| 265 } |
265 } |
| 266 |
266 |
| 267 fields = purple_request_fields_new(); |
267 fields = purple_request_fields_new(); |
| 268 g = purple_request_field_group_new(NULL); |
268 g = purple_request_group_new(NULL); |
| 269 f = purple_request_field_list_new("mood", _("Please select your mood from the list")); |
269 f = purple_request_field_list_new("mood", _("Please select your mood from the list")); |
| 270 |
270 |
| 271 purple_request_field_list_add_icon(f, _("None"), NULL, ""); |
271 purple_request_field_list_add_icon(f, _("None"), NULL, ""); |
| 272 if (current_mood == NULL) |
272 if (current_mood == NULL) |
| 273 purple_request_field_list_add_selected(f, _("None")); |
273 purple_request_field_list_add_selected(f, _("None")); |
| 295 g_free(path); |
295 g_free(path); |
| 296 |
296 |
| 297 if (current_mood && purple_strequal(current_mood, mood->mood)) |
297 if (current_mood && purple_strequal(current_mood, mood->mood)) |
| 298 purple_request_field_list_add_selected(f, _(mood->description)); |
298 purple_request_field_list_add_selected(f, _(mood->description)); |
| 299 } |
299 } |
| 300 purple_request_field_group_add_field(g, f); |
300 purple_request_group_add_field(g, f); |
| 301 |
301 |
| 302 purple_request_fields_add_group(fields, g); |
302 purple_request_fields_add_group(fields, g); |
| 303 |
303 |
| 304 /* if the connection allows setting a mood message */ |
304 /* if the connection allows setting a mood message */ |
| 305 if (gc && (purple_connection_get_flags(gc) & PURPLE_CONNECTION_FLAG_SUPPORT_MOOD_MESSAGES)) { |
305 if (gc && (purple_connection_get_flags(gc) & PURPLE_CONNECTION_FLAG_SUPPORT_MOOD_MESSAGES)) { |
| 306 g = purple_request_field_group_new(NULL); |
306 g = purple_request_group_new(NULL); |
| 307 f = purple_request_field_string_new("text", |
307 f = purple_request_field_string_new("text", |
| 308 _("Message (optional)"), NULL, FALSE); |
308 _("Message (optional)"), NULL, FALSE); |
| 309 purple_request_field_group_add_field(g, f); |
309 purple_request_group_add_field(g, f); |
| 310 purple_request_fields_add_group(fields, g); |
310 purple_request_fields_add_group(fields, g); |
| 311 } |
311 } |
| 312 |
312 |
| 313 purple_request_fields(gc, _("Edit User Mood"), _("Edit User Mood"), |
313 purple_request_fields(gc, _("Edit User Mood"), _("Edit User Mood"), |
| 314 NULL, fields, |
314 NULL, fields, |