| 206 |
206 |
| 207 if (ui_ops && ui_ops->update_icon) |
207 if (ui_ops && ui_ops->update_icon) |
| 208 ui_ops->update_icon(status); |
208 ui_ops->update_icon(status); |
| 209 |
209 |
| 210 /* and schedule the blinker function if messages are pending */ |
210 /* and schedule the blinker function if messages are pending */ |
| 211 if ((status == DOCKLET_STATUS_ONLINE_PENDING |
211 if (gaim_prefs_get_bool("/gaim/gtk/docklet/blink") && |
| 212 || status == DOCKLET_STATUS_AWAY_PENDING) |
212 (status == DOCKLET_STATUS_ONLINE_PENDING |
| 213 && docklet_blinking_timer == 0) { |
213 || status == DOCKLET_STATUS_AWAY_PENDING) |
| |
214 && docklet_blinking_timer == 0) { |
| 214 docklet_blinking_timer = g_timeout_add(500, docklet_blink_icon, NULL); |
215 docklet_blinking_timer = g_timeout_add(500, docklet_blink_icon, NULL); |
| 215 } |
216 } |
| 216 } |
217 } |
| 217 |
218 |
| 218 return FALSE; /* for when we're called by the glib idle handler */ |
219 return FALSE; /* for when we're called by the glib idle handler */ |
| 284 **************************************************************************/ |
285 **************************************************************************/ |
| 285 static void |
286 static void |
| 286 docklet_toggle_mute(GtkWidget *toggle, void *data) |
287 docklet_toggle_mute(GtkWidget *toggle, void *data) |
| 287 { |
288 { |
| 288 gaim_prefs_set_bool("/gaim/gtk/sound/mute", GTK_CHECK_MENU_ITEM(toggle)->active); |
289 gaim_prefs_set_bool("/gaim/gtk/sound/mute", GTK_CHECK_MENU_ITEM(toggle)->active); |
| |
290 } |
| |
291 |
| |
292 static void |
| |
293 docklet_toggle_blink(GtkWidget *toggle, void *data) |
| |
294 { |
| |
295 gaim_prefs_set_bool("/gaim/gtk/docklet/blink", GTK_CHECK_MENU_ITEM(toggle)->active); |
| 289 } |
296 } |
| 290 |
297 |
| 291 static void |
298 static void |
| 292 docklet_toggle_blist(GtkWidget *toggle, void *data) |
299 docklet_toggle_blist(GtkWidget *toggle, void *data) |
| 293 { |
300 { |
| 499 menuitem = gtk_check_menu_item_new_with_label(_("Mute Sounds")); |
506 menuitem = gtk_check_menu_item_new_with_label(_("Mute Sounds")); |
| 500 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), gaim_prefs_get_bool("/gaim/gtk/sound/mute")); |
507 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), gaim_prefs_get_bool("/gaim/gtk/sound/mute")); |
| 501 if (!strcmp(gaim_prefs_get_string("/gaim/gtk/sound/method"), "none")) |
508 if (!strcmp(gaim_prefs_get_string("/gaim/gtk/sound/method"), "none")) |
| 502 gtk_widget_set_sensitive(GTK_WIDGET(menuitem), FALSE); |
509 gtk_widget_set_sensitive(GTK_WIDGET(menuitem), FALSE); |
| 503 g_signal_connect(G_OBJECT(menuitem), "toggled", G_CALLBACK(docklet_toggle_mute), NULL); |
510 g_signal_connect(G_OBJECT(menuitem), "toggled", G_CALLBACK(docklet_toggle_mute), NULL); |
| |
511 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
| |
512 |
| |
513 menuitem = gtk_check_menu_item_new_with_label(_("Blink on new message")); |
| |
514 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), gaim_prefs_get_bool("/gaim/gtk/docklet/blink")); |
| |
515 g_signal_connect(G_OBJECT(menuitem), "toggled", G_CALLBACK(docklet_toggle_blink), NULL); |
| 504 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
516 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
| 505 |
517 |
| 506 gaim_separator(menu); |
518 gaim_separator(menu); |
| 507 |
519 |
| 508 /* TODO: need a submenu to change status, this needs to "link" |
520 /* TODO: need a submenu to change status, this needs to "link" |
| 584 { |
596 { |
| 585 void *conn_handle = gaim_connections_get_handle(); |
597 void *conn_handle = gaim_connections_get_handle(); |
| 586 void *conv_handle = gaim_conversations_get_handle(); |
598 void *conv_handle = gaim_conversations_get_handle(); |
| 587 void *accounts_handle = gaim_accounts_get_handle(); |
599 void *accounts_handle = gaim_accounts_get_handle(); |
| 588 void *docklet_handle = gaim_gtk_docklet_get_handle(); |
600 void *docklet_handle = gaim_gtk_docklet_get_handle(); |
| |
601 |
| |
602 gaim_prefs_add_none("/gaim/gtk/docklet"); |
| |
603 gaim_prefs_add_bool("/gaim/gtk/docklet/blink", FALSE); |
| |
604 gaim_prefs_add_string("/gaim/gtk/docklet/show", "always"); |
| 589 |
605 |
| 590 docklet_ui_init(); |
606 docklet_ui_init(); |
| 591 if (ui_ops && ui_ops->create) |
607 if (ui_ops && ui_ops->create) |
| 592 ui_ops->create(); |
608 ui_ops->create(); |
| 593 gaim_signal_connect(conn_handle, "signed-on", |
609 gaim_signal_connect(conn_handle, "signed-on", |