| 208 status = newstatus; |
208 status = newstatus; |
| 209 pending = newpending; |
209 pending = newpending; |
| 210 connecting = newconnecting; |
210 connecting = newconnecting; |
| 211 |
211 |
| 212 pidgin_docklet_update_icon(); |
212 pidgin_docklet_update_icon(); |
| 213 |
|
| 214 /* and schedule the blinker function if messages are pending */ |
|
| 215 if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/docklet/blink") |
|
| 216 && pending && !connecting && docklet_blinking_timer == 0) { |
|
| 217 docklet_blinking_timer = g_timeout_add(500, docklet_blink_icon, NULL); |
|
| 218 } |
|
| 219 } |
213 } |
| 220 |
214 |
| 221 return FALSE; /* for when we're called by the glib idle handler */ |
215 return FALSE; /* for when we're called by the glib idle handler */ |
| 222 } |
216 } |
| 223 |
217 |
| 314 **************************************************************************/ |
308 **************************************************************************/ |
| 315 static void |
309 static void |
| 316 docklet_toggle_mute(GtkWidget *toggle, void *data) |
310 docklet_toggle_mute(GtkWidget *toggle, void *data) |
| 317 { |
311 { |
| 318 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/sound/mute", |
312 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/sound/mute", |
| 319 gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(toggle))); |
|
| 320 } |
|
| 321 |
|
| 322 static void |
|
| 323 docklet_toggle_blink(GtkWidget *toggle, void *data) |
|
| 324 { |
|
| 325 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/docklet/blink", |
|
| 326 gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(toggle))); |
313 gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(toggle))); |
| 327 } |
314 } |
| 328 |
315 |
| 329 static void |
316 static void |
| 330 docklet_toggle_blist(GtkWidget *toggle, void *data) |
317 docklet_toggle_blist(GtkWidget *toggle, void *data) |
| 734 if (!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none")) |
721 if (!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none")) |
| 735 gtk_widget_set_sensitive(GTK_WIDGET(menuitem), FALSE); |
722 gtk_widget_set_sensitive(GTK_WIDGET(menuitem), FALSE); |
| 736 g_signal_connect(G_OBJECT(menuitem), "toggled", G_CALLBACK(docklet_toggle_mute), NULL); |
723 g_signal_connect(G_OBJECT(menuitem), "toggled", G_CALLBACK(docklet_toggle_mute), NULL); |
| 737 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
724 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
| 738 |
725 |
| 739 menuitem = gtk_check_menu_item_new_with_mnemonic(_("_Blink on New Message")); |
|
| 740 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/docklet/blink")); |
|
| 741 g_signal_connect(G_OBJECT(menuitem), "toggled", G_CALLBACK(docklet_toggle_blink), NULL); |
|
| 742 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
|
| 743 |
|
| 744 pidgin_separator(menu); |
726 pidgin_separator(menu); |
| 745 |
727 |
| 746 /* add plugin actions */ |
728 /* add plugin actions */ |
| 747 docklet_plugin_actions(menu); |
729 docklet_plugin_actions(menu); |
| 748 |
730 |