comparison src/conversation.c @ 1219:2528fc35aa32

[gaim-migrate @ 1229] nothing big, just reorganized the code a little. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Fri, 08 Dec 2000 12:01:22 +0000
parents 29b708cde8a7
children 25611364a504
comparison
equal deleted inserted replaced
1218:1c4185a78183 1219:2528fc35aa32
1710 GtkWidget *paned; 1710 GtkWidget *paned;
1711 GtkWidget *add; 1711 GtkWidget *add;
1712 GtkWidget *toolbar; 1712 GtkWidget *toolbar;
1713 GtkWidget *hbox; 1713 GtkWidget *hbox;
1714 GtkWidget *label; 1714 GtkWidget *label;
1715 int dispstyle; 1715 int dispstyle = set_dispstyle(0);
1716 1716
1717 win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
1718 gtk_window_set_wmclass(GTK_WINDOW(win), "conversation", "Gaim");
1719 gtk_window_set_policy(GTK_WINDOW(win), TRUE, TRUE, TRUE);
1720
1721 gtk_widget_realize(win);
1722 aol_icon(win->window);
1723
1724 c->window = win;
1725
1726 dispstyle = set_dispstyle(0);
1727
1728 send = picture_button2(win, _("Send"), tmp_send_xpm, dispstyle);
1729 info = picture_button2(win, _("Info"), tb_search_xpm, dispstyle);
1730 warn = picture_button2(win, _("Warn"), warn_xpm, dispstyle);
1731 close = picture_button2(win, _("Close"), cancel_xpm, dispstyle);
1732 if (c->gc && find_buddy(c->gc, c->name) != NULL)
1733 add = picture_button2(win, _("Remove"), gnome_remove_xpm, dispstyle);
1734 else
1735 add = picture_button2(win, _("Add"), gnome_add_xpm, dispstyle);
1736 block = picture_button2(win, _("Block"), block_xpm, dispstyle);
1737
1738 /* use a slicker look if the user wants to */
1739 if (display_options & OPT_DISP_COOL_LOOK)
1740 {
1741 gtk_button_set_relief(GTK_BUTTON(send), GTK_RELIEF_NONE);
1742 gtk_button_set_relief(GTK_BUTTON(info), GTK_RELIEF_NONE);
1743 gtk_button_set_relief(GTK_BUTTON(warn), GTK_RELIEF_NONE);
1744 gtk_button_set_relief(GTK_BUTTON(close), GTK_RELIEF_NONE);
1745 gtk_button_set_relief(GTK_BUTTON(add), GTK_RELIEF_NONE);
1746 gtk_button_set_relief(GTK_BUTTON(block), GTK_RELIEF_NONE);
1747 }
1748
1749 bbox = gtk_hbox_new(FALSE, 5);
1750 vbox = gtk_vbox_new(FALSE, 0);
1751 vbox2 = gtk_vbox_new(FALSE, 0);
1752 paned = gtk_vpaned_new();
1753
1754 gtk_paned_pack1(GTK_PANED(paned), vbox, FALSE, TRUE);
1755 gtk_paned_pack2(GTK_PANED(paned), vbox2, FALSE, FALSE);
1756 gtk_widget_show(vbox2);
1757 gtk_widget_show(paned);
1758
1759 hbox = gtk_hbox_new(FALSE, 0);
1760 gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0);
1761 gtk_widget_show(hbox);
1762
1763 label = gtk_label_new(_("Send message as: "));
1764 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
1765 gtk_widget_show(label);
1766
1767 c->menu = gtk_option_menu_new();
1768 gtk_box_pack_start(GTK_BOX(hbox), c->menu, FALSE, FALSE, 5);
1769 gtk_widget_show(c->menu);
1770
1771 create_convo_menu(c);
1772
1773 entry = gtk_text_new(NULL, NULL);
1774 gtk_text_set_editable(GTK_TEXT(entry), TRUE);
1775 gtk_text_set_word_wrap(GTK_TEXT(entry), TRUE);
1776 gtk_object_set_user_data(GTK_OBJECT(entry), c);
1777 c->entry = entry;
1778 gtk_signal_connect(GTK_OBJECT(entry), "activate", GTK_SIGNAL_FUNC(send_callback),c);
1779
1780 /* Toolbar */
1781 toolbar = build_conv_toolbar(c);
1782
1783 /* Text box */
1784 text = gtk_html_new(NULL, NULL);
1785 gtk_html_set_editable(GTK_HTML(text), FALSE);
1786 /*
1787 gtk_html_set_transparent(GTK_HTML(text), (transparent) ? TRUE : FALSE);
1788 */
1789
1790 c->text = text;
1791
1792 sw = gtk_scrolled_window_new (NULL, NULL);
1793 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
1794 GTK_POLICY_NEVER,
1795 GTK_POLICY_ALWAYS);
1796 gtk_widget_show(sw);
1797 gtk_container_add(GTK_CONTAINER(sw), text);
1798 gtk_widget_show(text);
1799
1800 GTK_HTML (text)->hadj->step_increment = 10.0;
1801 GTK_HTML (text)->vadj->step_increment = 10.0;
1802 gtk_widget_set_usize(sw, 320, 150);
1803
1804 /* Ready and pack buttons */
1805 gtk_object_set_user_data(GTK_OBJECT(win), c);
1806 gtk_object_set_user_data(GTK_OBJECT(close), c);
1807 c->close = close;
1808 gtk_signal_connect(GTK_OBJECT(close), "clicked", GTK_SIGNAL_FUNC(close_callback), c);
1809 c->send = send;
1810 gtk_signal_connect(GTK_OBJECT(send), "clicked", GTK_SIGNAL_FUNC(send_callback), c);
1811 c->add = add;
1812 gtk_signal_connect(GTK_OBJECT(add), "clicked", GTK_SIGNAL_FUNC(add_callback), c);
1813 c->info = info;
1814 gtk_signal_connect(GTK_OBJECT(info), "clicked", GTK_SIGNAL_FUNC(info_callback), c);
1815 c->warn = warn;
1816 gtk_signal_connect(GTK_OBJECT(warn), "clicked", GTK_SIGNAL_FUNC(warn_callback), c);
1817 c->block = block;
1818 gtk_signal_connect(GTK_OBJECT(block), "clicked", GTK_SIGNAL_FUNC(block_callback), c);
1819
1820 gtk_signal_connect(GTK_OBJECT(entry), "key_press_event", GTK_SIGNAL_FUNC(keypress_callback), c);
1821
1822 if (display_options & OPT_DISP_CONV_BIG_ENTRY)
1823 gtk_widget_set_usize(entry, 300, 50);
1824 else
1825 gtk_widget_set_usize(entry, 300, 25);
1826
1827 gtk_box_pack_end(GTK_BOX(bbox), close, dispstyle, dispstyle, 0);
1828 c->sep1 = gtk_vseparator_new();
1829 gtk_widget_show(c->sep1);
1830 gtk_box_pack_end(GTK_BOX(bbox), c->sep1, dispstyle, dispstyle, 0);
1831 gtk_box_pack_end(GTK_BOX(bbox), add, dispstyle, dispstyle, 0);
1832 gtk_box_pack_end(GTK_BOX(bbox), block, dispstyle, dispstyle, 0);
1833 gtk_box_pack_end(GTK_BOX(bbox), warn, dispstyle, dispstyle, 0);
1834 gtk_box_pack_end(GTK_BOX(bbox), info, dispstyle, dispstyle, 0);
1835 c->sep2 = gtk_vseparator_new();
1836 gtk_widget_show(c->sep2);
1837 gtk_box_pack_end(GTK_BOX(bbox), c->sep2, dispstyle, dispstyle, 0);
1838 gtk_box_pack_end(GTK_BOX(bbox), send, dispstyle, dispstyle, 0);
1839
1840 /* pack and fill the rest */
1841 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5);
1842 gtk_box_pack_start(GTK_BOX(vbox2), toolbar, FALSE, FALSE, 5);
1843 gtk_box_pack_start(GTK_BOX(vbox2), entry, TRUE, TRUE, 5);
1844 gtk_box_pack_start(GTK_BOX(vbox2), bbox, FALSE, FALSE, 5);
1845
1846 gtk_widget_show(send);
1847 gtk_widget_show(info);
1848 gtk_widget_show(warn);
1849 gtk_widget_show(close);
1850 gtk_widget_show(add);
1851 gtk_widget_show(block);
1852 gtk_widget_show(bbox);
1853 gtk_widget_show(vbox);
1854 gtk_widget_show(entry);
1855 gtk_widget_show(text);
1856
1857 c->font_dialog = NULL; 1717 c->font_dialog = NULL;
1858 c->fg_color_dialog = NULL; 1718 c->fg_color_dialog = NULL;
1859 c->bg_color_dialog = NULL; 1719 c->bg_color_dialog = NULL;
1860 c->smiley_dialog = NULL; 1720 c->smiley_dialog = NULL;
1861 c->link_dialog = NULL; 1721 c->link_dialog = NULL;
1864 c->hasfont = 0; 1724 c->hasfont = 0;
1865 c->bgcol = bgcolor; 1725 c->bgcol = bgcolor;
1866 c->hasbg = 0; 1726 c->hasbg = 0;
1867 c->fgcol = fgcolor; 1727 c->fgcol = fgcolor;
1868 c->hasfg = 0; 1728 c->hasfg = 0;
1869 1729
1870 gtk_container_add(GTK_CONTAINER(win), paned); 1730 win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
1871 gtk_container_border_width(GTK_CONTAINER(win), 10); 1731 c->window = win;
1872 1732 gtk_object_set_user_data(GTK_OBJECT(win), c);
1733 gtk_window_set_wmclass(GTK_WINDOW(win), "conversation", "Gaim");
1734 gtk_window_set_policy(GTK_WINDOW(win), TRUE, TRUE, TRUE);
1735 gtk_container_border_width(GTK_CONTAINER(win), 10);
1736 gtk_widget_realize(win);
1737 aol_icon(win->window);
1873 if ((find_log_info(c->name)) || ((general_options & OPT_GEN_LOG_ALL))) 1738 if ((find_log_info(c->name)) || ((general_options & OPT_GEN_LOG_ALL)))
1874 g_snprintf(buf, sizeof(buf), LOG_CONVERSATION_TITLE, c->name); 1739 g_snprintf(buf, sizeof(buf), LOG_CONVERSATION_TITLE, c->name);
1875 else 1740 else
1876 g_snprintf(buf, sizeof(buf), CONVERSATION_TITLE, c->name); 1741 g_snprintf(buf, sizeof(buf), CONVERSATION_TITLE, c->name);
1877 gtk_window_set_title(GTK_WINDOW(win), buf); 1742 gtk_window_set_title(GTK_WINDOW(win), buf);
1743 gtk_signal_connect(GTK_OBJECT(win), "delete_event", GTK_SIGNAL_FUNC(delete_event_convo), c);
1744
1745 paned = gtk_vpaned_new();
1746 gtk_container_add(GTK_CONTAINER(win), paned);
1747 gtk_widget_show(paned);
1748
1749 vbox = gtk_vbox_new(FALSE, 0);
1750 gtk_paned_pack1(GTK_PANED(paned), vbox, FALSE, TRUE);
1751 gtk_widget_show(vbox);
1752
1753 sw = gtk_scrolled_window_new (NULL, NULL);
1754 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
1755 GTK_POLICY_NEVER,
1756 GTK_POLICY_ALWAYS);
1757 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5);
1758 gtk_widget_set_usize(sw, 320, 150);
1759 gtk_widget_show(sw);
1760
1761 text = gtk_html_new(NULL, NULL);
1762 c->text = text;
1763 gtk_html_set_editable(GTK_HTML(text), FALSE);
1764 gtk_container_add(GTK_CONTAINER(sw), text);
1765 GTK_HTML (text)->hadj->step_increment = 10.0;
1766 GTK_HTML (text)->vadj->step_increment = 10.0;
1767 gtk_widget_show(text);
1768
1769 vbox2 = gtk_vbox_new(FALSE, 0);
1770 gtk_paned_pack2(GTK_PANED(paned), vbox2, FALSE, FALSE);
1771 gtk_widget_show(vbox2);
1772
1773 hbox = gtk_hbox_new(FALSE, 0);
1774 gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0);
1775 gtk_widget_show(hbox);
1776
1777 label = gtk_label_new(_("Send message as: "));
1778 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
1779 gtk_widget_show(label);
1780
1781 c->menu = gtk_option_menu_new();
1782 gtk_box_pack_start(GTK_BOX(hbox), c->menu, FALSE, FALSE, 5);
1783 gtk_widget_show(c->menu);
1784
1785 create_convo_menu(c);
1786
1787 toolbar = build_conv_toolbar(c);
1788 gtk_box_pack_start(GTK_BOX(vbox2), toolbar, FALSE, FALSE, 5);
1789
1790 entry = gtk_text_new(NULL, NULL);
1791 c->entry = entry;
1792 gtk_object_set_user_data(GTK_OBJECT(entry), c);
1793 gtk_text_set_editable(GTK_TEXT(entry), TRUE);
1794 gtk_text_set_word_wrap(GTK_TEXT(entry), TRUE);
1795 if (display_options & OPT_DISP_CONV_BIG_ENTRY)
1796 gtk_widget_set_usize(entry, 300, 50);
1797 else
1798 gtk_widget_set_usize(entry, 300, 25);
1878 gtk_window_set_focus(GTK_WINDOW(win),entry); 1799 gtk_window_set_focus(GTK_WINDOW(win),entry);
1879 1800 gtk_signal_connect(GTK_OBJECT(entry), "activate", GTK_SIGNAL_FUNC(send_callback),c);
1880 gtk_signal_connect(GTK_OBJECT(win), "delete_event", GTK_SIGNAL_FUNC(delete_event_convo), c); 1801 gtk_signal_connect(GTK_OBJECT(entry), "key_press_event", GTK_SIGNAL_FUNC(keypress_callback), c);
1881 gtk_signal_connect(GTK_OBJECT(entry), "key_press_event", GTK_SIGNAL_FUNC(entry_key_pressed), entry); 1802 gtk_signal_connect(GTK_OBJECT(entry), "key_press_event", GTK_SIGNAL_FUNC(entry_key_pressed), entry);
1882 if (general_options & OPT_GEN_CHECK_SPELLING) 1803 if (general_options & OPT_GEN_CHECK_SPELLING)
1883 gtkspell_attach(GTK_TEXT(c->entry)); 1804 gtkspell_attach(GTK_TEXT(c->entry));
1805 gtk_box_pack_start(GTK_BOX(vbox2), entry, TRUE, TRUE, 5);
1806 gtk_widget_show(entry);
1807
1808 bbox = gtk_hbox_new(FALSE, 5);
1809 gtk_box_pack_start(GTK_BOX(vbox2), bbox, FALSE, FALSE, 5);
1810 gtk_widget_show(bbox);
1811
1812 close = picture_button2(win, _("Close"), cancel_xpm, dispstyle);
1813 c->close = close;
1814 gtk_object_set_user_data(GTK_OBJECT(close), c);
1815 gtk_signal_connect(GTK_OBJECT(close), "clicked", GTK_SIGNAL_FUNC(close_callback), c);
1816 gtk_box_pack_end(GTK_BOX(bbox), close, dispstyle, dispstyle, 0);
1817 gtk_widget_show(close);
1818
1819 c->sep1 = gtk_vseparator_new();
1820 gtk_box_pack_end(GTK_BOX(bbox), c->sep1, dispstyle, dispstyle, 0);
1821 gtk_widget_show(c->sep1);
1822
1823 if (c->gc && find_buddy(c->gc, c->name) != NULL)
1824 add = picture_button2(win, _("Remove"), gnome_remove_xpm, dispstyle);
1825 else
1826 add = picture_button2(win, _("Add"), gnome_add_xpm, dispstyle);
1827 c->add = add;
1828 gtk_signal_connect(GTK_OBJECT(add), "clicked", GTK_SIGNAL_FUNC(add_callback), c);
1829 gtk_box_pack_end(GTK_BOX(bbox), add, dispstyle, dispstyle, 0);
1830 gtk_widget_show(add);
1831
1832 block = picture_button2(win, _("Block"), block_xpm, dispstyle);
1833 c->block = block;
1834 gtk_signal_connect(GTK_OBJECT(block), "clicked", GTK_SIGNAL_FUNC(block_callback), c);
1835 gtk_box_pack_end(GTK_BOX(bbox), block, dispstyle, dispstyle, 0);
1836 gtk_widget_show(block);
1837
1838 warn = picture_button2(win, _("Warn"), warn_xpm, dispstyle);
1839 c->warn = warn;
1840 gtk_signal_connect(GTK_OBJECT(warn), "clicked", GTK_SIGNAL_FUNC(warn_callback), c);
1841 gtk_box_pack_end(GTK_BOX(bbox), warn, dispstyle, dispstyle, 0);
1842 gtk_widget_show(warn);
1843
1844 info = picture_button2(win, _("Info"), tb_search_xpm, dispstyle);
1845 c->info = info;
1846 gtk_signal_connect(GTK_OBJECT(info), "clicked", GTK_SIGNAL_FUNC(info_callback), c);
1847 gtk_box_pack_end(GTK_BOX(bbox), info, dispstyle, dispstyle, 0);
1848 gtk_widget_show(info);
1849
1850 c->sep2 = gtk_vseparator_new();
1851 gtk_box_pack_end(GTK_BOX(bbox), c->sep2, dispstyle, dispstyle, 0);
1852 gtk_widget_show(c->sep2);
1853
1854 send = picture_button2(win, _("Send"), tmp_send_xpm, dispstyle);
1855 c->send = send;
1856 gtk_signal_connect(GTK_OBJECT(send), "clicked", GTK_SIGNAL_FUNC(send_callback), c);
1857 gtk_box_pack_end(GTK_BOX(bbox), send, dispstyle, dispstyle, 0);
1858 gtk_widget_show(send);
1884 1859
1885 gtk_widget_show(win); 1860 gtk_widget_show(win);
1886 } 1861 }
1887 1862
1888 1863