pidgin/plugins/disco/gtkdisco.c

changeset 39037
5014cd8d58e3
parent 39008
a705bd1673dd
child 39040
65ed0e8e8229
equal deleted inserted replaced
39036:ced50832d0c7 39037:5014cd8d58e3
112 static GdkPixbuf * 112 static GdkPixbuf *
113 pidgin_disco_load_icon(XmppDiscoService *service, const char *size) 113 pidgin_disco_load_icon(XmppDiscoService *service, const char *size)
114 { 114 {
115 GdkPixbuf *pixbuf = NULL; 115 GdkPixbuf *pixbuf = NULL;
116 char *filename = NULL; 116 char *filename = NULL;
117 gchar *tmp_size;
117 118
118 g_return_val_if_fail(service != NULL, NULL); 119 g_return_val_if_fail(service != NULL, NULL);
119 g_return_val_if_fail(size != NULL, NULL); 120 g_return_val_if_fail(size != NULL, NULL);
121
122 tmp_size = g_strdup_printf("%sx%s", size, size);
120 123
121 if (service->type == XMPP_DISCO_SERVICE_TYPE_GATEWAY && service->gateway_type) { 124 if (service->type == XMPP_DISCO_SERVICE_TYPE_GATEWAY && service->gateway_type) {
122 char *tmp = g_strconcat(service->gateway_type, ".png", NULL); 125 char *tmp = g_strconcat(service->gateway_type, ".png", NULL);
123 filename = g_build_filename(PURPLE_DATADIR, 126 filename = g_build_filename(PURPLE_DATADIR,
124 "pixmaps", "pidgin", "protocols", size, tmp, NULL); 127 "pixmaps", "pidgin", "protocols", size, tmp, NULL);
128 filename = g_build_filename(PURPLE_DATADIR, 131 filename = g_build_filename(PURPLE_DATADIR,
129 "pixmaps", "pidgin", "status", size, "person.png", NULL); 132 "pixmaps", "pidgin", "status", size, "person.png", NULL);
130 #endif 133 #endif
131 } else if (service->type == XMPP_DISCO_SERVICE_TYPE_CHAT) { 134 } else if (service->type == XMPP_DISCO_SERVICE_TYPE_CHAT) {
132 filename = g_build_filename(PURPLE_DATADIR, 135 filename = g_build_filename(PURPLE_DATADIR,
133 "pixmaps", "pidgin", "status", size, "chat.png", NULL); 136 "pidgin", "icons", "hicolor", tmp_size, "status",
134 } 137 "chat.png", NULL);
138 }
139
140 g_free(tmp_size);
135 141
136 if (filename) { 142 if (filename) {
137 pixbuf = gdk_pixbuf_new_from_file(filename, NULL); 143 pixbuf = gdk_pixbuf_new_from_file(filename, NULL);
138 g_free(filename); 144 g_free(filename);
139 } 145 }

mercurial