annotate pidgin/pidginstock.c @ 23144:dea8b856466e

propagate from branch 'im.pidgin.pidgin.custom_smiley' (head c134ff23eba5faac09c13e731e792fa612c91a9a) to branch 'im.pidgin.pidgin.next.minor' (head 4d2d20241c7dac5915e142f0aa9811c9eab40111)
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Mon, 12 May 2008 23:17:48 +0000
parents c0ad0943cd6e
children 62b5d52c3d66 a8a26b4d8458
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 },
16007
d64602bb59d2 block and unblock have the right icons now
Nathan Walp <nwalp@pidgin.im>
parents: 15870
diff changeset
171
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
172 { 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
173 { 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
174 { 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
175 { 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
176 { 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
177 { 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
178 { 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
179 { 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
180 { 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
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
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 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
184 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
185 {
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 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
187
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 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
189 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
190
15870
99b965aaf9bf Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
191 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
192 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
193 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
194 {
15870
99b965aaf9bf Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
195 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
196 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
197 }
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 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
200 }
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 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
203 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
204 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
205 {
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 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
207 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
208
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 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
210 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
211 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
212 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
213 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
214 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
215 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
216 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
217 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
218 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
219
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 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
221 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
222 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
223 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
224 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
225 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
226 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
227 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
228 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
229 }
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 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
231
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 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
233 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
234 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
235 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
236 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
237 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
238 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
239 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
240 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
241 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
242 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
243 }
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
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
248 /* 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
249 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
250 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
251 {
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 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
253 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
254 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
255 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
256 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
257 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
258 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
259
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 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
261 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
262 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
263
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 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
265 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
266 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
267 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
268 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
269 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
270
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 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
272 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
273 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
274 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
275 *(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
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 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
279 *(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
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 }
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 /* 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
285 * 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
286 */
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 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
288 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
289 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
290 {
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 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
292 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
293 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
294
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 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
296 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
297 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
298
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 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
300 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
301 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
302 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
303 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
304 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
305 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
306 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
307 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
308
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 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
310 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
311 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
312 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
313 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
314 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
315 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
316 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
317 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
318 }
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 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
320 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
321
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 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
323 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
324 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
325 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
326 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
327 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
328 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
329 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
330 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
331 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
332 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
333 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
334 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
335 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
336 }
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
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
342 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
343 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
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 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
346 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
347 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
348 GtkWidget *win;
19292
36316f1db621 Adds a new icon size for tab status icons
Sean Egan <seanegan@gmail.com>
parents: 18822
diff changeset
349 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
350
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
351 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
352 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
353
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 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
355
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 /* 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
357 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
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 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
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 /* 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
362 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
363 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
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 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
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 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
368 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
369 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
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 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
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 /* 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
374 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
375 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
376 }
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 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
378 {
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 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
380
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 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
382 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
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 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
385 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
386 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
387 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
388 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
389
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
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 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
392 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
393
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
394 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
395 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
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
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 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
399
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 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
401 }
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 /* register custom icon sizes */
21698
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
404
19469
42ee8f13c917 Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents: 19308
diff changeset
405 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
406 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
407 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
408 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
409 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
410 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
411
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 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
413 {
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 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
415
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 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
417
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
418 #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
419 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
420 add_sized_icon(iconset, name, \
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
421 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
422 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
423 } while (0)
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
424 ADD_SIZED_ICON(microscopic, "11");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
425 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
426 ADD_SIZED_ICON(small, "22");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
427 ADD_SIZED_ICON(medium, "32");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
428 ADD_SIZED_ICON(large, "48");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
429 ADD_SIZED_ICON(huge, "64");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
430 #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
431
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 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
433 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
434
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 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
436 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
437
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
438 #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
439 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
440 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
441 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
442 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
443 } while (0)
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
444 ADD_TRANS_ICON(microscopic, "11");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
445 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
446 ADD_TRANS_ICON(small, "22");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
447 ADD_TRANS_ICON(medium, "32");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
448 ADD_TRANS_ICON(large, "48");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
449 ADD_TRANS_ICON(huge, "64");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
450 #undef ADD_TRANS_ICON
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
451
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
452 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
453 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
454 }
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
455 }
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 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
458 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
459
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 /* 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
461 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
462 }