annotate pidgin/pidginstock.c @ 27400:31534ae3406a

Moved functions around and made some no longer static. All the functions that are no longer static now have prototypes in libymsg.h. Moved the URI handling stuff to libyahoo.c since I removed the handling capability from libyahoojp.c. I still need to find out if Yahoo! JAPAN has its own URI scheme or not.
author John Bailey <rekkanoryo@rekkanoryo.org>
date Sun, 05 Jul 2009 23:56:07 +0000
parents e6ba07a72fd8
children 3418d175d4c6 42c64c41cf87
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"
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
29 #include "prefs.h"
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
30
25268
7ddaa405936e renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents: 25267
diff changeset
31 #include "gtkicon-theme-loader.h"
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
32 #include "theme-manager.h"
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
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 #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
35
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
36 /**************************************************************************
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
37 * Globals
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
38 **************************************************************************/
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
39
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
40 static gboolean stock_initted = FALSE;
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
41 static GtkIconSize microscopic, extra_small, small, medium, large, huge;
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
42
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
43 /**************************************************************************
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
44 * Structures
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
45 **************************************************************************/
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
46
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
47 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
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
49 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
50 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
51 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
52
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
53 } const stock_icons[] = {
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
54
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
55 { 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
56 #if GTK_CHECK_VERSION(2,6,0)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
57 { PIDGIN_STOCK_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
58 #else
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
59 { PIDGIN_STOCK_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
60 #endif
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
61 { PIDGIN_STOCK_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
62 { PIDGIN_STOCK_CLEAR, NULL, GTK_STOCK_CLEAR },
18822
8410abf85678 Remove reference to close-tab.png
Sean Egan <seanegan@gmail.com>
parents: 18797
diff changeset
63 { 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
64 { 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
65 { 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
66 #if GTK_CHECK_VERSION(2,6,0)
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
67 { PIDGIN_STOCK_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
68 #else
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
69 { PIDGIN_STOCK_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
70 #endif
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
71 { PIDGIN_STOCK_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
72 #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
73 { 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
74 #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
75 { 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
76 #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
77 { 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
78 { 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
79 { 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
80 { 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
81 { PIDGIN_STOCK_MODIFY, NULL, GTK_STOCK_PREFERENCES },
24317
b948081819a6 Add an ellipsis to the "Add" and "Modify" buttons in the accounts, pounces, and
Alex Willmer <alex@moreati.org.uk>
parents: 23888
diff changeset
82 { PIDGIN_STOCK_ADD, NULL, GTK_STOCK_ADD },
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 #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
84 { 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
85 #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
86 { 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
87 #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
88 { 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
89 { 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
90 { 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
91 { 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
92 { 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
93 { 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
94 #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
95 { 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
96 #else
2f0960548c1d Make the gtkcert stuff compile on GTK+ older than 2.8
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19473
diff changeset
97 { 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
98 #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
99 };
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
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 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
102 {
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 { 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
104 { 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
105 { 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
106 { 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
107 { 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
108 { PIDGIN_STOCK_INVITE, N_("_Invite"), 0, 0, NULL },
24317
b948081819a6 Add an ellipsis to the "Add" and "Modify" buttons in the accounts, pounces, and
Alex Willmer <alex@moreati.org.uk>
parents: 23888
diff changeset
109 { PIDGIN_STOCK_MODIFY, N_("_Modify..."), 0, 0, NULL },
b948081819a6 Add an ellipsis to the "Add" and "Modify" buttons in the accounts, pounces, and
Alex Willmer <alex@moreati.org.uk>
parents: 23888
diff changeset
110 { PIDGIN_STOCK_ADD, N_("_Add..."), 0, 0, 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
111 { 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
112 { PIDGIN_STOCK_PAUSE, N_("_Pause"), 0, 0, NULL },
23888
08c29b5b0ee8 Show 'Edit' instead of 'pidgin-edit' in the edit buttons. Fixes #6742
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23881
diff changeset
113 { PIDGIN_STOCK_EDIT, N_("_Edit"), 0, 0, 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
114 };
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
115
26214
edd2cebdead8 Manual merging...
Marcus Lundblad <ml@update.uu.se>
parents: 26213
diff changeset
116 typedef struct {
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
117 const char *name;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
118 const char *dir;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
119 const char *filename;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
120 gboolean microscopic;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
121 gboolean extra_small;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
122 gboolean small;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
123 gboolean medium;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
124 gboolean large;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
125 gboolean huge;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
126 gboolean rtl;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
127 const char *translucent_name;
26214
edd2cebdead8 Manual merging...
Marcus Lundblad <ml@update.uu.se>
parents: 26213
diff changeset
128 } SizedStockIcon;
edd2cebdead8 Manual merging...
Marcus Lundblad <ml@update.uu.se>
parents: 26213
diff changeset
129
edd2cebdead8 Manual merging...
Marcus Lundblad <ml@update.uu.se>
parents: 26213
diff changeset
130 const SizedStockIcon sized_stock_icons [] = {
edd2cebdead8 Manual merging...
Marcus Lundblad <ml@update.uu.se>
parents: 26213
diff changeset
131
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
132 { PIDGIN_STOCK_STATUS_IGNORED, "emblems", "blocked.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
133 { PIDGIN_STOCK_STATUS_FOUNDER, "emblems", "founder.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
134 { PIDGIN_STOCK_STATUS_OPERATOR, "emblems", "operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
135 { PIDGIN_STOCK_STATUS_HALFOP, "emblems", "half-operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
136 { 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
137
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
138 { PIDGIN_STOCK_DIALOG_AUTH, "dialogs", "auth.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
139 { PIDGIN_STOCK_DIALOG_COOL, "dialogs", "cool.png", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
140 { PIDGIN_STOCK_DIALOG_ERROR, "dialogs", "error.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
141 { PIDGIN_STOCK_DIALOG_INFO, "dialogs", "info.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
142 { PIDGIN_STOCK_DIALOG_MAIL, "dialogs", "mail.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
143 { PIDGIN_STOCK_DIALOG_QUESTION, "dialogs", "question.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
144 { 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
145
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
146 { PIDGIN_STOCK_ANIMATION_CONNECT0, "animations", "process-working0.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
147 { PIDGIN_STOCK_ANIMATION_CONNECT1, "animations", "process-working1.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
148 { PIDGIN_STOCK_ANIMATION_CONNECT2, "animations", "process-working2.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
149 { PIDGIN_STOCK_ANIMATION_CONNECT3, "animations", "process-working3.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
150 { PIDGIN_STOCK_ANIMATION_CONNECT4, "animations", "process-working4.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
151 { PIDGIN_STOCK_ANIMATION_CONNECT5, "animations", "process-working5.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
152 { PIDGIN_STOCK_ANIMATION_CONNECT6, "animations", "process-working6.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
153 { PIDGIN_STOCK_ANIMATION_CONNECT7, "animations", "process-working7.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
154 { PIDGIN_STOCK_ANIMATION_CONNECT8, "animations", "process-working8.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
155 { PIDGIN_STOCK_ANIMATION_CONNECT9, "animations", "process-working9.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
156 { PIDGIN_STOCK_ANIMATION_CONNECT10, "animations", "process-working10.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
157 { PIDGIN_STOCK_ANIMATION_CONNECT11, "animations", "process-working11.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
158 { PIDGIN_STOCK_ANIMATION_CONNECT12, "animations", "process-working12.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
159 { PIDGIN_STOCK_ANIMATION_CONNECT13, "animations", "process-working13.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
160 { PIDGIN_STOCK_ANIMATION_CONNECT14, "animations", "process-working14.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
161 { PIDGIN_STOCK_ANIMATION_CONNECT15, "animations", "process-working15.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
162 { PIDGIN_STOCK_ANIMATION_CONNECT16, "animations", "process-working16.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
163 { PIDGIN_STOCK_ANIMATION_CONNECT17, "animations", "process-working17.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
164 { PIDGIN_STOCK_ANIMATION_CONNECT18, "animations", "process-working18.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
165 { PIDGIN_STOCK_ANIMATION_CONNECT19, "animations", "process-working19.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
166 { PIDGIN_STOCK_ANIMATION_CONNECT20, "animations", "process-working20.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
167 { PIDGIN_STOCK_ANIMATION_CONNECT21, "animations", "process-working21.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
168 { PIDGIN_STOCK_ANIMATION_CONNECT22, "animations", "process-working22.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
169 { PIDGIN_STOCK_ANIMATION_CONNECT23, "animations", "process-working23.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
170 { PIDGIN_STOCK_ANIMATION_CONNECT24, "animations", "process-working24.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
171 { PIDGIN_STOCK_ANIMATION_CONNECT25, "animations", "process-working25.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
172 { PIDGIN_STOCK_ANIMATION_CONNECT26, "animations", "process-working26.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
173 { PIDGIN_STOCK_ANIMATION_CONNECT27, "animations", "process-working27.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
174 { PIDGIN_STOCK_ANIMATION_CONNECT28, "animations", "process-working28.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
175 { PIDGIN_STOCK_ANIMATION_CONNECT29, "animations", "process-working29.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
176 { PIDGIN_STOCK_ANIMATION_CONNECT30, "animations", "process-working30.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
177
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
178 { PIDGIN_STOCK_ANIMATION_TYPING0, "animations", "typing0.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
179 { PIDGIN_STOCK_ANIMATION_TYPING1, "animations", "typing1.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
180 { PIDGIN_STOCK_ANIMATION_TYPING2, "animations", "typing2.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
181 { PIDGIN_STOCK_ANIMATION_TYPING3, "animations", "typing3.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
182 { PIDGIN_STOCK_ANIMATION_TYPING4, "animations", "typing4.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
183 { PIDGIN_STOCK_ANIMATION_TYPING5, "animations", "typing5.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
184
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
185 { PIDGIN_STOCK_TOOLBAR_BGCOLOR, "toolbar", "change-bgcolor.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
186 { PIDGIN_STOCK_TOOLBAR_BLOCK, "emblems", "blocked.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
187 { PIDGIN_STOCK_TOOLBAR_FGCOLOR, "toolbar", "change-fgcolor.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
188 { PIDGIN_STOCK_TOOLBAR_SMILEY, "toolbar", "emote-select.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
189 { PIDGIN_STOCK_TOOLBAR_FONT_FACE, "toolbar", "font-face.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
190 { PIDGIN_STOCK_TOOLBAR_TEXT_SMALLER, "toolbar", "font-size-down.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
191 { PIDGIN_STOCK_TOOLBAR_TEXT_LARGER, "toolbar", "font-size-up.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
192 { PIDGIN_STOCK_TOOLBAR_INSERT, "toolbar", "insert.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
193 { PIDGIN_STOCK_TOOLBAR_INSERT_IMAGE, "toolbar", "insert-image.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
194 { PIDGIN_STOCK_TOOLBAR_INSERT_LINK, "toolbar", "insert-link.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
195 { PIDGIN_STOCK_TOOLBAR_MESSAGE_NEW, "toolbar", "message-new.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
196 { PIDGIN_STOCK_TOOLBAR_PENDING, "toolbar", "message-new.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
197 { PIDGIN_STOCK_TOOLBAR_PLUGINS, "toolbar", "plugins.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
198 { PIDGIN_STOCK_TOOLBAR_UNBLOCK, "toolbar", "unblock.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
199 { PIDGIN_STOCK_TOOLBAR_SELECT_AVATAR, "toolbar", "select-avatar.png", FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
200 { PIDGIN_STOCK_TOOLBAR_SEND_FILE, "toolbar", "send-file.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
201 { PIDGIN_STOCK_TOOLBAR_TRANSFER, "toolbar", "transfer.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
26214
edd2cebdead8 Manual merging...
Marcus Lundblad <ml@update.uu.se>
parents: 26213
diff changeset
202 #ifdef USE_VV
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
203 { PIDGIN_STOCK_TOOLBAR_AUDIO_CALL, "toolbar", "audio-call.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
204 { PIDGIN_STOCK_TOOLBAR_VIDEO_CALL, "toolbar", "video-call.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
205 { PIDGIN_STOCK_TOOLBAR_AUDIO_VIDEO_CALL, "toolbar", "audio-video-call.png", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
26214
edd2cebdead8 Manual merging...
Marcus Lundblad <ml@update.uu.se>
parents: 26213
diff changeset
206 #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
207 };
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
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
209 const SizedStockIcon sized_status_icons [] = {
16007
d64602bb59d2 block and unblock have the right icons now
Nathan Walp <nwalp@pidgin.im>
parents: 15870
diff changeset
210
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
211 { PIDGIN_STOCK_STATUS_AVAILABLE, "status", "available.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AVAILABLE_I },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
212 { PIDGIN_STOCK_STATUS_AWAY, "status", "away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AWAY_I },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
213 { PIDGIN_STOCK_STATUS_BUSY, "status", "busy.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_BUSY_I },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
214 { PIDGIN_STOCK_STATUS_CHAT, "status", "chat.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
215 { PIDGIN_STOCK_STATUS_INVISIBLE, "status", "invisible.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
216 { PIDGIN_STOCK_STATUS_XA, "status", "extended-away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, PIDGIN_STOCK_STATUS_XA_I },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
217 { PIDGIN_STOCK_STATUS_LOGIN, "status", "log-in.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
218 { PIDGIN_STOCK_STATUS_LOGOUT, "status", "log-out.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
219 { PIDGIN_STOCK_STATUS_OFFLINE, "status", "offline.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_OFFLINE_I },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
220 { PIDGIN_STOCK_STATUS_PERSON, "status", "person.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
221 { PIDGIN_STOCK_STATUS_MESSAGE, "toolbar", "message-new.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL },
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
222
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
223 { PIDGIN_STOCK_TRAY_AVAILABLE, "tray", "tray-online.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
224 { PIDGIN_STOCK_TRAY_INVISIBLE, "tray", "tray-invisible.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
225 { PIDGIN_STOCK_TRAY_AWAY, "tray", "tray-away.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
226 { PIDGIN_STOCK_TRAY_BUSY, "tray", "tray-busy.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
227 { PIDGIN_STOCK_TRAY_XA, "tray", "tray-extended-away.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
228 { PIDGIN_STOCK_TRAY_OFFLINE, "tray", "tray-offline.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
229 { PIDGIN_STOCK_TRAY_CONNECT, "tray", "tray-connecting.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
230 { PIDGIN_STOCK_TRAY_PENDING, "tray", "tray-new-im.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL },
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
231 { 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
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
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
234 /*****************************************************************************
25415
584063555949 Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 25344
diff changeset
235 * Private functions
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
236 *****************************************************************************/
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
237
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
238 static gchar *
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
239 find_file_common(const char *name)
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
240 {
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
241 gchar *filename;
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
242 #if GLIB_CHECK_VERSION(2,6,0)
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
243 const gchar *userdir;
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
244 const gchar * const *sysdirs;
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
245
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
246 userdir = g_get_user_data_dir();
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
247 filename = g_build_filename(userdir, name, NULL);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
248 if (g_file_test(filename, G_FILE_TEST_EXISTS))
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
249 return filename;
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
250 g_free(filename);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
251
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
252 sysdirs = g_get_system_data_dirs();
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
253 for (; *sysdirs; sysdirs++) {
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
254 filename = g_build_filename(*sysdirs, name, NULL);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
255 if (g_file_test(filename, G_FILE_TEST_EXISTS))
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
256 return filename;
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
257 g_free(filename);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
258 }
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
259 #endif
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
260 filename = g_build_filename(DATADIR, name, NULL);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
261 if (g_file_test(filename, G_FILE_TEST_EXISTS))
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
262 return filename;
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
263 g_free(filename);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
264 return NULL;
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
265 }
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
266
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
267 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
268 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
269 {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
270 char *filename;
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
271 char *ret;
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
272
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
273 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
274 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
275
15870
99b965aaf9bf Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
276 if (!strcmp(dir, "pidgin"))
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
277 filename = g_build_filename("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
278 else
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
279 filename = g_build_filename("pixmaps", "pidgin", dir, 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
280
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
281 ret = find_file_common(filename);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
282 g_free(filename);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
283 return ret;
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
284 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
285
26434
e23a74d7c97c Get rid of the rest of the extraneous changes.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26214
diff changeset
286
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
287 /* 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
288 static void
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
289 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
290 {
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
291 gint i, j;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
292 gint width, height, has_alpha, srcrowstride, destrowstride;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
293 guchar *target_pixels;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
294 guchar *original_pixels;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
295 guchar *pixsrc;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
296 guchar *pixdest;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
297 guchar a;
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
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
299 has_alpha = gdk_pixbuf_get_has_alpha (src);
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
300 if (!has_alpha)
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
301 return;
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
302
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
303 width = gdk_pixbuf_get_width (src);
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
304 height = gdk_pixbuf_get_height (src);
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
305 srcrowstride = gdk_pixbuf_get_rowstride (src);
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
306 destrowstride = gdk_pixbuf_get_rowstride (dest);
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
307 target_pixels = gdk_pixbuf_get_pixels (dest);
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
308 original_pixels = gdk_pixbuf_get_pixels (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
309
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
310 for (i = 0; i < height; i++) {
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
311 pixdest = target_pixels + i*destrowstride;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
312 pixsrc = original_pixels + i*srcrowstride;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
313 for (j = 0; j < width; j++) {
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
314 *(pixdest++) = *(pixsrc++);
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
315 *(pixdest++) = *(pixsrc++);
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
316 *(pixdest++) = *(pixsrc++);
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
317 a = *(pixsrc++);
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
318 *(pixdest++) = a / 2;
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
319 }
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
320 }
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
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
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
323 static gchar *
26664
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
324 find_icon_file(PidginIconTheme *theme, const gchar *size, SizedStockIcon sized_icon, 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
325 {
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
326 const gchar *file, *dir;
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
327 gchar *file_full = NULL;
25333
244863136504 Clean up the merge I just did.
Richard Laager <rlaager@wiktel.com>
parents: 25332
diff changeset
328 gchar *tmp;
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
329
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
330 if (theme != NULL) {
23702
9525fb966efb theme loader cleanup, and remove a few warnings
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23700
diff changeset
331 file = pidgin_icon_theme_get_icon(PIDGIN_ICON_THEME(theme), sized_icon.name);
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
332 dir = purple_theme_get_dir(PURPLE_THEME(theme));
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
333
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
334 if (rtl)
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
335 file_full = g_build_filename(dir, size, "rtl", file, NULL);
25332
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
336 else
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
337 file_full = g_build_filename(dir, size, file, NULL);
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
338
25415
584063555949 Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 25344
diff changeset
339 if (g_file_test(file_full, G_FILE_TEST_IS_REGULAR))
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
340 return file_full;
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
341
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
342 g_free(file_full);
25332
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
343 }
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
344
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
345 if (rtl)
25332
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
346 tmp = g_build_filename("pixmaps", "pidgin", sized_icon.dir, size, "rtl", sized_icon.filename, NULL);
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
347 else
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
348 tmp = g_build_filename("pixmaps", "pidgin", sized_icon.dir, size, sized_icon.filename, NULL);
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
349
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
350 file_full = find_file_common(tmp);
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
351 g_free(tmp);
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
352 return file_full;
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
353 }
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
354
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
355 static void
26664
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
356 add_sized_icon(GtkIconSet *iconset, GtkIconSize sizeid, PidginIconTheme *theme,
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
357 const char *size, SizedStockIcon sized_icon, gboolean translucent)
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
358 {
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
359 char *filename;
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
360 GtkIconSource *source;
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
361 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
362
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
363 filename = find_icon_file(theme, size, sized_icon, FALSE);
25332
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
364 g_return_if_fail(filename != NULL);
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
365 pixbuf = gdk_pixbuf_new_from_file(filename, NULL);
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
366 if (translucent)
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
367 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
368
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
369 source = gtk_icon_source_new();
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
370 gtk_icon_source_set_pixbuf(source, 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
371 gtk_icon_source_set_direction(source, GTK_TEXT_DIR_LTR);
25332
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
372 gtk_icon_source_set_direction_wildcarded(source, !sized_icon.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
373 gtk_icon_source_set_size(source, sizeid);
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
374 gtk_icon_source_set_size_wildcarded(source, FALSE);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
375 gtk_icon_source_set_state_wildcarded(source, TRUE);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
376 gtk_icon_set_add_source(iconset, source);
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
377 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
378
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
379 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
380 source = gtk_icon_source_new();
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
381 gtk_icon_source_set_pixbuf(source, pixbuf);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
382 gtk_icon_source_set_direction_wildcarded(source, TRUE);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
383 gtk_icon_source_set_size(source, GTK_ICON_SIZE_MENU);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
384 gtk_icon_source_set_size_wildcarded(source, FALSE);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
385 gtk_icon_source_set_state_wildcarded(source, TRUE);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
386 gtk_icon_set_add_source(iconset, source);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
387 gtk_icon_source_free(source);
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
388 }
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
389 g_free(filename);
16436
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
390 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
391
25332
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
392 if (sized_icon.rtl) {
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
393 filename = find_icon_file(theme, size, sized_icon, TRUE);
25332
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
394 g_return_if_fail(filename != NULL);
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
395 pixbuf = gdk_pixbuf_new_from_file(filename, NULL);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
396 if (translucent)
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
397 do_alphashift(pixbuf, pixbuf);
23696
2753d96ed2bb fized the icon diplay bug with the icon theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23695
diff changeset
398
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
399 source = gtk_icon_source_new();
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
400 gtk_icon_source_set_pixbuf(source, pixbuf);
25332
9895d55d3877 explicit merge of 'a9579fef71ff6820f390a986132d30b079f590a0'
Richard Laager <rlaager@wiktel.com>
parents: 25314 24411
diff changeset
401 gtk_icon_source_set_filename(source, filename);
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
402 gtk_icon_source_set_direction(source, GTK_TEXT_DIR_RTL);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
403 gtk_icon_source_set_size(source, sizeid);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
404 gtk_icon_source_set_size_wildcarded(source, FALSE);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
405 gtk_icon_source_set_state_wildcarded(source, TRUE);
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
406 gtk_icon_set_add_source(iconset, source);
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
407 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
408 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
409 gtk_icon_source_free(source);
24411
de3b12b70b5f Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24317
diff changeset
410 }
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
411 }
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
412
26722
c13c256c56c0 Reload settings after updating icon theme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26664
diff changeset
413 static void
c13c256c56c0 Reload settings after updating icon theme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26664
diff changeset
414 reload_settings(void)
c13c256c56c0 Reload settings after updating icon theme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26664
diff changeset
415 {
c13c256c56c0 Reload settings after updating icon theme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26664
diff changeset
416 #if GTK_CHECK_VERSION(2,4,0)
c13c256c56c0 Reload settings after updating icon theme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26664
diff changeset
417 GtkSettings *setting = NULL;
c13c256c56c0 Reload settings after updating icon theme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26664
diff changeset
418 setting = gtk_settings_get_default();
c13c256c56c0 Reload settings after updating icon theme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26664
diff changeset
419 gtk_rc_reset_styles(setting);
c13c256c56c0 Reload settings after updating icon theme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26664
diff changeset
420 #endif
c13c256c56c0 Reload settings after updating icon theme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26664
diff changeset
421 }
c13c256c56c0 Reload settings after updating icon theme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26664
diff changeset
422
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
423 /*****************************************************************************
25415
584063555949 Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 25344
diff changeset
424 * Public API functions
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
425 *****************************************************************************/
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
426
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
427 void
23697
0bbfb20bad19 Clean up status icon themes a bit
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23696
diff changeset
428 pidgin_stock_load_status_icon_theme(PidginStatusIconTheme *theme)
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
429 {
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
430 GtkIconFactory *icon_factory;
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
431 gint i;
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
432 GtkIconSet *normal;
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
433 GtkIconSet *translucent = NULL;
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
434 GtkWidget *win;
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
435
23700
2d436084d866 fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23697
diff changeset
436 if (theme != NULL) {
25415
584063555949 Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 25344
diff changeset
437 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/status/icon-theme",
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
438 purple_theme_get_name(PURPLE_THEME(theme)));
25415
584063555949 Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 25344
diff changeset
439 purple_prefs_set_path(PIDGIN_PREFS_ROOT "/status/icon-theme-dir",
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
440 purple_theme_get_dir(PURPLE_THEME(theme)));
23700
2d436084d866 fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23697
diff changeset
441 }
2d436084d866 fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23697
diff changeset
442 else {
2d436084d866 fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23697
diff changeset
443 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/status/icon-theme", "");
2d436084d866 fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23697
diff changeset
444 purple_prefs_set_path(PIDGIN_PREFS_ROOT "/status/icon-theme-dir", "");
2d436084d866 fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23697
diff changeset
445 }
25415
584063555949 Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 25344
diff changeset
446
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
447 icon_factory = gtk_icon_factory_new();
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
448
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
449 gtk_icon_factory_add_default(icon_factory);
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
450
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
451 win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
452 gtk_widget_realize(win);
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
453
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
454 for (i = 0; i < G_N_ELEMENTS(sized_status_icons); i++)
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
455 {
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
456 normal = gtk_icon_set_new();
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
457 if (sized_status_icons[i].translucent_name)
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
458 translucent = gtk_icon_set_new();
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
459
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
460 #define ADD_SIZED_ICON(name, size) \
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
461 if (sized_status_icons[i].name) { \
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
462 add_sized_icon(normal, name, PIDGIN_ICON_THEME(theme), size, sized_status_icons[i], FALSE); \
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
463 if (sized_status_icons[i].translucent_name) \
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
464 add_sized_icon(translucent, name, PIDGIN_ICON_THEME(theme), size, sized_status_icons[i], TRUE); \
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
465 }
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
466 ADD_SIZED_ICON(microscopic, "11");
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
467 ADD_SIZED_ICON(extra_small, "16");
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
468 ADD_SIZED_ICON(small, "22");
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
469 ADD_SIZED_ICON(medium, "32");
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
470 ADD_SIZED_ICON(large, "48");
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
471 ADD_SIZED_ICON(huge, "64");
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
472 #undef ADD_SIZED_ICON
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
473
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
474 gtk_icon_factory_add(icon_factory, sized_status_icons[i].name, normal);
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
475 gtk_icon_set_unref(normal);
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
476
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
477 if (sized_status_icons[i].translucent_name) {
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
478 gtk_icon_factory_add(icon_factory, sized_status_icons[i].translucent_name, translucent);
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
479 gtk_icon_set_unref(translucent);
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
480 }
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
481 }
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
482
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
483 gtk_widget_destroy(win);
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
484 g_object_unref(G_OBJECT(icon_factory));
26722
c13c256c56c0 Reload settings after updating icon theme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26664
diff changeset
485 reload_settings();
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
486 }
c0c5f07027ff Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@gmail.com>
parents: 16356
diff changeset
487
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
488 void
26664
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
489 pidgin_stock_load_stock_icon_theme(PidginStockIconTheme *theme)
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
490 {
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
491 GtkIconFactory *icon_factory;
26664
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
492 gint i;
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
493 GtkWidget *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
494
26664
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
495 if (theme != NULL) {
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
496 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/stock/icon-theme",
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
497 purple_theme_get_name(PURPLE_THEME(theme)));
26664
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
498 purple_prefs_set_path(PIDGIN_PREFS_ROOT "/stock/icon-theme-dir",
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
499 purple_theme_get_dir(PURPLE_THEME(theme)));
26664
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
500 }
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
501 else {
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
502 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/stock/icon-theme", "");
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
503 purple_prefs_set_path(PIDGIN_PREFS_ROOT "/stock/icon-theme-dir", "");
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
504 }
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
505
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
506 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
507
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
508 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
509
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
510 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
511 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
512
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
513 /* All non-sized icons */
26664
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
514 for (i = 0; i < G_N_ELEMENTS(stock_icons); i++) {
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
515 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
516 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
517 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
518
26664
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
519 if (stock_icons[i].dir == 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
520 /* 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
521 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
522 stock_icons[i].filename);
26664
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
523 } else {
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
524 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
525
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
526 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
527 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
528
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
529 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
530 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
531 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
532 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
533 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
534
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
535 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
536 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
537
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
538 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
539 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
540 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
541
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
542 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
543
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
544 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
545 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
546
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
547 /* All non-status sized icons */
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
548 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
549 {
23695
f29e173320a7 Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23694
diff changeset
550 GtkIconSet *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
551
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
552 #define ADD_SIZED_ICON(name, size) \
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
553 if (sized_stock_icons[i].name) \
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
554 add_sized_icon(iconset, name, PIDGIN_ICON_THEME(theme), size, sized_stock_icons[i], FALSE);
21698
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
555 ADD_SIZED_ICON(microscopic, "11");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
556 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
557 ADD_SIZED_ICON(small, "22");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
558 ADD_SIZED_ICON(medium, "32");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
559 ADD_SIZED_ICON(large, "48");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
560 ADD_SIZED_ICON(huge, "64");
1d13939502cd I find this less painful to the eyes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20759
diff changeset
561 #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
562
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
563 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
564 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
565 }
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
566
84b0f9b23ede According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
567 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
568 g_object_unref(G_OBJECT(icon_factory));
26722
c13c256c56c0 Reload settings after updating icon theme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26664
diff changeset
569 reload_settings();
26664
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
570 }
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
571
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
572 void
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
573 pidgin_stock_init(void)
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
574 {
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
575 PidginIconThemeLoader *loader, *stockloader;
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
576 const gchar *path = NULL;
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
577
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
578 if (stock_initted)
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
579 return;
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
580
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
581 stock_initted = TRUE;
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
582
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
583 /* Setup the status icon theme */
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
584 loader = g_object_new(PIDGIN_TYPE_ICON_THEME_LOADER, "type", "status-icon", NULL);
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
585 purple_theme_manager_register_type(PURPLE_THEME_LOADER(loader));
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
586 purple_prefs_add_string(PIDGIN_PREFS_ROOT "/status/icon-theme", "");
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
587 purple_prefs_add_path(PIDGIN_PREFS_ROOT "/status/icon-theme-dir", "");
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
588
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
589 stockloader = g_object_new(PIDGIN_TYPE_ICON_THEME_LOADER, "type", "stock-icon", NULL);
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
590 purple_theme_manager_register_type(PURPLE_THEME_LOADER(stockloader));
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
591 purple_prefs_add_string(PIDGIN_PREFS_ROOT "/stock/icon-theme", "");
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
592 purple_prefs_add_path(PIDGIN_PREFS_ROOT "/stock/icon-theme-dir", "");
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
593
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
594 /* register custom icon sizes */
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
595 microscopic = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_MICROSCOPIC, 11, 11);
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
596 extra_small = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL, 16, 16);
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
597 small = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_SMALL, 22, 22);
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
598 medium = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_MEDIUM, 32, 32);
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
599 large = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_LARGE, 48, 48);
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
600 huge = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_HUGE, 64, 64);
26664
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
601
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
602 pidgin_stock_load_stock_icon_theme(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
603
23703
1a4417138a8f clean up formatting, and added render settings for the names/markup on the blist
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23702
diff changeset
604 /* Pre-load Status icon theme - this avoids a bug with displaying the correct icon in the tray, theme is destroyed after*/
25415
584063555949 Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 25344
diff changeset
605 if (purple_prefs_get_string(PIDGIN_PREFS_ROOT "/icon/status/theme") &&
23700
2d436084d866 fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23697
diff changeset
606 (path = purple_prefs_get_path(PIDGIN_PREFS_ROOT "/status/icon-theme-dir"))) {
25415
584063555949 Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 25344
diff changeset
607
23702
9525fb966efb theme loader cleanup, and remove a few warnings
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23700
diff changeset
608 PidginStatusIconTheme *theme = PIDGIN_STATUS_ICON_THEME(purple_theme_loader_build(PURPLE_THEME_LOADER(loader), path));
23700
2d436084d866 fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23697
diff changeset
609 pidgin_stock_load_status_icon_theme(theme);
2d436084d866 fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23697
diff changeset
610 g_object_unref(G_OBJECT(theme));
2d436084d866 fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23697
diff changeset
611
27125
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
612 }
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
613 else
e6ba07a72fd8 A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26722
diff changeset
614 pidgin_stock_load_status_icon_theme(NULL);
23694
2d419a0fc0e4 partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents: 23282
diff changeset
615
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
616 /* 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
617 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
618 }
26664
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
619
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
620 static void
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
621 pidgin_stock_icon_theme_class_init(PidginStockIconThemeClass *klass)
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
622 {
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
623 }
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
624
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
625 GType
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
626 pidgin_stock_icon_theme_get_type(void)
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
627 {
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
628 static GType type = 0;
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
629 if (type == 0) {
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
630 static const GTypeInfo info = {
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
631 sizeof (PidginStockIconThemeClass),
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
632 NULL, /* base_init */
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
633 NULL, /* base_finalize */
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
634 (GClassInitFunc)pidgin_stock_icon_theme_class_init, /* class_init */
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
635 NULL, /* class_finalize */
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
636 NULL, /* class_data */
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
637 sizeof (PidginStockIconTheme),
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
638 0, /* n_preallocs */
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
639 NULL,
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
640 NULL, /* value table */
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
641 };
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
642 type = g_type_register_static(PIDGIN_TYPE_ICON_THEME,
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
643 "PidginStockIconTheme", &info, 0);
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
644 }
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
645 return type;
5d71de58452c Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26607
diff changeset
646 }