comparison gtk/gtkdocklet.c @ 14813:dd000ac4d148

[gaim-migrate @ 17579] Blink icon preference committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Wed, 25 Oct 2006 07:19:20 +0000
parents 510da3975938
children 3a23706f9f4b
comparison
equal deleted inserted replaced
14812:399d4ccb34db 14813:dd000ac4d148
109 } 109 }
110 110
111 static gboolean 111 static gboolean
112 docklet_update_status() 112 docklet_update_status()
113 { 113 {
114 GList *convs; 114 GList *convs = NULL;
115 GList *l; 115 GList *l;
116 int count; 116 int count;
117 DockletStatus newstatus = DOCKLET_STATUS_OFFLINE; 117 DockletStatus newstatus = DOCKLET_STATUS_OFFLINE;
118 gboolean pending = FALSE; 118 gboolean pending = FALSE;
119 119
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",