Mercurial > pidgin
comparison src/gtkimhtmltoolbar.c @ 8420:c25c697525b7
[gaim-migrate @ 9150]
Phase II. If anyone finds anything problematic here that can't be attributed
to GtkIMHtml itself, please let me know (I'll probably tell you it can be
attributed to GtkIMHtml itself ;)).
Love, Sean.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Wed, 10 Mar 2004 06:10:00 +0000 |
parents | 45d1e3ed5a86 |
children | 2e18099ded93 |
comparison
equal
deleted
inserted
replaced
8419:5c6124e9a3a7 | 8420:c25c697525b7 |
---|---|
601 close_smiley_dialog(smiley, NULL, toolbar); | 601 close_smiley_dialog(smiley, NULL, toolbar); |
602 } | 602 } |
603 gtk_widget_grab_focus(toolbar->imhtml); | 603 gtk_widget_grab_focus(toolbar->imhtml); |
604 } | 604 } |
605 | 605 |
606 static void update_buttons_cb(GtkIMHtml *imhtml, GtkIMHtmlButtons buttons, GtkIMHtmlToolbar *toolbar) | |
607 { | |
608 | |
609 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->bold), buttons & GTK_IMHTML_BOLD); | |
610 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->italic), buttons & GTK_IMHTML_ITALIC); | |
611 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->underline), buttons & GTK_IMHTML_UNDERLINE); | |
612 | |
613 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->larger_size), buttons & GTK_IMHTML_GROW); | |
614 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->smaller_size), buttons & GTK_IMHTML_SHRINK); | |
615 | |
616 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->font), buttons & GTK_IMHTML_FACE); | |
617 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->fgcolor), buttons & GTK_IMHTML_FORECOLOR); | |
618 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->bgcolor), buttons & GTK_IMHTML_BACKCOLOR); | |
619 | |
620 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->image), buttons & GTK_IMHTML_IMAGE); | |
621 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->link), buttons & GTK_IMHTML_LINK); | |
622 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->smiley), buttons & GTK_IMHTML_SMILEY); | |
623 | |
624 } | |
625 | |
626 static void toggle_button_cb(GtkIMHtml *imhtml, GtkIMHtmlButtons buttons, GtkIMHtmlToolbar *toolbar) | |
627 { | |
628 /* This is hacky. I have to tolerate the fact that set_active causes the signal to be emited, so I wind up | |
629 * toggling in gtkimhtml twice here */ | |
630 | |
631 if (buttons & GTK_IMHTML_BOLD) { | |
632 gtk_imhtml_toggle_bold(imhtml); | |
633 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->bold), !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toolbar->bold))); | |
634 } | |
635 | |
636 if (buttons & GTK_IMHTML_ITALIC) { | |
637 gtk_imhtml_toggle_italic(imhtml); | |
638 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->italic), !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toolbar->italic))); | |
639 } | |
640 | |
641 if (buttons & GTK_IMHTML_UNDERLINE) { | |
642 gtk_imhtml_toggle_underline(imhtml); | |
643 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->underline), !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toolbar->underline))); | |
644 } | |
645 } | |
646 | |
606 enum { | 647 enum { |
607 LAST_SIGNAL | 648 LAST_SIGNAL |
608 }; | 649 }; |
609 //static guint signals [LAST_SIGNAL] = { 0 }; | 650 //static guint signals [LAST_SIGNAL] = { 0 }; |
610 | 651 |
850 g_return_if_fail(GTK_IS_IMHTMLTOOLBAR(toolbar)); | 891 g_return_if_fail(GTK_IS_IMHTMLTOOLBAR(toolbar)); |
851 g_return_if_fail(imhtml != NULL); | 892 g_return_if_fail(imhtml != NULL); |
852 g_return_if_fail(GTK_IS_IMHTML(imhtml)); | 893 g_return_if_fail(GTK_IS_IMHTML(imhtml)); |
853 | 894 |
854 toolbar->imhtml = imhtml; | 895 toolbar->imhtml = imhtml; |
855 } | 896 g_signal_connect(G_OBJECT(imhtml), "format_functions_update", G_CALLBACK(update_buttons_cb), toolbar); |
897 g_signal_connect(G_OBJECT(imhtml), "format_function_toggle", G_CALLBACK(toggle_button_cb), toolbar); | |
898 } |