Mercurial > pidgin
comparison src/gtkpounce.c @ 13842:a9ff4499d9ce
[gaim-migrate @ 16295]
Hopefully improve the typing notification code so it's a lot easier
to understand. This also creates a distinction between the signals
emitted when receiving GAIM_TYPED and GAIM_NOT_TYPING messages
(by adding a gaim-typed signal). And the gaim-not-typing signal
should work in all cases.
Most of this is stuff I changed last week during work, thanks to
Meebo
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Tue, 20 Jun 2006 08:17:49 +0000 |
parents | 3ac2d64a74a0 |
children | 8bda65b88e49 |
comparison
equal
deleted
inserted
replaced
13841:f3d4a9902ead | 13842:a9ff4499d9ce |
---|---|
79 GtkWidget *away; | 79 GtkWidget *away; |
80 GtkWidget *away_return; | 80 GtkWidget *away_return; |
81 GtkWidget *idle; | 81 GtkWidget *idle; |
82 GtkWidget *idle_return; | 82 GtkWidget *idle_return; |
83 GtkWidget *typing; | 83 GtkWidget *typing; |
84 GtkWidget *typed; | |
84 GtkWidget *stop_typing; | 85 GtkWidget *stop_typing; |
85 GtkWidget *message_recv; | 86 GtkWidget *message_recv; |
86 | 87 |
87 /* Action */ | 88 /* Action */ |
88 GtkWidget *open_win; | 89 GtkWidget *open_win; |
276 events |= GAIM_POUNCE_IDLE_RETURN; | 277 events |= GAIM_POUNCE_IDLE_RETURN; |
277 | 278 |
278 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->typing))) | 279 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->typing))) |
279 events |= GAIM_POUNCE_TYPING; | 280 events |= GAIM_POUNCE_TYPING; |
280 | 281 |
282 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->typed))) | |
283 events |= GAIM_POUNCE_TYPED; | |
284 | |
281 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->stop_typing))) | 285 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->stop_typing))) |
282 events |= GAIM_POUNCE_TYPING_STOPPED; | 286 events |= GAIM_POUNCE_TYPING_STOPPED; |
283 | 287 |
284 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->message_recv))) | 288 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dialog->message_recv))) |
285 events |= GAIM_POUNCE_MESSAGE_RECEIVED; | 289 events |= GAIM_POUNCE_MESSAGE_RECEIVED; |
562 } | 566 } |
563 | 567 |
564 /* Create the "Pounce When Buddy..." frame. */ | 568 /* Create the "Pounce When Buddy..." frame. */ |
565 frame = gaim_gtk_make_frame(vbox2, _("Pounce When Buddy...")); | 569 frame = gaim_gtk_make_frame(vbox2, _("Pounce When Buddy...")); |
566 | 570 |
567 table = gtk_table_new(2, 4, FALSE); | 571 table = gtk_table_new(5, 2, FALSE); |
568 gtk_container_add(GTK_CONTAINER(frame), table); | 572 gtk_container_add(GTK_CONTAINER(frame), table); |
569 gtk_table_set_col_spacings(GTK_TABLE(table), GAIM_HIG_BORDER); | 573 gtk_table_set_col_spacings(GTK_TABLE(table), GAIM_HIG_BORDER); |
570 gtk_widget_show(table); | 574 gtk_widget_show(table); |
571 | 575 |
572 dialog->signon = | 576 dialog->signon = |
581 gtk_check_button_new_with_mnemonic(_("Becomes _idle")); | 585 gtk_check_button_new_with_mnemonic(_("Becomes _idle")); |
582 dialog->idle_return = | 586 dialog->idle_return = |
583 gtk_check_button_new_with_mnemonic(_("Is no longer i_dle")); | 587 gtk_check_button_new_with_mnemonic(_("Is no longer i_dle")); |
584 dialog->typing = | 588 dialog->typing = |
585 gtk_check_button_new_with_mnemonic(_("Starts _typing")); | 589 gtk_check_button_new_with_mnemonic(_("Starts _typing")); |
590 dialog->typed = | |
591 gtk_check_button_new_with_mnemonic(_("P_auses while typing")); | |
586 dialog->stop_typing = | 592 dialog->stop_typing = |
587 gtk_check_button_new_with_mnemonic(_("Stops t_yping")); | 593 gtk_check_button_new_with_mnemonic(_("Stops t_yping")); |
588 dialog->message_recv = | 594 dialog->message_recv = |
589 gtk_check_button_new_with_mnemonic(_("Sends a _message")); | 595 gtk_check_button_new_with_mnemonic(_("Sends a _message")); |
590 | 596 |
591 gtk_table_attach(GTK_TABLE(table), dialog->signon, 0, 1, 0, 1, | 597 gtk_table_attach(GTK_TABLE(table), dialog->message_recv, 0, 1, 0, 1, |
592 GTK_FILL, 0, 0, 0); | 598 GTK_FILL, 0, 0, 0); |
593 gtk_table_attach(GTK_TABLE(table), dialog->signoff, 1, 2, 0, 1, | 599 gtk_table_attach(GTK_TABLE(table), dialog->signon, 0, 1, 1, 2, |
594 GTK_FILL, 0, 0, 0); | 600 GTK_FILL, 0, 0, 0); |
595 gtk_table_attach(GTK_TABLE(table), dialog->away, 0, 1, 1, 2, | 601 gtk_table_attach(GTK_TABLE(table), dialog->signoff, 0, 1, 2, 3, |
596 GTK_FILL, 0, 0, 0); | 602 GTK_FILL, 0, 0, 0); |
597 gtk_table_attach(GTK_TABLE(table), dialog->away_return, 1, 2, 1, 2, | 603 gtk_table_attach(GTK_TABLE(table), dialog->away, 0, 1, 3, 4, |
598 GTK_FILL, 0, 0, 0); | 604 GTK_FILL, 0, 0, 0); |
599 gtk_table_attach(GTK_TABLE(table), dialog->idle, 0, 1, 2, 3, | 605 gtk_table_attach(GTK_TABLE(table), dialog->away_return, 0, 1, 4, 5, |
600 GTK_FILL, 0, 0, 0); | 606 GTK_FILL, 0, 0, 0); |
601 gtk_table_attach(GTK_TABLE(table), dialog->idle_return, 1, 2, 2, 3, | 607 gtk_table_attach(GTK_TABLE(table), dialog->idle, 1, 2, 0, 1, |
602 GTK_FILL, 0, 0, 0); | 608 GTK_FILL, 0, 0, 0); |
603 gtk_table_attach(GTK_TABLE(table), dialog->typing, 0, 1, 3, 4, | 609 gtk_table_attach(GTK_TABLE(table), dialog->idle_return, 1, 2, 1, 2, |
604 GTK_FILL, 0, 0, 0); | 610 GTK_FILL, 0, 0, 0); |
605 gtk_table_attach(GTK_TABLE(table), dialog->stop_typing, 1, 2, 3, 4, | 611 gtk_table_attach(GTK_TABLE(table), dialog->typing, 1, 2, 2, 3, |
606 GTK_FILL, 0, 0, 0); | 612 GTK_FILL, 0, 0, 0); |
607 gtk_table_attach(GTK_TABLE(table), dialog->message_recv, 0, 1, 4, 5, | 613 gtk_table_attach(GTK_TABLE(table), dialog->typed, 1, 2, 3, 4, |
614 GTK_FILL, 0, 0, 0); | |
615 gtk_table_attach(GTK_TABLE(table), dialog->stop_typing, 1, 2, 4, 5, | |
608 GTK_FILL, 0, 0, 0); | 616 GTK_FILL, 0, 0, 0); |
609 | 617 |
610 gtk_widget_show(dialog->signon); | 618 gtk_widget_show(dialog->signon); |
611 gtk_widget_show(dialog->signoff); | 619 gtk_widget_show(dialog->signoff); |
612 gtk_widget_show(dialog->away); | 620 gtk_widget_show(dialog->away); |
613 gtk_widget_show(dialog->away_return); | 621 gtk_widget_show(dialog->away_return); |
614 gtk_widget_show(dialog->idle); | 622 gtk_widget_show(dialog->idle); |
615 gtk_widget_show(dialog->idle_return); | 623 gtk_widget_show(dialog->idle_return); |
616 gtk_widget_show(dialog->typing); | 624 gtk_widget_show(dialog->typing); |
625 gtk_widget_show(dialog->typed); | |
617 gtk_widget_show(dialog->stop_typing); | 626 gtk_widget_show(dialog->stop_typing); |
618 gtk_widget_show(dialog->message_recv); | 627 gtk_widget_show(dialog->message_recv); |
619 | 628 |
620 /* Create the "Action" frame. */ | 629 /* Create the "Action" frame. */ |
621 frame = gaim_gtk_make_frame(vbox2, _("Action")); | 630 frame = gaim_gtk_make_frame(vbox2, _("Action")); |
843 (events & GAIM_POUNCE_IDLE)); | 852 (events & GAIM_POUNCE_IDLE)); |
844 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->idle_return), | 853 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->idle_return), |
845 (events & GAIM_POUNCE_IDLE_RETURN)); | 854 (events & GAIM_POUNCE_IDLE_RETURN)); |
846 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->typing), | 855 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->typing), |
847 (events & GAIM_POUNCE_TYPING)); | 856 (events & GAIM_POUNCE_TYPING)); |
857 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->typed), | |
858 (events & GAIM_POUNCE_TYPED)); | |
848 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->stop_typing), | 859 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->stop_typing), |
849 (events & GAIM_POUNCE_TYPING_STOPPED)); | 860 (events & GAIM_POUNCE_TYPING_STOPPED)); |
850 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->message_recv), | 861 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog->message_recv), |
851 (events & GAIM_POUNCE_MESSAGE_RECEIVED)); | 862 (events & GAIM_POUNCE_MESSAGE_RECEIVED)); |
852 | 863 |
1427 * confusion about what protocol a pounce is for. | 1438 * confusion about what protocol a pounce is for. |
1428 */ | 1439 */ |
1429 tmp = g_strdup_printf( | 1440 tmp = g_strdup_printf( |
1430 (events & GAIM_POUNCE_TYPING) ? | 1441 (events & GAIM_POUNCE_TYPING) ? |
1431 _("%s has started typing to you (%s)") : | 1442 _("%s has started typing to you (%s)") : |
1443 (events & GAIM_POUNCE_TYPED) ? | |
1444 _("%s has paused while typing to you (%s)") : | |
1432 (events & GAIM_POUNCE_SIGNON) ? | 1445 (events & GAIM_POUNCE_SIGNON) ? |
1433 _("%s has signed on (%s)") : | 1446 _("%s has signed on (%s)") : |
1434 (events & GAIM_POUNCE_IDLE_RETURN) ? | 1447 (events & GAIM_POUNCE_IDLE_RETURN) ? |
1435 _("%s has returned from being idle (%s)") : | 1448 _("%s has returned from being idle (%s)") : |
1436 (events & GAIM_POUNCE_AWAY_RETURN) ? | 1449 (events & GAIM_POUNCE_AWAY_RETURN) ? |