comparison src/buddy.c @ 3131:bb7527b5f426

[gaim-migrate @ 3146] I molested GtkTree. committer: Tailor Script <tailor@pidgin.im>
author Rob Flynn <gaim@robflynn.com>
date Thu, 11 Apr 2002 22:40:44 +0000
parents 319a66fc131f
children a2c6727e3c1b
comparison
equal deleted inserted replaced
3130:16c2ad1a15ce 3131:bb7527b5f426
72 #include "pixmaps/gnome_add.xpm" 72 #include "pixmaps/gnome_add.xpm"
73 #include "pixmaps/gnome_remove.xpm" 73 #include "pixmaps/gnome_remove.xpm"
74 #include "pixmaps/group.xpm" 74 #include "pixmaps/group.xpm"
75 #include "pixmaps/logout_menu.xpm" 75 #include "pixmaps/logout_menu.xpm"
76 76
77 #include "pixmaps/arrow_down.xpm"
78 #include "pixmaps/arrow_right.xpm"
79
77 static GtkTooltips *tips; 80 static GtkTooltips *tips;
78 static GtkAccelGroup *accel; 81 static GtkAccelGroup *accel;
79 static GtkWidget *editpane; 82 static GtkWidget *editpane;
80 static GtkWidget *buddypane; 83 static GtkWidget *buddypane;
81 static GtkWidget *imchatbox; 84 static GtkWidget *imchatbox;
87 GtkWidget *bpmenu; 90 GtkWidget *bpmenu;
88 GtkWidget *buddies; 91 GtkWidget *buddies;
89 92
90 void BuddyTickerLogonTimeout(gpointer data); 93 void BuddyTickerLogonTimeout(gpointer data);
91 void BuddyTickerLogoutTimeout(gpointer data); 94 void BuddyTickerLogoutTimeout(gpointer data);
95
96 typedef struct _GtkTreePixmaps GtkTreePixmaps;
97
92 98
93 struct buddy_show { 99 struct buddy_show {
94 GtkWidget *item; 100 GtkWidget *item;
95 GtkWidget *pix; 101 GtkWidget *pix;
96 GtkWidget *label; 102 GtkWidget *label;
1796 debug_printf("got to bad place in buddy_number\n"); 1802 debug_printf("got to bad place in buddy_number\n");
1797 g_free(tmp1); 1803 g_free(tmp1);
1798 return -1; 1804 return -1;
1799 } 1805 }
1800 1806
1807
1808
1801 static struct group_show *new_group_show(char *group) 1809 static struct group_show *new_group_show(char *group)
1802 { 1810 {
1803 struct group_show *g = g_new0(struct group_show, 1); 1811 struct group_show *g = g_new0(struct group_show, 1);
1804 int pos = group_number(group); 1812 int pos = group_number(group);
1813 GdkPixmap *pm;
1814 GdkBitmap *bm;
1815 GtkStyle *style;
1816 GtkStyle *style2;
1817 int j;
1805 1818
1806 g->name = g_strdup(group); 1819 g->name = g_strdup(group);
1807 1820
1808 g->item = gtk_tree_item_new(); 1821 g->item = gtk_tree_item_new();
1809 gtk_tree_insert(GTK_TREE(buddies), g->item, pos); 1822
1810 gtk_signal_connect(GTK_OBJECT(g->item), "button_press_event", 1823 gtk_signal_connect(GTK_OBJECT(g->item), "button_press_event",
1811 GTK_SIGNAL_FUNC(handle_click_group), g); 1824 GTK_SIGNAL_FUNC(handle_click_group), g);
1825
1826 gtk_tree_insert(GTK_TREE(buddies), g->item, pos);
1827
1812 gtk_widget_show(g->item); 1828 gtk_widget_show(g->item);
1813 1829
1814 g->label = gtk_label_new(group); 1830 g->label = gtk_label_new(group);
1815 gtk_misc_set_alignment(GTK_MISC(g->label), 0.0, 0.5); 1831 gtk_misc_set_alignment(GTK_MISC(g->label), 0.0, 0.5);
1832 gtk_widget_show(g->label);
1833
1816 gtk_container_add(GTK_CONTAINER(g->item), g->label); 1834 gtk_container_add(GTK_CONTAINER(g->item), g->label);
1817 gtk_widget_show(g->label); 1835
1836 style = gtk_style_new();
1837 // style->font = gdk_font_load("-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*");
1838
1839 style->fg[0].red = 104 * 255;
1840 style->fg[0].green = 20 * 255;
1841 style->fg[0].blue = 20* 255;
1842
1843 gtk_widget_set_style(GTK_WIDGET(g->label), style);
1844
1818 1845
1819 shows = g_slist_insert(shows, g, pos); 1846 shows = g_slist_insert(shows, g, pos);
1847
1848 /* Rob does drugs - this is still evil, damn you becausse I SAID SO! */
1849
1850 pm = gdk_pixmap_create_from_xpm_d(g->item->window,
1851 &bm, NULL, arrow_down_xpm);
1852
1853 gtk_pixmap_set(GTK_PIXMAP(GTK_TREE_ITEM(g->item)->minus_pix_widget),
1854 pm, bm);
1855
1856 gdk_pixmap_unref(pm);
1857 gdk_bitmap_unref(bm);
1858
1859 pm = gdk_pixmap_create_from_xpm_d(buddies->window,
1860 &bm, NULL, arrow_right_xpm);
1861
1862 gtk_pixmap_set(GTK_PIXMAP(GTK_TREE_ITEM(g->item)->plus_pix_widget),
1863 pm, bm);
1864
1865 gdk_pixmap_unref(pm);
1866 gdk_bitmap_unref(bm);
1867
1868 style = gtk_widget_get_style(GTK_TREE_ITEM(g->item)->pixmaps_box);
1869 style2 = gtk_widget_get_style(g->item);
1870 style->bg[0] = style2->base[0];
1871
1872 gtk_widget_set_style(GTK_TREE_ITEM(g->item)->pixmaps_box, style);
1873
1874 /* bad drugs */
1875
1820 update_num_group(g); 1876 update_num_group(g);
1877
1821 return g; 1878 return g;
1822 } 1879 }
1823 1880
1824 static struct buddy_show *new_buddy_show(struct group_show *gs, struct buddy *buddy, char **xpm) 1881 static struct buddy_show *new_buddy_show(struct group_show *gs, struct buddy *buddy, char **xpm)
1825 { 1882 {
2636 2693
2637 vbox = gtk_vbox_new(FALSE, 0); 2694 vbox = gtk_vbox_new(FALSE, 0);
2638 2695
2639 notebook = gtk_notebook_new(); 2696 notebook = gtk_notebook_new();
2640 2697
2641
2642
2643
2644 /* Do buddy list stuff */ 2698 /* Do buddy list stuff */
2645 /* FIXME: spacing on both panes is ad hoc */ 2699 /* FIXME: spacing on both panes is ad hoc */
2646 buddypane = gtk_vbox_new(FALSE, 1); 2700 buddypane = gtk_vbox_new(FALSE, 1);
2647 2701
2648 buddies = gtk_tree_new(); 2702 buddies = gtk_tree_new();
2703 gtk_tree_set_view_lines(GTK_TREE(buddies), FALSE);
2649 sw = gtk_scrolled_window_new(NULL, NULL); 2704 sw = gtk_scrolled_window_new(NULL, NULL);
2650 2705
2651 tips = gtk_tooltips_new(); 2706 tips = gtk_tooltips_new();
2652 gtk_object_set_data(GTK_OBJECT(blist), _("Buddy List"), tips); 2707 gtk_object_set_data(GTK_OBJECT(blist), _("Buddy List"), tips);
2653 2708