pidgin/gtkdocklet.c

branch
cpw.qulogic.gtk3-required
changeset 33120
f6f1a27ade72
parent 32678
01f6312a4a7b
parent 32395
058f5a09a522
child 33122
40a55fa87823
equal deleted inserted replaced
32771:681ca041d42b 33120:f6f1a27ade72
251 status = newstatus; 251 status = newstatus;
252 pending = newpending; 252 pending = newpending;
253 connecting = newconnecting; 253 connecting = newconnecting;
254 254
255 docklet_gtk_status_update_icon(status, connecting, pending); 255 docklet_gtk_status_update_icon(status, connecting, pending);
256
257 /* and schedule the blinker function if messages are pending */
258 if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/docklet/blink")
259 && pending && !connecting && docklet_blinking_timer == 0) {
260 docklet_blinking_timer = g_timeout_add(500, docklet_blink_icon, NULL);
261 }
262 } 256 }
263 257
264 return FALSE; /* for when we're called by the glib idle handler */ 258 return FALSE; /* for when we're called by the glib idle handler */
265 } 259 }
266 260
354 * docklet pop-up menu 348 * docklet pop-up menu
355 **************************************************************************/ 349 **************************************************************************/
356 static void 350 static void
357 docklet_toggle_mute(GtkWidget *toggle, void *data) 351 docklet_toggle_mute(GtkWidget *toggle, void *data)
358 { 352 {
359 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/sound/mute", GTK_CHECK_MENU_ITEM(toggle)->active); 353 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/sound/mute",
360 } 354 gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(toggle)));
361
362 static void
363 docklet_toggle_blink(GtkWidget *toggle, void *data)
364 {
365 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/docklet/blink", GTK_CHECK_MENU_ITEM(toggle)->active);
366 } 355 }
367 356
368 static void 357 static void
369 docklet_toggle_blist(GtkWidget *toggle, void *data) 358 docklet_toggle_blist(GtkWidget *toggle, void *data)
370 { 359 {
371 purple_blist_set_visible(GTK_CHECK_MENU_ITEM(toggle)->active); 360 purple_blist_set_visible(gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(toggle)));
372 } 361 }
373 362
374 #ifdef _WIN32 363 #ifdef _WIN32
375 /* This is a workaround for a bug in windows GTK+. Clicking outside of the 364 /* This is a workaround for a bug in windows GTK+. Clicking outside of the
376 menu does not get rid of it, so instead we get rid of it as soon as the 365 menu does not get rid of it, so instead we get rid of it as soon as the
562 prim = purple_status_type_get_primitive(status_type); 551 prim = purple_status_type_get_primitive(status_type);
563 552
564 new_menu_item_with_status_icon(menu, 553 new_menu_item_with_status_icon(menu,
565 purple_status_type_get_name(status_type), 554 purple_status_type_get_name(status_type),
566 prim, G_CALLBACK(activate_status_account_cb), 555 prim, G_CALLBACK(activate_status_account_cb),
567 status_type, 0, 0, NULL); 556 GINT_TO_POINTER(status_type), 0, 0, NULL);
568 } 557 }
569 } 558 }
570 559
571 static GtkWidget * 560 static GtkWidget *
572 docklet_status_submenu(void) 561 docklet_status_submenu(void)
632 } 621 }
633 622
634 623
635 624
636 static void 625 static void
637 plugin_act(GtkObject *obj, PurplePluginAction *pam) 626 plugin_act(GtkWidget *widget, PurplePluginAction *pam)
638 { 627 {
639 if (pam && pam->callback) 628 if (pam && pam->callback)
640 pam->callback(pam); 629 pam->callback(pam);
641 } 630 }
642 631
772 menuitem = gtk_check_menu_item_new_with_mnemonic(_("Mute _Sounds")); 761 menuitem = gtk_check_menu_item_new_with_mnemonic(_("Mute _Sounds"));
773 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/sound/mute")); 762 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/sound/mute"));
774 if (!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none")) 763 if (!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none"))
775 gtk_widget_set_sensitive(GTK_WIDGET(menuitem), FALSE); 764 gtk_widget_set_sensitive(GTK_WIDGET(menuitem), FALSE);
776 g_signal_connect(G_OBJECT(menuitem), "toggled", G_CALLBACK(docklet_toggle_mute), NULL); 765 g_signal_connect(G_OBJECT(menuitem), "toggled", G_CALLBACK(docklet_toggle_mute), NULL);
777 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
778
779 menuitem = gtk_check_menu_item_new_with_mnemonic(_("_Blink on New Message"));
780 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/docklet/blink"));
781 g_signal_connect(G_OBJECT(menuitem), "toggled", G_CALLBACK(docklet_toggle_blink), NULL);
782 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); 766 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
783 767
784 pidgin_separator(menu); 768 pidgin_separator(menu);
785 769
786 /* add plugin actions */ 770 /* add plugin actions */

mercurial