| 198 messaging_menu_remove_conversation(conv); |
198 messaging_menu_remove_conversation(conv); |
| 199 update_launcher(); |
199 update_launcher(); |
| 200 } |
200 } |
| 201 |
201 |
| 202 static int |
202 static int |
| 203 unalert_cb(GtkWidget *widget, gpointer data, PurpleConversation *conv) |
203 unalert_cb(G_GNUC_UNUSED GtkWidget *widget, G_GNUC_UNUSED gpointer data, |
| |
204 PurpleConversation *conv) |
| 204 { |
205 { |
| 205 unalert(conv); |
206 unalert(conv); |
| 206 return 0; |
207 return 0; |
| 207 } |
208 } |
| 208 |
209 |
| 209 static gboolean |
210 static gboolean |
| 210 message_displayed_cb(PurpleConversation *conv, PurpleMessage *msg, gpointer _unused) |
211 message_displayed_cb(PurpleConversation *conv, PurpleMessage *msg, |
| |
212 G_GNUC_UNUSED gpointer data) |
| 211 { |
213 { |
| 212 PurpleMessageFlags flags = purple_message_get_flags(msg); |
214 PurpleMessageFlags flags = purple_message_get_flags(msg); |
| 213 |
215 |
| 214 if ((PURPLE_IS_CHAT_CONVERSATION(conv) && alert_chat_nick && |
216 if ((PURPLE_IS_CHAT_CONVERSATION(conv) && alert_chat_nick && |
| 215 !(flags & PURPLE_MESSAGE_NICK))) |
217 !(flags & PURPLE_MESSAGE_NICK))) |
| 220 |
222 |
| 221 return FALSE; |
223 return FALSE; |
| 222 } |
224 } |
| 223 |
225 |
| 224 static void |
226 static void |
| 225 im_sent_im(PurpleAccount *account, PurpleMessage *msg, gpointer _unused) |
227 im_sent_im(PurpleAccount *account, PurpleMessage *msg, |
| |
228 G_GNUC_UNUSED gpointer data) |
| 226 { |
229 { |
| 227 PurpleConversation *im = NULL; |
230 PurpleConversation *im = NULL; |
| 228 PurpleConversationManager *manager = NULL; |
231 PurpleConversationManager *manager = NULL; |
| 229 |
232 |
| 230 manager = purple_conversation_manager_get_default(); |
233 manager = purple_conversation_manager_get_default(); |
| 234 |
237 |
| 235 unalert(im); |
238 unalert(im); |
| 236 } |
239 } |
| 237 |
240 |
| 238 static void |
241 static void |
| 239 chat_sent_im(PurpleAccount *account, PurpleMessage *msg, int id) |
242 chat_sent_im(PurpleAccount *account, G_GNUC_UNUSED PurpleMessage *msg, int id) |
| 240 { |
243 { |
| 241 PurpleConversation *chat = NULL; |
244 PurpleConversation *chat = NULL; |
| 242 PurpleConversationManager *manager = NULL; |
245 PurpleConversationManager *manager = NULL; |
| 243 |
246 |
| 244 manager = purple_conversation_manager_get_default(); |
247 manager = purple_conversation_manager_get_default(); |
| 262 detach_signals(conv); |
265 detach_signals(conv); |
| 263 unalert(conv); |
266 unalert(conv); |
| 264 } |
267 } |
| 265 |
268 |
| 266 static void |
269 static void |
| 267 message_source_activated(MessagingMenuApp *app, const gchar *id, |
270 message_source_activated(G_GNUC_UNUSED MessagingMenuApp *app, |
| 268 gpointer user_data) |
271 const gchar *id, |
| |
272 G_GNUC_UNUSED gpointer user_data) |
| 269 { |
273 { |
| 270 gchar **sections = g_strsplit(id, ":", 0); |
274 gchar **sections = g_strsplit(id, ":", 0); |
| 271 PurpleConversation *conv = NULL; |
275 PurpleConversation *conv = NULL; |
| 272 PurpleConversationManager *conversation_manager = NULL; |
276 PurpleConversationManager *conversation_manager = NULL; |
| 273 PurpleAccount *account; |
277 PurpleAccount *account; |
| 374 } |
378 } |
| 375 messaging_menu_app_set_status(mmapp, status); |
379 messaging_menu_app_set_status(mmapp, status); |
| 376 } |
380 } |
| 377 |
381 |
| 378 static void |
382 static void |
| 379 messaging_menu_status_changed(MessagingMenuApp *mmapp, |
383 messaging_menu_status_changed(G_GNUC_UNUSED MessagingMenuApp *mmapp, |
| 380 MessagingMenuStatus mm_status, gpointer user_data) |
384 MessagingMenuStatus mm_status, |
| |
385 G_GNUC_UNUSED gpointer user_data) |
| 381 { |
386 { |
| 382 PurpleSavedStatus *saved_status; |
387 PurpleSavedStatus *saved_status; |
| 383 PurpleStatusPrimitive primitive = PURPLE_STATUS_UNSET; |
388 PurpleStatusPrimitive primitive = PURPLE_STATUS_UNSET; |
| 384 |
389 |
| 385 switch (mm_status) { |
390 switch (mm_status) { |
| 412 saved_status = create_transient_status(primitive, NULL); |
417 saved_status = create_transient_status(primitive, NULL); |
| 413 purple_savedstatus_activate(saved_status); |
418 purple_savedstatus_activate(saved_status); |
| 414 } |
419 } |
| 415 |
420 |
| 416 static void |
421 static void |
| 417 alert_config_cb(GtkWidget *widget, gpointer data) |
422 alert_config_cb(GtkWidget *widget, G_GNUC_UNUSED gpointer data) |
| 418 { |
423 { |
| 419 gboolean on = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); |
424 gboolean on = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); |
| 420 purple_prefs_set_bool("/plugins/gtk/unity/alert_chat_nick", on); |
425 purple_prefs_set_bool("/plugins/gtk/unity/alert_chat_nick", on); |
| 421 alert_chat_nick = on; |
426 alert_chat_nick = on; |
| 422 } |
427 } |
| 487 g_object_set_data(G_OBJECT(conv), "unity-message-count", |
492 g_object_set_data(G_OBJECT(conv), "unity-message-count", |
| 488 GINT_TO_POINTER(0)); |
493 GINT_TO_POINTER(0)); |
| 489 } |
494 } |
| 490 |
495 |
| 491 static GtkWidget * |
496 static GtkWidget * |
| 492 get_config_frame(PurplePlugin *plugin) |
497 get_config_frame(G_GNUC_UNUSED PurplePlugin *plugin) |
| 493 { |
498 { |
| 494 GtkWidget *ret = NULL, *frame = NULL; |
499 GtkWidget *ret = NULL, *frame = NULL; |
| 495 GtkWidget *vbox = NULL, *toggle = NULL, *group = NULL; |
500 GtkWidget *vbox = NULL, *toggle = NULL, *group = NULL; |
| 496 |
501 |
| 497 ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 18); |
502 ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 18); |
| 594 NULL |
599 NULL |
| 595 ); |
600 ); |
| 596 } |
601 } |
| 597 |
602 |
| 598 static gboolean |
603 static gboolean |
| 599 unity_load(GPluginPlugin *plugin, GError **error) { |
604 unity_load(GPluginPlugin *plugin, G_GNUC_UNUSED GError **error) { |
| 600 GList *convs = NULL; |
605 GList *convs = NULL; |
| 601 PurpleConversationManager *manager = NULL; |
606 PurpleConversationManager *manager = NULL; |
| 602 PurpleSavedStatus *saved_status; |
607 PurpleSavedStatus *saved_status; |
| 603 void *conv_handle = purple_conversations_get_handle(); |
608 void *conv_handle = purple_conversations_get_handle(); |
| 604 void *gtk_conv_handle = pidgin_conversations_get_handle(); |
609 void *gtk_conv_handle = pidgin_conversations_get_handle(); |
| 655 |
660 |
| 656 return TRUE; |
661 return TRUE; |
| 657 } |
662 } |
| 658 |
663 |
| 659 static gboolean |
664 static gboolean |
| 660 unity_unload(GPluginPlugin *plugin, gboolean shutdown, GError **error) { |
665 unity_unload(G_GNUC_UNUSED GPluginPlugin *plugin, |
| |
666 G_GNUC_UNUSED gboolean shutdown, |
| |
667 G_GNUC_UNUSED GError **error) |
| |
668 { |
| 661 GList *convs = NULL; |
669 GList *convs = NULL; |
| 662 PurpleConversationManager *manager = NULL; |
670 PurpleConversationManager *manager = NULL; |
| 663 |
671 |
| 664 manager = purple_conversation_manager_get_default(); |
672 manager = purple_conversation_manager_get_default(); |
| 665 convs = purple_conversation_manager_get_all(manager); |
673 convs = purple_conversation_manager_get_all(manager); |