annotate pidgin/pidginstock.c @ 19308:e4f830189bf2

more new status icons, notably new login and logout, with rtl variants.
author Sean Egan <seanegan@gmail.com>
date Fri, 17 Aug 2007 19:23:42 +0000
parents 758b71dcd354
children 42ee8f13c917
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1 /**
15870
99b965aaf9bf Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
2 * @file pidginstock.c GTK+ Stock resources
16193
247e421c4fa6 Rename the Doxygen group from gtkui to pidgin.
Richard Laager <rlaager@wiktel.com>
parents: 16007
diff changeset
3 * @ingroup pidgin
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
4 *
15870
99b965aaf9bf Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
5 * pidgin
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
6 *
15870
99b965aaf9bf Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
7 * Pidgin is the legal property of its developers, whose names are too numerous
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
9 * source distribution.
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
10 *
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
14 * (at your option) any later version.
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
15 *
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
19 * GNU General Public License for more details.
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
20 *
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
24 *
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
25 */
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
26 #include "internal.h"
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
27 #include "pidgin.h"
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
28
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
29 #include "pidginstock.h"
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
30
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
31 static struct StockIcon
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
32 {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
33 const char *name;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
34 const char *dir;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
35 const char *filename;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
36
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
37 } const stock_icons[] =
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
38 {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
39 { PIDGIN_STOCK_ACTION, NULL, GTK_STOCK_EXECUTE },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
40 #if GTK_CHECK_VERSION(2,6,0)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
41 { PIDGIN_STOCK_ALIAS, NULL, GTK_STOCK_EDIT },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
42 #else
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
43 { PIDGIN_STOCK_ALIAS, "buttons", "edit.png" },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
44 #endif
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
45 { PIDGIN_STOCK_CHAT, NULL, GTK_STOCK_JUMP_TO },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
46 { PIDGIN_STOCK_CLEAR, NULL, GTK_STOCK_CLEAR },
18822
8410abf85678 Remove reference to close-tab.png
Sean Egan <seanegan@gmail.com>
parents: 18797
diff changeset
47 { PIDGIN_STOCK_CLOSE_TABS, NULL, GTK_STOCK_CLOSE },
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
48 { PIDGIN_STOCK_DEBUG, NULL, GTK_STOCK_PROPERTIES },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
49 { PIDGIN_STOCK_DOWNLOAD, NULL, GTK_STOCK_GO_DOWN },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
50 #if GTK_CHECK_VERSION(2,6,0)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
51 { PIDGIN_STOCK_DISCONNECT, NULL, GTK_STOCK_DISCONNECT },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
52 #else
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
53 { PIDGIN_STOCK_DISCONNECT, "icons", "stock_disconnect_16.png" },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
54 #endif
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
55 { PIDGIN_STOCK_FGCOLOR, "buttons", "change-fgcolor-small.png" },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
56 #if GTK_CHECK_VERSION(2,6,0)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
57 { PIDGIN_STOCK_EDIT, NULL, GTK_STOCK_EDIT },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
58 #else
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
59 { PIDGIN_STOCK_EDIT, "buttons", "edit.png" },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
60 #endif
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
61 { PIDGIN_STOCK_FILE_CANCELED, NULL, GTK_STOCK_CANCEL },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
62 { PIDGIN_STOCK_FILE_DONE, NULL, GTK_STOCK_APPLY },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
63 { PIDGIN_STOCK_IGNORE, NULL, GTK_STOCK_DIALOG_ERROR },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
64 { PIDGIN_STOCK_INVITE, NULL, GTK_STOCK_JUMP_TO },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
65 { PIDGIN_STOCK_MODIFY, NULL, GTK_STOCK_PREFERENCES },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
66 #if GTK_CHECK_VERSION(2,6,0)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
67 { PIDGIN_STOCK_PAUSE, NULL, GTK_STOCK_MEDIA_PAUSE },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
68 #else
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
69 { PIDGIN_STOCK_PAUSE, "buttons", "pause.png" },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
70 #endif
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
71 { PIDGIN_STOCK_POUNCE, NULL, GTK_STOCK_REDO },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
72 { PIDGIN_STOCK_OPEN_MAIL, NULL, GTK_STOCK_JUMP_TO },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
73 { PIDGIN_STOCK_SIGN_ON, NULL, GTK_STOCK_EXECUTE },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
74 { PIDGIN_STOCK_SIGN_OFF, NULL, GTK_STOCK_CLOSE },
15870
99b965aaf9bf Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
75 { PIDGIN_STOCK_TYPED, "pidgin", "typed.png" },
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
76 { PIDGIN_STOCK_UPLOAD, NULL, GTK_STOCK_GO_UP },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
77 };
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
78
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
79 static const GtkStockItem stock_items[] =
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
80 {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
81 { PIDGIN_STOCK_ALIAS, N_("_Alias"), 0, 0, NULL },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
82 { PIDGIN_STOCK_CHAT, N_("_Join"), 0, 0, NULL },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
83 { PIDGIN_STOCK_CLOSE_TABS, N_("Close _tabs"), 0, 0, NULL },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
84 { PIDGIN_STOCK_TOOLBAR_MESSAGE_NEW, N_("I_M"), 0, 0, NULL },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
85 { PIDGIN_STOCK_TOOLBAR_USER_INFO, N_("_Get Info"), 0, 0, NULL },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
86 { PIDGIN_STOCK_INVITE, N_("_Invite"), 0, 0, NULL },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
87 { PIDGIN_STOCK_MODIFY, N_("_Modify"), 0, 0, NULL },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
88 { PIDGIN_STOCK_OPEN_MAIL, N_("_Open Mail"), 0, 0, NULL },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
89 { PIDGIN_STOCK_PAUSE, N_("_Pause"), 0, 0, NULL },
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
90 };
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
91
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
92 static struct SizedStockIcon {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
93 const char *name;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
94 const char *dir;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
95 const char *filename;
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
96 gboolean microscopic;
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
97 gboolean extra_small;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
98 gboolean small;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
99 gboolean medium;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
100 gboolean large;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
101 gboolean huge;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
102 gboolean rtl;
16436
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
103 const char *translucent_name;
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
104 } const sized_stock_icons [] = {
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
105 { PIDGIN_STOCK_STATUS_AVAILABLE, "status", "available.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AVAILABLE_I },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
106 { PIDGIN_STOCK_STATUS_AWAY, "status", "away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AWAY_I },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
107 { PIDGIN_STOCK_STATUS_BUSY, "status", "busy.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_BUSY_I },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
108 { PIDGIN_STOCK_STATUS_CHAT, "status", "chat.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
109 { PIDGIN_STOCK_STATUS_INVISIBLE,"status", "invisible.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
110 { PIDGIN_STOCK_STATUS_XA, "status", "extended-away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, PIDGIN_STOCK_STATUS_XA_I },
19308
e4f830189bf2 more new status icons, notably new login and logout, with rtl variants.
Sean Egan <seanegan@gmail.com>
parents: 19293
diff changeset
111 { PIDGIN_STOCK_STATUS_LOGIN, "status", "log-in.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL },
e4f830189bf2 more new status icons, notably new login and logout, with rtl variants.
Sean Egan <seanegan@gmail.com>
parents: 19293
diff changeset
112 { PIDGIN_STOCK_STATUS_LOGOUT, "status", "log-out.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL },
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
113 { PIDGIN_STOCK_STATUS_OFFLINE, "status", "offline.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_OFFLINE_I },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
114 { PIDGIN_STOCK_STATUS_PERSON, "status", "person.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
115 { PIDGIN_STOCK_STATUS_MESSAGE, "toolbar", "message-new.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
116
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
117 { PIDGIN_STOCK_STATUS_IGNORED, "emblems", "blocked.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
118 { PIDGIN_STOCK_STATUS_FOUNDER, "emblems", "founder.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
119 { PIDGIN_STOCK_STATUS_OPERATOR, "emblems", "operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
120 { PIDGIN_STOCK_STATUS_HALFOP, "emblems", "half-operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
121 { PIDGIN_STOCK_STATUS_VOICE, "emblems", "voice.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
122
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
123 { PIDGIN_STOCK_DIALOG_AUTH, "dialogs", "auth.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
124 { PIDGIN_STOCK_DIALOG_COOL, "dialogs", "cool.png", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
125 { PIDGIN_STOCK_DIALOG_ERROR, "dialogs", "error.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
126 { PIDGIN_STOCK_DIALOG_INFO, "dialogs", "info.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
127 { PIDGIN_STOCK_DIALOG_MAIL, "dialogs", "mail.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
128 { PIDGIN_STOCK_DIALOG_QUESTION, "dialogs", "question.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
129 { PIDGIN_STOCK_DIALOG_WARNING, "dialogs", "warning.png", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL },
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
130
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
131 { PIDGIN_STOCK_ANIMATION_CONNECT0, "animations", "connect0.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
132 { PIDGIN_STOCK_ANIMATION_CONNECT1, "animations", "connect1.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
133 { PIDGIN_STOCK_ANIMATION_CONNECT2, "animations", "connect2.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
134 { PIDGIN_STOCK_ANIMATION_CONNECT3, "animations", "connect3.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
135 { PIDGIN_STOCK_ANIMATION_CONNECT4, "animations", "connect4.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
136 { PIDGIN_STOCK_ANIMATION_CONNECT5, "animations", "connect5.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
137 { PIDGIN_STOCK_ANIMATION_CONNECT6, "animations", "connect6.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
138 { PIDGIN_STOCK_ANIMATION_CONNECT7, "animations", "connect7.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
139 { PIDGIN_STOCK_ANIMATION_CONNECT8, "animations", "connect8.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
140 { PIDGIN_STOCK_ANIMATION_TYPING0, "animations", "typing0.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
141 { PIDGIN_STOCK_ANIMATION_TYPING1, "animations", "typing1.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
142 { PIDGIN_STOCK_ANIMATION_TYPING2, "animations", "typing2.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
143 { PIDGIN_STOCK_ANIMATION_TYPING3, "animations", "typing3.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
144 { PIDGIN_STOCK_ANIMATION_TYPING4, "animations", "typing4.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
145 { PIDGIN_STOCK_ANIMATION_TYPING5, "animations", "typing5.png",FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
146
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
147 { PIDGIN_STOCK_TOOLBAR_ACCOUNTS, "toolbar", "accounts.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
148 { PIDGIN_STOCK_TOOLBAR_BGCOLOR, "toolbar", "change-bgcolor.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
149 { PIDGIN_STOCK_TOOLBAR_BLOCK, "emblems", "blocked.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
150 { PIDGIN_STOCK_TOOLBAR_FGCOLOR, "toolbar", "change-fgcolor.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
151 { PIDGIN_STOCK_TOOLBAR_SMILEY, "toolbar", "emote-select.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
152 { PIDGIN_STOCK_TOOLBAR_FONT_FACE, "toolbar", "font-face.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
153 { PIDGIN_STOCK_TOOLBAR_TEXT_SMALLER, "toolbar", "font-size-down.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
154 { PIDGIN_STOCK_TOOLBAR_TEXT_LARGER, "toolbar", "font-size-up.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
155 { PIDGIN_STOCK_TOOLBAR_INSERT, "toolbar", "insert.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
156 { PIDGIN_STOCK_TOOLBAR_INSERT_IMAGE, "toolbar", "insert-image.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
157 { PIDGIN_STOCK_TOOLBAR_INSERT_LINK, "toolbar", "insert-link.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
158 { PIDGIN_STOCK_TOOLBAR_MESSAGE_NEW, "toolbar", "message-new.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
159 { PIDGIN_STOCK_TOOLBAR_PENDING, "toolbar", "message-new.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
160 { PIDGIN_STOCK_TOOLBAR_PLUGINS, "toolbar", "plugins.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
161 { PIDGIN_STOCK_TOOLBAR_TYPING, "toolbar", "typing.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
162 { PIDGIN_STOCK_TOOLBAR_UNBLOCK, "toolbar", "unblock.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
163 { PIDGIN_STOCK_TOOLBAR_SELECT_AVATAR, "toolbar", "select-avatar.png", FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
164 { PIDGIN_STOCK_TOOLBAR_SEND_FILE, "toolbar", "send-file.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
16007
d64602bb59d2 block and unblock have the right icons now
Nathan Walp <nwalp@pidgin.im>
parents: 15870
diff changeset
165
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
166 { PIDGIN_STOCK_TRAY_AVAILABLE, "tray", "tray-online.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
167 { PIDGIN_STOCK_TRAY_INVISIBLE, "tray", "tray-invisible.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
168 { PIDGIN_STOCK_TRAY_AWAY, "tray", "tray-away.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
169 { PIDGIN_STOCK_TRAY_BUSY, "tray", "tray-busy.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
170 { PIDGIN_STOCK_TRAY_XA, "tray", "tray-extended-away.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
171 { PIDGIN_STOCK_TRAY_OFFLINE, "tray", "tray-offline.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
172 { PIDGIN_STOCK_TRAY_CONNECT, "tray", "tray-connecting.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
173 { PIDGIN_STOCK_TRAY_PENDING, "tray", "tray-new-im.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
174 { PIDGIN_STOCK_TRAY_EMAIL, "tray", "tray-message.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
175 };
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
176
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
177 static gchar *
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
178 find_file(const char *dir, const char *base)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
179 {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
180 char *filename;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
181
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
182 if (base == NULL)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
183 return NULL;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
184
15870
99b965aaf9bf Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
185 if (!strcmp(dir, "pidgin"))
99b965aaf9bf Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
186 filename = g_build_filename(DATADIR, "pixmaps", "pidgin", base, NULL);
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
187 else
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
188 {
15870
99b965aaf9bf Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
189 filename = g_build_filename(DATADIR, "pixmaps", "pidgin", dir,
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
190 base, NULL);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
191 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
192
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
193 return filename;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
194 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
195
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
196 static void
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
197 add_sized_icon(GtkIconSet *iconset, GtkIconSize sizeid, const char *dir,
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
198 gboolean rtl, const char *size, const char *file)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
199 {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
200 char *filename;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
201 GtkIconSource *source;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
202
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
203 filename = g_build_filename(DATADIR, "pixmaps", "pidgin", dir, size, file, NULL);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
204 source = gtk_icon_source_new();
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
205 gtk_icon_source_set_filename(source, filename);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
206 gtk_icon_source_set_direction(source, GTK_TEXT_DIR_LTR);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
207 gtk_icon_source_set_direction_wildcarded(source, !rtl);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
208 gtk_icon_source_set_size(source, sizeid);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
209 gtk_icon_source_set_size_wildcarded(source, FALSE);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
210 gtk_icon_source_set_state_wildcarded(source, TRUE);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
211 gtk_icon_set_add_source(iconset, source);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
212 gtk_icon_source_free(source);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
213
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
214 if (sizeid == gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL)) {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
215 source = gtk_icon_source_new();
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
216 gtk_icon_source_set_filename(source, filename);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
217 gtk_icon_source_set_direction_wildcarded(source, TRUE);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
218 gtk_icon_source_set_size(source, GTK_ICON_SIZE_MENU);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
219 gtk_icon_source_set_size_wildcarded(source, FALSE);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
220 gtk_icon_source_set_state_wildcarded(source, TRUE);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
221 gtk_icon_set_add_source(iconset, source);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
222 gtk_icon_source_free(source);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
223 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
224 g_free(filename);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
225
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
226 if (rtl) {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
227 filename = g_build_filename(DATADIR, "pixmaps", "pidgin", dir, size, "rtl", file, NULL);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
228 source = gtk_icon_source_new();
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
229 gtk_icon_source_set_filename(source, filename);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
230 gtk_icon_source_set_direction(source, GTK_TEXT_DIR_RTL);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
231 gtk_icon_source_set_size(source, sizeid);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
232 gtk_icon_source_set_size_wildcarded(source, FALSE);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
233 gtk_icon_source_set_state_wildcarded(source, TRUE);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
234 gtk_icon_set_add_source(iconset, source);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
235 g_free(filename);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
236 gtk_icon_source_free(source);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
237 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
238
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
239
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
240 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
241
16436
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
242 /* Altered from do_colorshift in gnome-panel */
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
243 static void
16578
43e119f590ce DennisR noticed that the idle icons were jagged on the sides. This is because I was subtracting 128 from the alpha value of each pixel, rather than halving them, causing anti-aliasing pixels to hit 0
Sean Egan <seanegan@gmail.com>
parents: 16436
diff changeset
244 do_alphashift (GdkPixbuf *dest, GdkPixbuf *src)
16436
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
245 {
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
246 gint i, j;
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
247 gint width, height, has_alpha, srcrowstride, destrowstride;
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
248 guchar *target_pixels;
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
249 guchar *original_pixels;
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
250 guchar *pixsrc;
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
251 guchar *pixdest;
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
252 guchar a;
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
253
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
254 has_alpha = gdk_pixbuf_get_has_alpha (src);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
255 if (!has_alpha)
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
256 return;
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
257
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
258 width = gdk_pixbuf_get_width (src);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
259 height = gdk_pixbuf_get_height (src);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
260 srcrowstride = gdk_pixbuf_get_rowstride (src);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
261 destrowstride = gdk_pixbuf_get_rowstride (dest);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
262 target_pixels = gdk_pixbuf_get_pixels (dest);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
263 original_pixels = gdk_pixbuf_get_pixels (src);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
264
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
265 for (i = 0; i < height; i++) {
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
266 pixdest = target_pixels + i*destrowstride;
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
267 pixsrc = original_pixels + i*srcrowstride;
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
268 for (j = 0; j < width; j++) {
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
269 *(pixdest++) = *(pixsrc++);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
270 *(pixdest++) = *(pixsrc++);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
271 *(pixdest++) = *(pixsrc++);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
272 a = *(pixsrc++);
16578
43e119f590ce DennisR noticed that the idle icons were jagged on the sides. This is because I was subtracting 128 from the alpha value of each pixel, rather than halving them, causing anti-aliasing pixels to hit 0
Sean Egan <seanegan@gmail.com>
parents: 16436
diff changeset
273 *(pixdest++) = a / 2;
16436
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
274 }
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
275 }
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
276 }
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
277
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
278 /* TODO: This is almost certainly not the best way to do this, but it's late, I'm tired,
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
279 * we're a few hours from getting this thing out, and copy/paste is EASY.
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
280 */
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
281 static void
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
282 add_translucent_sized_icon(GtkIconSet *iconset, GtkIconSize sizeid, const char *dir,
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
283 gboolean rtl, const char *size, const char *file)
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
284 {
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
285 char *filename;
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
286 GtkIconSource *source;
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
287 GdkPixbuf *pixbuf;
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
288
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
289 filename = g_build_filename(DATADIR, "pixmaps", "pidgin", dir, size, file, NULL);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
290 pixbuf = gdk_pixbuf_new_from_file(filename, NULL);
16578
43e119f590ce DennisR noticed that the idle icons were jagged on the sides. This is because I was subtracting 128 from the alpha value of each pixel, rather than halving them, causing anti-aliasing pixels to hit 0
Sean Egan <seanegan@gmail.com>
parents: 16436
diff changeset
291 do_alphashift(pixbuf, pixbuf);
16436
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
292
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
293 source = gtk_icon_source_new();
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
294 gtk_icon_source_set_pixbuf(source, pixbuf);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
295 gtk_icon_source_set_direction(source, GTK_TEXT_DIR_LTR);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
296 gtk_icon_source_set_direction_wildcarded(source, !rtl);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
297 gtk_icon_source_set_size(source, sizeid);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
298 gtk_icon_source_set_size_wildcarded(source, FALSE);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
299 gtk_icon_source_set_state_wildcarded(source, TRUE);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
300 gtk_icon_set_add_source(iconset, source);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
301 gtk_icon_source_free(source);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
302
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
303 if (sizeid == gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL)) {
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
304 source = gtk_icon_source_new();
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
305 gtk_icon_source_set_pixbuf(source, pixbuf);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
306 gtk_icon_source_set_direction_wildcarded(source, TRUE);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
307 gtk_icon_source_set_size(source, GTK_ICON_SIZE_MENU);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
308 gtk_icon_source_set_size_wildcarded(source, FALSE);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
309 gtk_icon_source_set_state_wildcarded(source, TRUE);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
310 gtk_icon_set_add_source(iconset, source);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
311 gtk_icon_source_free(source);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
312 }
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
313 g_free(filename);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
314 g_object_unref(pixbuf);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
315
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
316 if (rtl) {
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
317 filename = g_build_filename(DATADIR, "pixmaps", "pidgin", dir, size, "rtl", file, NULL);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
318 pixbuf = gdk_pixbuf_new_from_file(filename, NULL);
16578
43e119f590ce DennisR noticed that the idle icons were jagged on the sides. This is because I was subtracting 128 from the alpha value of each pixel, rather than halving them, causing anti-aliasing pixels to hit 0
Sean Egan <seanegan@gmail.com>
parents: 16436
diff changeset
319 do_alphashift(pixbuf, pixbuf);
16436
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
320 source = gtk_icon_source_new();
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
321 gtk_icon_source_set_pixbuf(source, pixbuf);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
322 gtk_icon_source_set_direction(source, GTK_TEXT_DIR_RTL);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
323 gtk_icon_source_set_size(source, sizeid);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
324 gtk_icon_source_set_size_wildcarded(source, FALSE);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
325 gtk_icon_source_set_state_wildcarded(source, TRUE);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
326 gtk_icon_set_add_source(iconset, source);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
327 g_free(filename);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
328 g_object_unref(pixbuf);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
329 gtk_icon_source_free(source);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
330 }
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
331
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
332
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
333 }
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
334
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
335
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
336 void
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
337 pidgin_stock_init(void)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
338 {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
339 static gboolean stock_initted = FALSE;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
340 GtkIconFactory *icon_factory;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
341 size_t i;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
342 GtkWidget *win;
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
343 GtkIconSize microscopic, extra_small, small, medium, large, huge;
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
344
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
345 if (stock_initted)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
346 return;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
347
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
348 stock_initted = TRUE;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
349
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
350 /* Setup the icon factory. */
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
351 icon_factory = gtk_icon_factory_new();
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
352
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
353 gtk_icon_factory_add_default(icon_factory);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
354
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
355 /* Er, yeah, a hack, but it works. :) */
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
356 win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
357 gtk_widget_realize(win);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
358
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
359 for (i = 0; i < G_N_ELEMENTS(stock_icons); i++)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
360 {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
361 GtkIconSource *source;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
362 GtkIconSet *iconset;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
363 gchar *filename;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
364
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
365 if (stock_icons[i].dir == NULL)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
366 {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
367 /* GTK+ Stock icon */
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
368 iconset = gtk_style_lookup_icon_set(gtk_widget_get_style(win),
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
369 stock_icons[i].filename);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
370 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
371 else
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
372 {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
373 filename = find_file(stock_icons[i].dir, stock_icons[i].filename);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
374
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
375 if (filename == NULL)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
376 continue;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
377
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
378 source = gtk_icon_source_new();
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
379 gtk_icon_source_set_filename(source, filename);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
380 gtk_icon_source_set_direction_wildcarded(source, TRUE);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
381 gtk_icon_source_set_size_wildcarded(source, TRUE);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
382 gtk_icon_source_set_state_wildcarded(source, TRUE);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
383
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
384
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
385 iconset = gtk_icon_set_new();
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
386 gtk_icon_set_add_source(iconset, source);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
387
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
388 gtk_icon_source_free(source);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
389 g_free(filename);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
390 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
391
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
392 gtk_icon_factory_add(icon_factory, stock_icons[i].name, iconset);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
393
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
394 gtk_icon_set_unref(iconset);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
395 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
396
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
397 /* register custom icon sizes */
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
398
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
399 microscopic = gtk_icon_size_register("pidgin-icon-size-tango-microscopic", 11, 11);
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
400 extra_small = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL, 16, 16);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
401 small = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_SMALL, 22, 22);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
402 medium = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_MEDIUM, 32, 32);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
403 large = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_LARGE, 48, 48);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
404 huge = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_HUGE, 64, 64);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
405
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
406 for (i = 0; i < G_N_ELEMENTS(sized_stock_icons); i++)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
407 {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
408 GtkIconSet *iconset;
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
409
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
410 iconset = gtk_icon_set_new();
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
411 if (sized_stock_icons[i].microscopic)
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
412 add_sized_icon(iconset, microscopic,
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
413 sized_stock_icons[i].dir, sized_stock_icons[i].rtl,
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
414 "11", sized_stock_icons[i].filename);
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
415 if (sized_stock_icons[i].extra_small)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
416 add_sized_icon(iconset, extra_small,
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
417 sized_stock_icons[i].dir, sized_stock_icons[i].rtl,
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
418 "16", sized_stock_icons[i].filename);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
419 if (sized_stock_icons[i].small)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
420 add_sized_icon(iconset, small,
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
421 sized_stock_icons[i].dir, sized_stock_icons[i].rtl,
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
422 "22", sized_stock_icons[i].filename);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
423 if (sized_stock_icons[i].medium)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
424 add_sized_icon(iconset, medium,
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
425 sized_stock_icons[i].dir, sized_stock_icons[i].rtl,
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
426 "32", sized_stock_icons[i].filename);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
427 if (sized_stock_icons[i].large)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
428 add_sized_icon(iconset, large,
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
429 sized_stock_icons[i].dir, sized_stock_icons[i].rtl,
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
430 "48", sized_stock_icons[i].filename);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
431 if (sized_stock_icons[i].huge)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
432 add_sized_icon(iconset, huge,
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
433 sized_stock_icons[i].dir, sized_stock_icons[i].rtl,
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
434 "64", sized_stock_icons[i].filename);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
435
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
436 gtk_icon_factory_add(icon_factory, sized_stock_icons[i].name, iconset);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
437 gtk_icon_set_unref(iconset);
16436
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
438
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
439 if (sized_stock_icons[i].translucent_name) {
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
440 iconset = gtk_icon_set_new();
19293
758b71dcd354 Small tab icons
Sean Egan <seanegan@gmail.com>
parents: 19292
diff changeset
441 if (sized_stock_icons[i].microscopic)
758b71dcd354 Small tab icons
Sean Egan <seanegan@gmail.com>
parents: 19292
diff changeset
442 add_translucent_sized_icon(iconset, microscopic,
758b71dcd354 Small tab icons
Sean Egan <seanegan@gmail.com>
parents: 19292
diff changeset
443 sized_stock_icons[i].dir, sized_stock_icons[i].rtl,
758b71dcd354 Small tab icons
Sean Egan <seanegan@gmail.com>
parents: 19292
diff changeset
444 "11", sized_stock_icons[i].filename);
16436
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
445 if (sized_stock_icons[i].extra_small)
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
446 add_translucent_sized_icon(iconset, extra_small,
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
447 sized_stock_icons[i].dir, sized_stock_icons[i].rtl,
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
448 "16", sized_stock_icons[i].filename);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
449 if (sized_stock_icons[i].small)
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
450 add_translucent_sized_icon(iconset, small,
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
451 sized_stock_icons[i].dir, sized_stock_icons[i].rtl,
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
452 "22", sized_stock_icons[i].filename);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
453 if (sized_stock_icons[i].medium)
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
454 add_translucent_sized_icon(iconset, medium,
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
455 sized_stock_icons[i].dir, sized_stock_icons[i].rtl,
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
456 "32", sized_stock_icons[i].filename);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
457 if (sized_stock_icons[i].large)
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
458 add_translucent_sized_icon(iconset, large,
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
459 sized_stock_icons[i].dir, sized_stock_icons[i].rtl,
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
460 "48", sized_stock_icons[i].filename);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
461 if (sized_stock_icons[i].huge)
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
462 add_translucent_sized_icon(iconset, huge,
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
463 sized_stock_icons[i].dir, sized_stock_icons[i].rtl,
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
464 "64", sized_stock_icons[i].filename);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
465
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
466 gtk_icon_factory_add(icon_factory, sized_stock_icons[i].translucent_name, iconset);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
467 gtk_icon_set_unref(iconset);
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
468 }
15822
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
469 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
470
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
471 gtk_widget_destroy(win);
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
472 g_object_unref(G_OBJECT(icon_factory));
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
473
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
474 /* Register the stock items. */
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
475 gtk_stock_add_static(stock_items, G_N_ELEMENTS(stock_items));
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
476 }