Mercurial > pidgin
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", |