Mercurial > pidgin.yaz
comparison pidgin/pidginstock.c @ 26213:ff4212a5268f
propagate from branch 'im.pidgin.pidgin' (head 431618de0f30a6938f7e14d2d61ee5d7738acd59)
to branch 'im.pidgin.pidgin.vv' (head 8df00cb1a28baa69d0a68e0e96af201ec7d87c09)
author | Marcus Lundblad <ml@update.uu.se> |
---|---|
date | Mon, 02 Mar 2009 18:47:27 +0000 |
parents | 584063555949 25e2ab1fff1d |
children | edd2cebdead8 |
comparison
equal
deleted
inserted
replaced
25446:52fbda23e398 | 26213:ff4212a5268f |
---|---|
111 { PIDGIN_STOCK_OPEN_MAIL, N_("_Open Mail"), 0, 0, NULL }, | 111 { PIDGIN_STOCK_OPEN_MAIL, N_("_Open Mail"), 0, 0, NULL }, |
112 { PIDGIN_STOCK_PAUSE, N_("_Pause"), 0, 0, NULL }, | 112 { PIDGIN_STOCK_PAUSE, N_("_Pause"), 0, 0, NULL }, |
113 { PIDGIN_STOCK_EDIT, N_("_Edit"), 0, 0, NULL } | 113 { PIDGIN_STOCK_EDIT, N_("_Edit"), 0, 0, NULL } |
114 }; | 114 }; |
115 | 115 |
116 typedef struct { | 116 static struct SizedStockIcon { |
117 const char *name; | 117 const char *name; |
118 const char *dir; | 118 const char *dir; |
119 const char *filename; | 119 const char *filename; |
120 gboolean microscopic; | 120 gboolean microscopic; |
121 gboolean extra_small; | 121 gboolean extra_small; |
123 gboolean medium; | 123 gboolean medium; |
124 gboolean large; | 124 gboolean large; |
125 gboolean huge; | 125 gboolean huge; |
126 gboolean rtl; | 126 gboolean rtl; |
127 const char *translucent_name; | 127 const char *translucent_name; |
128 } SizedStockIcon; | 128 } const sized_stock_icons [] = { |
129 | 129 { PIDGIN_STOCK_STATUS_AVAILABLE, "status", "available.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AVAILABLE_I }, |
130 const SizedStockIcon sized_stock_icons [] = { | 130 { PIDGIN_STOCK_STATUS_AWAY, "status", "away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AWAY_I }, |
131 | 131 { PIDGIN_STOCK_STATUS_BUSY, "status", "busy.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_BUSY_I }, |
132 { PIDGIN_STOCK_STATUS_CHAT, "status", "chat.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, | |
133 { PIDGIN_STOCK_STATUS_INVISIBLE,"status", "invisible.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, | |
134 { PIDGIN_STOCK_STATUS_XA, "status", "extended-away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, PIDGIN_STOCK_STATUS_XA_I }, | |
135 { PIDGIN_STOCK_STATUS_LOGIN, "status", "log-in.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL }, | |
136 { PIDGIN_STOCK_STATUS_LOGOUT, "status", "log-out.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL }, | |
137 { PIDGIN_STOCK_STATUS_OFFLINE, "status", "offline.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_OFFLINE_I }, | |
138 { PIDGIN_STOCK_STATUS_PERSON, "status", "person.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, | |
139 { PIDGIN_STOCK_STATUS_MESSAGE, "toolbar", "message-new.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, | |
140 | |
132 { PIDGIN_STOCK_STATUS_IGNORED, "emblems", "blocked.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, | 141 { PIDGIN_STOCK_STATUS_IGNORED, "emblems", "blocked.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
133 { PIDGIN_STOCK_STATUS_FOUNDER, "emblems", "founder.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, | 142 { PIDGIN_STOCK_STATUS_FOUNDER, "emblems", "founder.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
134 { PIDGIN_STOCK_STATUS_OPERATOR, "emblems", "operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, | 143 { PIDGIN_STOCK_STATUS_OPERATOR, "emblems", "operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
135 { PIDGIN_STOCK_STATUS_HALFOP, "emblems", "half-operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, | 144 { PIDGIN_STOCK_STATUS_HALFOP, "emblems", "half-operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
136 { PIDGIN_STOCK_STATUS_VOICE, "emblems", "voice.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, | 145 { PIDGIN_STOCK_STATUS_VOICE, "emblems", "voice.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
275 ret = find_file_common(filename); | 284 ret = find_file_common(filename); |
276 g_free(filename); | 285 g_free(filename); |
277 return ret; | 286 return ret; |
278 } | 287 } |
279 | 288 |
289 static void | |
290 add_sized_icon(GtkIconSet *iconset, GtkIconSize sizeid, const char *dir, | |
291 gboolean rtl, const char *size, const char *file) | |
292 { | |
293 add_sized_icon_common(iconset, sizeid, dir, rtl, size, file, FALSE); | |
294 } | |
280 | 295 |
281 /* Altered from do_colorshift in gnome-panel */ | 296 /* Altered from do_colorshift in gnome-panel */ |
282 static void | 297 static void |
283 do_alphashift(GdkPixbuf *dest, GdkPixbuf *src) | 298 do_alphashift(GdkPixbuf *dest, GdkPixbuf *src) |
284 { | 299 { |
558 ADD_SIZED_ICON(huge, "64"); | 573 ADD_SIZED_ICON(huge, "64"); |
559 #undef ADD_SIZED_ICON | 574 #undef ADD_SIZED_ICON |
560 | 575 |
561 gtk_icon_factory_add(icon_factory, sized_stock_icons[i].name, iconset); | 576 gtk_icon_factory_add(icon_factory, sized_stock_icons[i].name, iconset); |
562 gtk_icon_set_unref(iconset); | 577 gtk_icon_set_unref(iconset); |
578 | |
579 if (sized_stock_icons[i].translucent_name) { | |
580 iconset = gtk_icon_set_new(); | |
581 | |
582 #define ADD_TRANS_ICON(name, size) do { \ | |
583 if (sized_stock_icons[i].name) \ | |
584 add_translucent_sized_icon(iconset, name, \ | |
585 sized_stock_icons[i].dir, sized_stock_icons[i].rtl, \ | |
586 size, sized_stock_icons[i].filename); \ | |
587 } while (0) | |
588 ADD_TRANS_ICON(microscopic, "11"); | |
589 ADD_TRANS_ICON(extra_small, "16"); | |
590 ADD_TRANS_ICON(small, "22"); | |
591 ADD_TRANS_ICON(medium, "32"); | |
592 ADD_TRANS_ICON(large, "48"); | |
593 ADD_TRANS_ICON(huge, "64"); | |
594 #undef ADD_TRANS_ICON | |
595 | |
596 gtk_icon_factory_add(icon_factory, sized_stock_icons[i].translucent_name, iconset); | |
597 gtk_icon_set_unref(iconset); | |
598 } | |
563 } | 599 } |
564 | 600 |
565 gtk_widget_destroy(win); | 601 gtk_widget_destroy(win); |
566 g_object_unref(G_OBJECT(icon_factory)); | 602 g_object_unref(G_OBJECT(icon_factory)); |
567 | 603 |