| 123 saved_status = purple_savedstatus_get_current(); |
123 saved_status = purple_savedstatus_get_current(); |
| 124 |
124 |
| 125 /* determine if any ims have unseen messages */ |
125 /* determine if any ims have unseen messages */ |
| 126 convs = get_pending_list(DOCKLET_TOOLTIP_LINE_LIMIT); |
126 convs = get_pending_list(DOCKLET_TOOLTIP_LINE_LIMIT); |
| 127 |
127 |
| 128 if (!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/docklet/show"), "pending")) { |
128 if (purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/docklet/show"), "pending")) { |
| 129 if (convs && ui_ops->create && !visible) { |
129 if (convs && ui_ops->create && !visible) { |
| 130 g_list_free(convs); |
130 g_list_free(convs); |
| 131 ui_ops->create(); |
131 ui_ops->create(); |
| 132 return FALSE; |
132 return FALSE; |
| 133 } else if (!convs && ui_ops->destroy && visible) { |
133 } else if (!convs && ui_ops->destroy && visible) { |
| 283 static void |
283 static void |
| 284 docklet_show_pref_changed_cb(const char *name, PurplePrefType type, |
284 docklet_show_pref_changed_cb(const char *name, PurplePrefType type, |
| 285 gconstpointer value, gpointer data) |
285 gconstpointer value, gpointer data) |
| 286 { |
286 { |
| 287 const char *val = value; |
287 const char *val = value; |
| 288 if (!strcmp(val, "always")) { |
288 if (purple_strequal(val, "always")) { |
| 289 if (ui_ops->create) { |
289 if (ui_ops->create) { |
| 290 if (!visible) |
290 if (!visible) |
| 291 ui_ops->create(); |
291 ui_ops->create(); |
| 292 else if (!visibility_manager) { |
292 else if (!visibility_manager) { |
| 293 pidgin_blist_visibility_manager_add(); |
293 pidgin_blist_visibility_manager_add(); |
| 294 visibility_manager = TRUE; |
294 visibility_manager = TRUE; |
| 295 } |
295 } |
| 296 } |
296 } |
| 297 } else if (!strcmp(val, "never")) { |
297 } else if (purple_strequal(val, "never")) { |
| 298 if (visible && ui_ops->destroy) |
298 if (visible && ui_ops->destroy) |
| 299 ui_ops->destroy(); |
299 ui_ops->destroy(); |
| 300 } else { |
300 } else { |
| 301 if (visibility_manager) { |
301 if (visibility_manager) { |
| 302 pidgin_blist_visibility_manager_remove(); |
302 pidgin_blist_visibility_manager_remove(); |
| 424 PurpleAccount *acct = tmp->data; |
424 PurpleAccount *acct = tmp->data; |
| 425 PurpleSavedStatusSub *sub = purple_savedstatus_get_substatus(ss, acct); |
425 PurpleSavedStatusSub *sub = purple_savedstatus_get_substatus(ss, acct); |
| 426 if (sub) { |
426 if (sub) { |
| 427 const PurpleStatusType *sub_type = purple_savedstatus_substatus_get_type(sub); |
427 const PurpleStatusType *sub_type = purple_savedstatus_substatus_get_type(sub); |
| 428 const char *subtype_status_id = purple_status_type_get_id(sub_type); |
428 const char *subtype_status_id = purple_status_type_get_id(sub_type); |
| 429 if (subtype_status_id && !strcmp(subtype_status_id, |
429 if (subtype_status_id && purple_strequal(subtype_status_id, |
| 430 purple_status_type_get_id(status_type))) |
430 purple_status_type_get_id(status_type))) |
| 431 found = TRUE; |
431 found = TRUE; |
| 432 } |
432 } |
| 433 } |
433 } |
| 434 if (!found) |
434 if (!found) |
| 725 |
725 |
| 726 pidgin_separator(menu); |
726 pidgin_separator(menu); |
| 727 |
727 |
| 728 menuitem = gtk_check_menu_item_new_with_mnemonic(_("Mute _Sounds")); |
728 menuitem = gtk_check_menu_item_new_with_mnemonic(_("Mute _Sounds")); |
| 729 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/sound/mute")); |
729 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/sound/mute")); |
| 730 if (!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none")) |
730 if (purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none")) |
| 731 gtk_widget_set_sensitive(GTK_WIDGET(menuitem), FALSE); |
731 gtk_widget_set_sensitive(GTK_WIDGET(menuitem), FALSE); |
| 732 g_signal_connect(G_OBJECT(menuitem), "toggled", G_CALLBACK(docklet_toggle_mute), NULL); |
732 g_signal_connect(G_OBJECT(menuitem), "toggled", G_CALLBACK(docklet_toggle_mute), NULL); |
| 733 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
733 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
| 734 |
734 |
| 735 menuitem = gtk_check_menu_item_new_with_mnemonic(_("_Blink on New Message")); |
735 menuitem = gtk_check_menu_item_new_with_mnemonic(_("_Blink on New Message")); |
| 842 purple_prefs_add_string(PIDGIN_PREFS_ROOT "/docklet/show", "always"); |
842 purple_prefs_add_string(PIDGIN_PREFS_ROOT "/docklet/show", "always"); |
| 843 purple_prefs_connect_callback(docklet_handle, PIDGIN_PREFS_ROOT "/docklet/show", |
843 purple_prefs_connect_callback(docklet_handle, PIDGIN_PREFS_ROOT "/docklet/show", |
| 844 docklet_show_pref_changed_cb, NULL); |
844 docklet_show_pref_changed_cb, NULL); |
| 845 |
845 |
| 846 docklet_ui_init(); |
846 docklet_ui_init(); |
| 847 if (!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/docklet/show"), "always") && ui_ops && ui_ops->create) |
847 if (purple_strequal(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/docklet/show"), "always") && ui_ops && ui_ops->create) |
| 848 ui_ops->create(); |
848 ui_ops->create(); |
| 849 |
849 |
| 850 purple_signal_connect(conn_handle, "signed-on", |
850 purple_signal_connect(conn_handle, "signed-on", |
| 851 docklet_handle, PURPLE_CALLBACK(docklet_signed_on_cb), NULL); |
851 docklet_handle, PURPLE_CALLBACK(docklet_signed_on_cb), NULL); |
| 852 purple_signal_connect(conn_handle, "signed-off", |
852 purple_signal_connect(conn_handle, "signed-off", |