annotate pidgin/pidginstock.c @ 23758:e16982ad923f

Reapplied changes that were overwritten by 6b89b377381e35b459936fd2f730f45b5558ae69. applied changes from efb1c5e4382251975a52808c1719727741faa0b0 through 6329172d268ccd358600cfb60786c20dc36e60df applied changes from 2747d5e0324ca6b81e83bbb8b75e1efebcbbad6e through 692ff1164b0a492ba7179904281356966cc81ede applied changes from 692ff1164b0a492ba7179904281356966cc81ede through 0a1aca4e9483db7ba81ae564efdd2a81e3a813e8 applied changes from 0a1aca4e9483db7ba81ae564efdd2a81e3a813e8 through efb1c5e4382251975a52808c1719727741faa0b0
author Daniel Atallah <daniel.atallah@gmail.com>
date Sun, 10 Aug 2008 18:46:32 +0000
parents 62b5d52c3d66
children 2d419a0fc0e4 afee54dbcedc 3da0957e7821
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
20074
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19680
diff changeset
4 */
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19680
diff changeset
5
6bf32c9e15a7 remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents: 19680
diff changeset
6 /* 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
7 *
15870
99b965aaf9bf Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
8 * 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
9 * 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
10 * 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
11 *
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 * 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
13 * 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
14 * 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
15 * (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
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
17 * 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
18 * 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
19 * 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
20 * 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
21 *
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 * 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
23 * along with this program; if not, write to the Free Software
19680
44b4e8bd759b The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19503
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
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
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 */
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 "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
28 #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
29
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 #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
31
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 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
33 {
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 *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
35 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
36 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
37
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 } 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
39 {
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 { 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
41 #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
42 { 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
43 #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
44 { 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
45 #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
46 { 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
47 { PIDGIN_STOCK_CLEAR, NULL, GTK_STOCK_CLEAR },
18822
8410abf85678 Remove reference to close-tab.png
Sean Egan <seanegan@gmail.com>
parents: 18797
diff changeset
48 { 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
49 { 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
50 { 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
51 #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
52 { 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
53 #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
54 { 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
55 #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
56 { 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
57 #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
58 { 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
59 #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
60 { 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
61 #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
62 { 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
63 { 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
64 { 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
65 { 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
66 { 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
67 #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
68 { 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
69 #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
70 { 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
71 #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
72 { 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
73 { 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
74 { 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
75 { 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
76 { 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
77 { PIDGIN_STOCK_UPLOAD, NULL, GTK_STOCK_GO_UP },
19503
2f0960548c1d Make the gtkcert stuff compile on GTK+ older than 2.8
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19473
diff changeset
78 #if GTK_CHECK_VERSION(2,8,0)
2f0960548c1d Make the gtkcert stuff compile on GTK+ older than 2.8
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19473
diff changeset
79 { PIDGIN_STOCK_INFO, NULL, GTK_STOCK_INFO },
2f0960548c1d Make the gtkcert stuff compile on GTK+ older than 2.8
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19473
diff changeset
80 #else
2f0960548c1d Make the gtkcert stuff compile on GTK+ older than 2.8
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19473
diff changeset
81 { PIDGIN_STOCK_INFO, "buttons", "info.png" },
2f0960548c1d Make the gtkcert stuff compile on GTK+ older than 2.8
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19473
diff changeset
82 #endif
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
83 };
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
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 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
86 {
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_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
88 { 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
89 { 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
90 { 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
91 { 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
92 { 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
93 { 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
94 { 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
95 { 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
96 };
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
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 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
99 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
100 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
101 const char *filename;
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
102 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
103 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
104 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
105 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
106 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
107 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
108 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
109 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
110 } const sized_stock_icons [] = {
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
111 { 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
112 { 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
113 { PIDGIN_STOCK_STATUS_BUSY, "status", "busy.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_BUSY_I },
19473
b67bfe1513ee Add 11px extended-away rtl icon.
Sean Egan <seanegan@gmail.com>
parents: 19469
diff changeset
114 { PIDGIN_STOCK_STATUS_CHAT, "status", "chat.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
115 { 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
116 { PIDGIN_STOCK_STATUS_XA, "status", "extended-away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, PIDGIN_STOCK_STATUS_XA_I },
20759
989f5906ca17 Hylke made a new win32 installer pixmap
Sean Egan <seanegan@gmail.com>
parents: 20074
diff changeset
117 { PIDGIN_STOCK_STATUS_LOGIN, "status", "log-in.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL },
989f5906ca17 Hylke made a new win32 installer pixmap
Sean Egan <seanegan@gmail.com>
parents: 20074
diff changeset
118 { PIDGIN_STOCK_STATUS_LOGOUT, "status", "log-out.png", TRUE, 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
119 { 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
120 { PIDGIN_STOCK_STATUS_PERSON, "status", "person.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
20759
989f5906ca17 Hylke made a new win32 installer pixmap
Sean Egan <seanegan@gmail.com>
parents: 20074
diff changeset
121 { PIDGIN_STOCK_STATUS_MESSAGE, "toolbar", "message-new.png", TRUE, 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_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
124 { 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
125 { 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
126 { 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
127 { 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
128
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
129 { 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
130 { 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
131 { 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
132 { 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
133 { 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
134 { 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
135 { 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
136
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
137 { 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
138 { 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
139 { 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
140 { 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
141 { 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
142 { 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
143 { 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
144 { 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
145 { 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
146 { 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
147 { 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
148 { 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
149 { 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
150 { 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
151 { 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
152
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
153 { 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
154 { 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
155 { 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
156 { 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
157 { 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
158 { 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
159 { 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
160 { 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
161 { 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
162 { 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
163 { 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
164 { 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
165 { 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
166 { 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
167 { 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
168 { 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
169 { 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
170 { PIDGIN_STOCK_TOOLBAR_SEND_FILE, "toolbar", "send-file.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
23282
62b5d52c3d66 Update File Transfer icon and use new send fie icon. Fixes #2744.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 22281
diff changeset
171 { PIDGIN_STOCK_TOOLBAR_TRANSFER, "toolbar", "transfer.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
172
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
173 { 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
174 { 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
175 { 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
176 { 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
177 { 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
178 { 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
179 { 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
180 { 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
181 { 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
182 };
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
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 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
185 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
186 {
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 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
188
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
189 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
190 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
191
15870
99b965aaf9bf Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
192 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
193 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
194 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
195 {
15870
99b965aaf9bf Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
196 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
197 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
198 }
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 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
201 }
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 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
204 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
205 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
206 {
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 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
208 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
209
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 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
211 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
212 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
213 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
214 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
215 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
216 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
217 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
218 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
219 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
220
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 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
222 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
223 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
224 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
225 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
226 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
227 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
228 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
229 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
230 }
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 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
232
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 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
234 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
235 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
236 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
237 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
238 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
239 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
240 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
241 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
242 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
243 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
244 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
245
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
246
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
247 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
248
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
249 /* 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
250 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
251 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
252 {
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 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
254 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
255 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
256 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
257 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
258 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
259 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
260
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 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
262 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
263 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
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 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
266 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
267 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
268 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
269 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
270 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
271
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 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
273 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
274 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
275 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
276 *(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
277 *(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
278 *(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
279 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
280 *(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
281 }
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 }
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 }
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 /* 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
286 * 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
287 */
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 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
289 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
290 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
291 {
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 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
293 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
294 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
295
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 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
297 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
298 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
299
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 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
301 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
302 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
303 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
304 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
305 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
306 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
307 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
308 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
309
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 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
311 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
312 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
313 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
314 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
315 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
316 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
317 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
318 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
319 }
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 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
321 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
322
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 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
324 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
325 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
326 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
327 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
328 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
329 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
330 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
331 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
332 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
333 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
334 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
335 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
336 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
337 }
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
338
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
339
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
340 }
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
341
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
342
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
343 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
344 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
345 {
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 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
347 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
348 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
349 GtkWidget *win;
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
350 GtkIconSize microscopic, extra_small, small, medium, large, huge;
21698
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
351
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
352 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
353 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
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 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
356
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 /* 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
358 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
359
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 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
361
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 /* 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
363 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
364 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
365
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 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
367 {
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 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
369 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
370 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
371
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 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
373 {
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 /* 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
375 iconset = gtk_style_lookup_icon_set(gtk_widget_get_style(win),
21698
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
376 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
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 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
379 {
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 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
381
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 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
383 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
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 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
386 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
387 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
388 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
389 gtk_icon_source_set_state_wildcarded(source, TRUE);
21698
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
390
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
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 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
393 gtk_icon_set_add_source(iconset, source);
21698
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
394
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
395 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
396 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
397 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
398
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
399 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
400
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 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
402 }
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
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 /* register custom icon sizes */
21698
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
405
19469
42ee8f13c917 Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents: 19308
diff changeset
406 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
407 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
408 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
409 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
410 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
411 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
412
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
413 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
414 {
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 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
416
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 iconset = gtk_icon_set_new();
21698
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
418
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
419 #define ADD_SIZED_ICON(name, size) do { \
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
420 if (sized_stock_icons[i].name) \
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
421 add_sized_icon(iconset, name, \
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
422 sized_stock_icons[i].dir, sized_stock_icons[i].rtl, \
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
423 size, sized_stock_icons[i].filename); \
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
424 } while (0)
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
425 ADD_SIZED_ICON(microscopic, "11");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
426 ADD_SIZED_ICON(extra_small, "16");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
427 ADD_SIZED_ICON(small, "22");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
428 ADD_SIZED_ICON(medium, "32");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
429 ADD_SIZED_ICON(large, "48");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
430 ADD_SIZED_ICON(huge, "64");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
431 #undef ADD_SIZED_ICON
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
432
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 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
434 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
435
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
436 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
437 iconset = gtk_icon_set_new();
21698
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
438
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
439 #define ADD_TRANS_ICON(name, size) do { \
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
440 if (sized_stock_icons[i].name) \
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
441 add_translucent_sized_icon(iconset, name, \
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
442 sized_stock_icons[i].dir, sized_stock_icons[i].rtl, \
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
443 size, sized_stock_icons[i].filename); \
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
444 } while (0)
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
445 ADD_TRANS_ICON(microscopic, "11");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
446 ADD_TRANS_ICON(extra_small, "16");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
447 ADD_TRANS_ICON(small, "22");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
448 ADD_TRANS_ICON(medium, "32");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
449 ADD_TRANS_ICON(large, "48");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
450 ADD_TRANS_ICON(huge, "64");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
451 #undef ADD_TRANS_ICON
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
452
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
453 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
454 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
455 }
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
456 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
457
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
458 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
459 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
460
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
461 /* 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
462 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
463 }