Mercurial > pidgin
comparison src/stock.c @ 4670:ada933d434cb
[gaim-migrate @ 4981]
Our stock icons based off global stock icons should now use the stock icons
setup by the theme stock icons stock... icons.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Sat, 08 Mar 2003 01:21:25 +0000 |
parents | 7521e29658bc |
children | 283fb289c510 |
comparison
equal
deleted
inserted
replaced
4669:d715736164ae | 4670:ada933d434cb |
---|---|
87 void | 87 void |
88 setup_stock() | 88 setup_stock() |
89 { | 89 { |
90 GtkIconFactory *icon_factory; | 90 GtkIconFactory *icon_factory; |
91 int i; | 91 int i; |
92 GtkWidget *win; | |
92 | 93 |
93 /* Setup the icon factory. */ | 94 /* Setup the icon factory. */ |
94 icon_factory = gtk_icon_factory_new(); | 95 icon_factory = gtk_icon_factory_new(); |
95 | 96 |
96 gtk_icon_factory_add_default(icon_factory); | 97 gtk_icon_factory_add_default(icon_factory); |
98 | |
99 /* Er, yeah, a hack, but it works. :) */ | |
100 win = gtk_window_new(GTK_WINDOW_TOPLEVEL); | |
101 gtk_widget_realize(win); | |
97 | 102 |
98 for (i = 0; i < stock_icon_count; i++) { | 103 for (i = 0; i < stock_icon_count; i++) { |
99 GdkPixbuf *pixbuf; | 104 GdkPixbuf *pixbuf; |
100 GtkIconSet *iconset; | 105 GtkIconSet *iconset; |
101 gchar *filename; | 106 gchar *filename; |
102 | 107 |
103 if (stock_icons[i].dir == NULL) { | 108 if (stock_icons[i].dir == NULL) { |
109 | |
104 /* GTK+ Stock icon */ | 110 /* GTK+ Stock icon */ |
105 | 111 iconset = gtk_style_lookup_icon_set(gtk_widget_get_style(win), |
106 iconset = gtk_icon_factory_lookup_default(stock_icons[i].filename); | 112 stock_icons[i].filename); |
107 } | 113 } |
108 else { | 114 else { |
109 filename = find_file(stock_icons[i].dir, stock_icons[i].filename); | 115 filename = find_file(stock_icons[i].dir, stock_icons[i].filename); |
110 | 116 |
111 if (filename == NULL) | 117 if (filename == NULL) |
121 gtk_icon_factory_add(icon_factory, stock_icons[i].name, iconset); | 127 gtk_icon_factory_add(icon_factory, stock_icons[i].name, iconset); |
122 | 128 |
123 gtk_icon_set_unref(iconset); | 129 gtk_icon_set_unref(iconset); |
124 } | 130 } |
125 | 131 |
132 gtk_widget_destroy(win); | |
133 | |
126 g_object_unref(G_OBJECT(icon_factory)); | 134 g_object_unref(G_OBJECT(icon_factory)); |
127 } | 135 } |