Thu, 29 Jun 2017 15:33:29 -0500
gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Modern Linux desktops use one of 3 DBus interfaces for querying if
the screensaver is currently active. There's a FreeDesktop one, a
GNOME one, and a KDE one. Rather than querying XScreensaver, which
may not be available, such as with Wayland, this patch ports Pidgin's
idle checking function to use these modern DBus interfaces.
Because Gio includes built-in DBus API, this patch also drops the
guards around pidgin_get_time_idle(), which also re-enables the
Win32 code which wasn't enabled with the previous guards.
|
20147
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
1 | /* pidgin |
| 10297 | 2 | * |
|
15930
d851247cb931
Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@pidgin.im>
parents:
15914
diff
changeset
|
3 | * Pidgin is the legal property of its developers, whose names are too numerous |
| 10297 | 4 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 5 | * source distribution. | |
| 6 | * | |
| 7 | * This program is free software; you can redistribute it and/or modify | |
| 8 | * it under the terms of the GNU General Public License as published by | |
| 9 | * the Free Software Foundation; either version 2 of the License, or | |
| 10 | * (at your option) any later version. | |
| 11 | * | |
| 12 | * This program is distributed in the hope that it will be useful, | |
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 15 | * GNU General Public License for more details. | |
| 16 | * | |
| 17 | * You should have received a copy of the GNU General Public License | |
| 18 | * along with this program; if not, write to the Free Software | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19667
diff
changeset
|
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 10297 | 20 | * |
| 21 | */ | |
| 22 | #include "internal.h" | |
| 15577 | 23 | #include "pidgin.h" |
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
24 | #include "prefs.h" |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
25 | |
|
24377
8d0bfda8402d
renamed gtkblist-loader.[ch] to gtblist-theme-loader.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
24376
diff
changeset
|
26 | #include "gtkicon-theme-loader.h" |
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
27 | #include "theme-manager.h" |
| 10297 | 28 | |
|
15883
969b74a3e27a
According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@pidgin.im>
parents:
15834
diff
changeset
|
29 | #include "pidginstock.h" |
| 10297 | 30 | |
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
31 | /************************************************************************** |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
32 | * Globals |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
33 | **************************************************************************/ |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
34 | |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
35 | static gboolean stock_initted = FALSE; |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
36 | static GtkIconSize microscopic, extra_small, small, medium, large, huge; |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
37 | |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
38 | /************************************************************************** |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
39 | * Structures |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
40 | **************************************************************************/ |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
41 | |
| 10297 | 42 | static struct StockIcon |
| 43 | { | |
| 44 | const char *name; | |
| 45 | const char *dir; | |
| 46 | const char *filename; | |
| 47 | ||
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
48 | } const stock_icons[] = { |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
49 | |
| 15570 | 50 | { PIDGIN_STOCK_ACTION, NULL, GTK_STOCK_EXECUTE }, |
| 51 | { PIDGIN_STOCK_ALIAS, NULL, GTK_STOCK_EDIT }, | |
| 52 | { PIDGIN_STOCK_CHAT, NULL, GTK_STOCK_JUMP_TO }, | |
| 53 | { PIDGIN_STOCK_CLEAR, NULL, GTK_STOCK_CLEAR }, | |
|
19117
c55d71840e82
Remove reference to close-tab.png
Sean Egan <seanegan@pidgin.im>
parents:
19092
diff
changeset
|
54 | { PIDGIN_STOCK_CLOSE_TABS, NULL, GTK_STOCK_CLOSE }, |
| 15570 | 55 | { PIDGIN_STOCK_DEBUG, NULL, GTK_STOCK_PROPERTIES }, |
| 56 | { PIDGIN_STOCK_DOWNLOAD, NULL, GTK_STOCK_GO_DOWN }, | |
| 57 | { PIDGIN_STOCK_DISCONNECT, NULL, GTK_STOCK_DISCONNECT }, | |
| 58 | { PIDGIN_STOCK_FGCOLOR, "buttons", "change-fgcolor-small.png" }, | |
| 59 | { PIDGIN_STOCK_EDIT, NULL, GTK_STOCK_EDIT }, | |
|
35511
201a7fd12507
Use "Cancelled" as spelling of stock item.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
35454
diff
changeset
|
60 | { PIDGIN_STOCK_FILE_CANCELLED, NULL, GTK_STOCK_CANCEL }, |
| 15570 | 61 | { PIDGIN_STOCK_FILE_DONE, NULL, GTK_STOCK_APPLY }, |
| 62 | { PIDGIN_STOCK_IGNORE, NULL, GTK_STOCK_DIALOG_ERROR }, | |
| 63 | { PIDGIN_STOCK_INVITE, NULL, GTK_STOCK_JUMP_TO }, | |
| 64 | { PIDGIN_STOCK_MODIFY, NULL, GTK_STOCK_PREFERENCES }, | |
|
33548
3d2454150223
Specify the gettext package explicitly for stock items.
Daniel Atallah <datallah@pidgin.im>
parents:
29759
diff
changeset
|
65 | { PIDGIN_STOCK_ADD, NULL, GTK_STOCK_ADD }, |
| 15570 | 66 | { PIDGIN_STOCK_PAUSE, NULL, GTK_STOCK_MEDIA_PAUSE }, |
| 67 | { PIDGIN_STOCK_POUNCE, NULL, GTK_STOCK_REDO }, | |
| 68 | { PIDGIN_STOCK_OPEN_MAIL, NULL, GTK_STOCK_JUMP_TO }, | |
| 69 | { PIDGIN_STOCK_SIGN_ON, NULL, GTK_STOCK_EXECUTE }, | |
| 70 | { PIDGIN_STOCK_SIGN_OFF, NULL, GTK_STOCK_CLOSE }, | |
|
15930
d851247cb931
Install pixmaps to the right directories and make them load properly.
Richard Laager <rlaager@pidgin.im>
parents:
15914
diff
changeset
|
71 | { PIDGIN_STOCK_TYPED, "pidgin", "typed.png" }, |
| 15570 | 72 | { PIDGIN_STOCK_UPLOAD, NULL, GTK_STOCK_GO_UP }, |
|
19667
4a8d8a6bd2b0
Make the gtkcert stuff compile on GTK+ older than 2.8
Daniel Atallah <datallah@pidgin.im>
parents:
19651
diff
changeset
|
73 | { PIDGIN_STOCK_INFO, NULL, GTK_STOCK_INFO }, |
|
34343
225d5c9642d1
Polish back/next stock items a bit
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34308
diff
changeset
|
74 | { PIDGIN_STOCK_NEXT, NULL, GTK_STOCK_GO_FORWARD }, |
| 10297 | 75 | }; |
| 76 | ||
|
10871
c0282a4f2250
[gaim-migrate @ 12558]
Mark Doliner <markdoliner@pidgin.im>
parents:
10643
diff
changeset
|
77 | static const GtkStockItem stock_items[] = |
| 10297 | 78 | { |
|
33548
3d2454150223
Specify the gettext package explicitly for stock items.
Daniel Atallah <datallah@pidgin.im>
parents:
29759
diff
changeset
|
79 | { PIDGIN_STOCK_ALIAS, N_("_Alias"), 0, 0, PACKAGE }, |
|
3d2454150223
Specify the gettext package explicitly for stock items.
Daniel Atallah <datallah@pidgin.im>
parents:
29759
diff
changeset
|
80 | { PIDGIN_STOCK_CHAT, N_("_Join"), 0, 0, PACKAGE }, |
|
3d2454150223
Specify the gettext package explicitly for stock items.
Daniel Atallah <datallah@pidgin.im>
parents:
29759
diff
changeset
|
81 | { PIDGIN_STOCK_CLOSE_TABS, N_("Close _tabs"), 0, 0, PACKAGE }, |
|
3d2454150223
Specify the gettext package explicitly for stock items.
Daniel Atallah <datallah@pidgin.im>
parents:
29759
diff
changeset
|
82 | { PIDGIN_STOCK_TOOLBAR_MESSAGE_NEW, N_("I_M"), 0, 0, PACKAGE }, |
|
3d2454150223
Specify the gettext package explicitly for stock items.
Daniel Atallah <datallah@pidgin.im>
parents:
29759
diff
changeset
|
83 | { PIDGIN_STOCK_TOOLBAR_USER_INFO, N_("_Get Info"), 0, 0, PACKAGE }, |
|
3d2454150223
Specify the gettext package explicitly for stock items.
Daniel Atallah <datallah@pidgin.im>
parents:
29759
diff
changeset
|
84 | { PIDGIN_STOCK_INVITE, N_("_Invite"), 0, 0, PACKAGE }, |
|
3d2454150223
Specify the gettext package explicitly for stock items.
Daniel Atallah <datallah@pidgin.im>
parents:
29759
diff
changeset
|
85 | { PIDGIN_STOCK_MODIFY, N_("_Modify..."), 0, 0, PACKAGE }, |
|
3d2454150223
Specify the gettext package explicitly for stock items.
Daniel Atallah <datallah@pidgin.im>
parents:
29759
diff
changeset
|
86 | { PIDGIN_STOCK_ADD, N_("_Add..."), 0, 0, PACKAGE }, |
|
3d2454150223
Specify the gettext package explicitly for stock items.
Daniel Atallah <datallah@pidgin.im>
parents:
29759
diff
changeset
|
87 | { PIDGIN_STOCK_OPEN_MAIL, N_("_Open Mail"), 0, 0, PACKAGE }, |
|
3d2454150223
Specify the gettext package explicitly for stock items.
Daniel Atallah <datallah@pidgin.im>
parents:
29759
diff
changeset
|
88 | { PIDGIN_STOCK_PAUSE, N_("_Pause"), 0, 0, PACKAGE }, |
|
34343
225d5c9642d1
Polish back/next stock items a bit
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34308
diff
changeset
|
89 | { PIDGIN_STOCK_EDIT, N_("_Edit"), 0, 0, PACKAGE }, |
|
225d5c9642d1
Polish back/next stock items a bit
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
34308
diff
changeset
|
90 | { PIDGIN_STOCK_NEXT, N_("_Next"), 0, 0, PACKAGE }, |
| 10297 | 91 | }; |
| 92 | ||
| 26338 | 93 | typedef struct { |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
94 | const char *name; |
|
33133
9a31f084f259
Fix some merge errors.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32438
diff
changeset
|
95 | const char *dir; |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
96 | const char *filename; |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
97 | gboolean microscopic; |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
98 | gboolean extra_small; |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
99 | gboolean small; |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
100 | gboolean medium; |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
101 | gboolean large; |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
102 | gboolean huge; |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
103 | gboolean rtl; |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
104 | const char *translucent_name; |
| 26338 | 105 | } SizedStockIcon; |
| 106 | ||
| 107 | const SizedStockIcon sized_stock_icons [] = { | |
| 108 | ||
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
109 | { PIDGIN_STOCK_STATUS_IGNORED, "emblems", "blocked.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
110 | { PIDGIN_STOCK_STATUS_FOUNDER, "emblems", "founder.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
111 | { PIDGIN_STOCK_STATUS_OPERATOR, "emblems", "operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
112 | { PIDGIN_STOCK_STATUS_HALFOP, "emblems", "half-operator.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
113 | { PIDGIN_STOCK_STATUS_VOICE, "emblems", "voice.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
| 15497 | 114 | |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
115 | { PIDGIN_STOCK_DIALOG_AUTH, "dialogs", "auth.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
116 | { PIDGIN_STOCK_DIALOG_COOL, "dialogs", "cool.png", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
117 | { PIDGIN_STOCK_DIALOG_ERROR, "dialogs", "error.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
118 | { PIDGIN_STOCK_DIALOG_INFO, "dialogs", "info.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
119 | { PIDGIN_STOCK_DIALOG_MAIL, "dialogs", "mail.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
120 | { PIDGIN_STOCK_DIALOG_QUESTION, "dialogs", "question.png", FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
121 | { PIDGIN_STOCK_DIALOG_WARNING, "dialogs", "warning.png", FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, NULL }, |
|
15519
82e4cfb65343
Finish converting the statusbox. Note the connecting and animation icons are too large. I put out a request to Hylke.
Sean Egan <seanegan@pidgin.im>
parents:
15500
diff
changeset
|
122 | |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
123 | { PIDGIN_STOCK_ANIMATION_CONNECT0, "animations", "process-working0.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
124 | { PIDGIN_STOCK_ANIMATION_CONNECT1, "animations", "process-working1.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
125 | { PIDGIN_STOCK_ANIMATION_CONNECT2, "animations", "process-working2.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
126 | { PIDGIN_STOCK_ANIMATION_CONNECT3, "animations", "process-working3.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
127 | { PIDGIN_STOCK_ANIMATION_CONNECT4, "animations", "process-working4.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
128 | { PIDGIN_STOCK_ANIMATION_CONNECT5, "animations", "process-working5.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
129 | { PIDGIN_STOCK_ANIMATION_CONNECT6, "animations", "process-working6.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
130 | { PIDGIN_STOCK_ANIMATION_CONNECT7, "animations", "process-working7.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
131 | { PIDGIN_STOCK_ANIMATION_CONNECT8, "animations", "process-working8.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
132 | { PIDGIN_STOCK_ANIMATION_CONNECT9, "animations", "process-working9.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
133 | { PIDGIN_STOCK_ANIMATION_CONNECT10, "animations", "process-working10.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
134 | { PIDGIN_STOCK_ANIMATION_CONNECT11, "animations", "process-working11.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
135 | { PIDGIN_STOCK_ANIMATION_CONNECT12, "animations", "process-working12.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
136 | { PIDGIN_STOCK_ANIMATION_CONNECT13, "animations", "process-working13.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
137 | { PIDGIN_STOCK_ANIMATION_CONNECT14, "animations", "process-working14.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
138 | { PIDGIN_STOCK_ANIMATION_CONNECT15, "animations", "process-working15.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
139 | { PIDGIN_STOCK_ANIMATION_CONNECT16, "animations", "process-working16.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
140 | { PIDGIN_STOCK_ANIMATION_CONNECT17, "animations", "process-working17.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
141 | { PIDGIN_STOCK_ANIMATION_CONNECT18, "animations", "process-working18.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
142 | { PIDGIN_STOCK_ANIMATION_CONNECT19, "animations", "process-working19.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
143 | { PIDGIN_STOCK_ANIMATION_CONNECT20, "animations", "process-working20.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
144 | { PIDGIN_STOCK_ANIMATION_CONNECT21, "animations", "process-working21.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
145 | { PIDGIN_STOCK_ANIMATION_CONNECT22, "animations", "process-working22.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
146 | { PIDGIN_STOCK_ANIMATION_CONNECT23, "animations", "process-working23.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
147 | { PIDGIN_STOCK_ANIMATION_CONNECT24, "animations", "process-working24.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
148 | { PIDGIN_STOCK_ANIMATION_CONNECT25, "animations", "process-working25.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
149 | { PIDGIN_STOCK_ANIMATION_CONNECT26, "animations", "process-working26.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
150 | { PIDGIN_STOCK_ANIMATION_CONNECT27, "animations", "process-working27.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
151 | { PIDGIN_STOCK_ANIMATION_CONNECT28, "animations", "process-working28.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
152 | { PIDGIN_STOCK_ANIMATION_CONNECT29, "animations", "process-working29.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
153 | { PIDGIN_STOCK_ANIMATION_CONNECT30, "animations", "process-working30.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
15623
bf485c598199
toolbar/menu icons. reduce the imhtmltoolbar spacing. more gaimstock pruning
Sean Egan <seanegan@pidgin.im>
parents:
15577
diff
changeset
|
154 | |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
155 | { PIDGIN_STOCK_ANIMATION_TYPING0, "animations", "typing0.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
156 | { PIDGIN_STOCK_ANIMATION_TYPING1, "animations", "typing1.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
157 | { PIDGIN_STOCK_ANIMATION_TYPING2, "animations", "typing2.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
158 | { PIDGIN_STOCK_ANIMATION_TYPING3, "animations", "typing3.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
159 | { PIDGIN_STOCK_ANIMATION_TYPING4, "animations", "typing4.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
160 | { PIDGIN_STOCK_ANIMATION_TYPING5, "animations", "typing5.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
161 | |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
162 | { PIDGIN_STOCK_TOOLBAR_BGCOLOR, "toolbar", "change-bgcolor.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
163 | { PIDGIN_STOCK_TOOLBAR_BLOCK, "emblems", "blocked.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
164 | { PIDGIN_STOCK_TOOLBAR_FGCOLOR, "toolbar", "change-fgcolor.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
165 | { PIDGIN_STOCK_TOOLBAR_SMILEY, "toolbar", "emote-select.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
166 | { PIDGIN_STOCK_TOOLBAR_FONT_FACE, "toolbar", "font-face.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
167 | { PIDGIN_STOCK_TOOLBAR_TEXT_SMALLER, "toolbar", "font-size-down.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
168 | { PIDGIN_STOCK_TOOLBAR_TEXT_LARGER, "toolbar", "font-size-up.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
169 | { PIDGIN_STOCK_TOOLBAR_INSERT, "toolbar", "insert.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
170 | { PIDGIN_STOCK_TOOLBAR_INSERT_IMAGE, "toolbar", "insert-image.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
35935
98e92d543d73
Initial implementation fot the screencap plugin
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35850
diff
changeset
|
171 | { PIDGIN_STOCK_TOOLBAR_INSERT_SCREENSHOT, "toolbar", "insert-screenshot.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
172 | { PIDGIN_STOCK_TOOLBAR_INSERT_LINK, "toolbar", "insert-link.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
173 | { PIDGIN_STOCK_TOOLBAR_MESSAGE_NEW, "toolbar", "message-new.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
174 | { PIDGIN_STOCK_TOOLBAR_PENDING, "toolbar", "message-new.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
175 | { PIDGIN_STOCK_TOOLBAR_PLUGINS, "toolbar", "plugins.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
176 | { PIDGIN_STOCK_TOOLBAR_UNBLOCK, "toolbar", "unblock.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
177 | { PIDGIN_STOCK_TOOLBAR_SELECT_AVATAR, "toolbar", "select-avatar.png", FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
178 | { PIDGIN_STOCK_TOOLBAR_SEND_FILE, "toolbar", "send-file.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
179 | { PIDGIN_STOCK_TOOLBAR_TRANSFER, "toolbar", "transfer.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
| 26338 | 180 | #ifdef USE_VV |
|
27910
f72e8440bd9b
Check in updated icons, logo, and new voice/video icons from Hylke.
Paul Aurich <darkrain42@pidgin.im>
parents:
27262
diff
changeset
|
181 | { PIDGIN_STOCK_TOOLBAR_AUDIO_CALL, "toolbar", "audio-call.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, |
|
f72e8440bd9b
Check in updated icons, logo, and new voice/video icons from Hylke.
Paul Aurich <darkrain42@pidgin.im>
parents:
27262
diff
changeset
|
182 | { PIDGIN_STOCK_TOOLBAR_VIDEO_CALL, "toolbar", "video-call.png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
183 | { PIDGIN_STOCK_TOOLBAR_AUDIO_VIDEO_CALL, "toolbar", "audio-video-call.png", FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL }, |
| 26338 | 184 | #endif |
|
26048
9eeed41d0004
Make it work again after the merge from i.p.p.... :)
Marcus Lundblad <malu@pidgin.im>
parents:
26047
diff
changeset
|
185 | { PIDGIN_STOCK_TOOLBAR_SEND_ATTENTION, "toolbar", "get-attention.png", FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL } |
|
15458
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
186 | }; |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
187 | |
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
188 | const SizedStockIcon sized_status_icons [] = { |
|
16068
b1dac315ed09
block and unblock have the right icons now
Nathan Walp <nwalp@pidgin.im>
parents:
15930
diff
changeset
|
189 | |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
190 | { PIDGIN_STOCK_STATUS_AVAILABLE, "status", "available.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AVAILABLE_I }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
191 | { PIDGIN_STOCK_STATUS_AWAY, "status", "away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_AWAY_I }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
192 | { PIDGIN_STOCK_STATUS_BUSY, "status", "busy.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_BUSY_I }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
193 | { PIDGIN_STOCK_STATUS_CHAT, "status", "chat.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
194 | { PIDGIN_STOCK_STATUS_INVISIBLE, "status", "invisible.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
195 | { PIDGIN_STOCK_STATUS_XA, "status", "extended-away.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, PIDGIN_STOCK_STATUS_XA_I }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
196 | { PIDGIN_STOCK_STATUS_LOGIN, "status", "log-in.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
197 | { PIDGIN_STOCK_STATUS_LOGOUT, "status", "log-out.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, NULL }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
198 | { PIDGIN_STOCK_STATUS_OFFLINE, "status", "offline.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, PIDGIN_STOCK_STATUS_OFFLINE_I }, |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
199 | { PIDGIN_STOCK_STATUS_PERSON, "status", "person.png", TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL }, |
|
29641
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
200 | { PIDGIN_STOCK_STATUS_MESSAGE, "toolbar", "message-new.png", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, NULL } |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
201 | }; |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
202 | |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
203 | const SizedStockIcon sized_tray_icons [] = { |
|
29707
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
204 | #define SIZED_TRAY_ICON(name) \ |
|
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
205 | { name, "tray/hicolor", "status/" name ".png", FALSE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, NULL } |
|
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
206 | SIZED_TRAY_ICON( PIDGIN_STOCK_TRAY_AVAILABLE ), |
|
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
207 | SIZED_TRAY_ICON( PIDGIN_STOCK_TRAY_INVISIBLE ), |
|
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
208 | SIZED_TRAY_ICON( PIDGIN_STOCK_TRAY_AWAY ), |
|
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
209 | SIZED_TRAY_ICON( PIDGIN_STOCK_TRAY_BUSY ), |
|
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
210 | SIZED_TRAY_ICON( PIDGIN_STOCK_TRAY_XA ), |
|
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
211 | SIZED_TRAY_ICON( PIDGIN_STOCK_TRAY_OFFLINE ), |
|
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
212 | SIZED_TRAY_ICON( PIDGIN_STOCK_TRAY_CONNECT ), |
|
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
213 | SIZED_TRAY_ICON( PIDGIN_STOCK_TRAY_PENDING ), |
|
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
214 | SIZED_TRAY_ICON( PIDGIN_STOCK_TRAY_EMAIL ) |
|
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
215 | #undef SIZED_TRAY_ICON |
|
15458
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
216 | }; |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
217 | |
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
218 | /***************************************************************************** |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
25000
diff
changeset
|
219 | * Private functions |
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
220 | *****************************************************************************/ |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
221 | |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
222 | static gchar * |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
223 | find_file_common(const char *name) |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
224 | { |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
225 | gchar *filename; |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
226 | const gchar *userdir; |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
227 | const gchar * const *sysdirs; |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
228 | |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
229 | userdir = g_get_user_data_dir(); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
230 | filename = g_build_filename(userdir, name, NULL); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
231 | if (g_file_test(filename, G_FILE_TEST_EXISTS)) |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
232 | return filename; |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
233 | g_free(filename); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
234 | |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
235 | sysdirs = g_get_system_data_dirs(); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
236 | for (; *sysdirs; sysdirs++) { |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
237 | filename = g_build_filename(*sysdirs, name, NULL); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
238 | if (g_file_test(filename, G_FILE_TEST_EXISTS)) |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
239 | return filename; |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
240 | g_free(filename); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
241 | } |
|
35850
1abeda205d6c
cross-win32: make dirs more flexible, add them to the config.h
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35511
diff
changeset
|
242 | filename = g_build_filename(PURPLE_DATADIR, name, NULL); |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
243 | if (g_file_test(filename, G_FILE_TEST_EXISTS)) |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
244 | return filename; |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
245 | g_free(filename); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
246 | return NULL; |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
247 | } |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
248 | |
| 10297 | 249 | static gchar * |
| 250 | find_file(const char *dir, const char *base) | |
| 251 | { | |
| 252 | char *filename; | |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
253 | char *ret; |
| 10297 | 254 | |
| 255 | if (base == NULL) | |
| 256 | return NULL; | |
| 257 | ||
|
38258
9a6551eba09c
Replace !strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents:
36256
diff
changeset
|
258 | if (purple_strequal(dir, "pidgin")) |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
259 | filename = g_build_filename("pixmaps", "pidgin", base, NULL); |
| 10297 | 260 | else |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
261 | filename = g_build_filename("pixmaps", "pidgin", dir, base, NULL); |
| 10297 | 262 | |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
263 | ret = find_file_common(filename); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
264 | g_free(filename); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
265 | return ret; |
|
15458
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
266 | } |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
267 | |
|
26482
72d16a73cf12
Get rid of the rest of the extraneous changes.
Michael Ruprecht <maiku@pidgin.im>
parents:
26338
diff
changeset
|
268 | |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
269 | /* Altered from do_colorshift in gnome-panel */ |
|
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
270 | static void |
|
29759
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
271 | do_alphashift(GdkPixbuf *pixbuf) |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
272 | { |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
273 | gint i, j; |
|
29759
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
274 | gint width, height, padding; |
|
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
275 | guchar *pixels; |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
276 | guchar a; |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
277 | |
|
29759
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
278 | if (!gdk_pixbuf_get_has_alpha(pixbuf)) |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
279 | return; |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
280 | |
|
29759
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
281 | width = gdk_pixbuf_get_width(pixbuf); |
|
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
282 | height = gdk_pixbuf_get_height(pixbuf); |
|
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
283 | padding = gdk_pixbuf_get_rowstride(pixbuf) - width * 4; |
|
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
284 | pixels = gdk_pixbuf_get_pixels(pixbuf); |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
285 | |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
286 | for (i = 0; i < height; i++) { |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
287 | for (j = 0; j < width; j++) { |
|
29759
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
288 | pixels++; |
|
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
289 | pixels++; |
|
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
290 | pixels++; |
|
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
291 | a = *(pixels); |
|
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
292 | *(pixels++) = a / 2; |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
293 | } |
|
29759
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
294 | pixels += padding; |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
295 | } |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
296 | } |
|
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
297 | |
|
23965
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
298 | static gchar * |
|
26813
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
299 | find_icon_file(PidginIconTheme *theme, const gchar *size, SizedStockIcon sized_icon, gboolean rtl) |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
300 | { |
|
23965
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
301 | const gchar *file, *dir; |
|
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
302 | gchar *file_full = NULL; |
|
24989
81e2345f35f3
Clean up the merge I just did.
Richard Laager <rlaager@pidgin.im>
parents:
24988
diff
changeset
|
303 | gchar *tmp; |
|
23965
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
304 | |
|
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
305 | if (theme != NULL) { |
|
23972
90e0da03c053
theme loader cleanup, and remove a few warnings
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23970
diff
changeset
|
306 | file = pidgin_icon_theme_get_icon(PIDGIN_ICON_THEME(theme), sized_icon.name); |
|
23965
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
307 | dir = purple_theme_get_dir(PURPLE_THEME(theme)); |
|
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
308 | |
|
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
309 | if (rtl) |
|
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
310 | file_full = g_build_filename(dir, size, "rtl", file, NULL); |
|
24988
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
311 | else |
|
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
312 | file_full = g_build_filename(dir, size, file, NULL); |
|
23965
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
313 | |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
25000
diff
changeset
|
314 | if (g_file_test(file_full, G_FILE_TEST_IS_REGULAR)) |
|
23965
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
315 | return file_full; |
|
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
316 | |
|
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
317 | g_free(file_full); |
|
24988
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
318 | } |
|
23965
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
319 | |
|
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
320 | if (rtl) |
|
24988
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
321 | tmp = g_build_filename("pixmaps", "pidgin", sized_icon.dir, size, "rtl", sized_icon.filename, NULL); |
|
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
322 | else |
|
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
323 | tmp = g_build_filename("pixmaps", "pidgin", sized_icon.dir, size, sized_icon.filename, NULL); |
|
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
324 | |
|
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
325 | file_full = find_file_common(tmp); |
|
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
326 | g_free(tmp); |
|
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
327 | return file_full; |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
328 | } |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
329 | |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
330 | static void |
|
26813
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
331 | add_sized_icon(GtkIconSet *iconset, GtkIconSize sizeid, PidginIconTheme *theme, |
|
29705
3ccbf39a7f8e
Revert some changes to pidginstock.[ch] that are no longer necessary now
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29653
diff
changeset
|
332 | const char *size, SizedStockIcon sized_icon, gboolean translucent) |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
333 | { |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
334 | char *filename; |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
335 | GtkIconSource *source; |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
336 | GdkPixbuf *pixbuf; |
|
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
337 | |
|
23965
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
338 | filename = find_icon_file(theme, size, sized_icon, FALSE); |
|
24988
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
339 | g_return_if_fail(filename != NULL); |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
340 | pixbuf = gdk_pixbuf_new_from_file(filename, NULL); |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
341 | if (translucent) |
|
29759
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
342 | do_alphashift(pixbuf); |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
343 | |
|
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
344 | source = gtk_icon_source_new(); |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
345 | gtk_icon_source_set_pixbuf(source, pixbuf); |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
346 | gtk_icon_source_set_direction(source, GTK_TEXT_DIR_LTR); |
|
24988
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
347 | gtk_icon_source_set_direction_wildcarded(source, !sized_icon.rtl); |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
348 | gtk_icon_source_set_size(source, sizeid); |
|
29705
3ccbf39a7f8e
Revert some changes to pidginstock.[ch] that are no longer necessary now
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29653
diff
changeset
|
349 | gtk_icon_source_set_size_wildcarded(source, FALSE); |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
350 | gtk_icon_source_set_state_wildcarded(source, TRUE); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
351 | gtk_icon_set_add_source(iconset, source); |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
352 | gtk_icon_source_free(source); |
|
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
353 | |
|
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
354 | if (sizeid == gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL)) { |
|
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
355 | source = gtk_icon_source_new(); |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
356 | gtk_icon_source_set_pixbuf(source, pixbuf); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
357 | gtk_icon_source_set_direction_wildcarded(source, TRUE); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
358 | gtk_icon_source_set_size(source, GTK_ICON_SIZE_MENU); |
|
29705
3ccbf39a7f8e
Revert some changes to pidginstock.[ch] that are no longer necessary now
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29653
diff
changeset
|
359 | gtk_icon_source_set_size_wildcarded(source, FALSE); |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
360 | gtk_icon_source_set_state_wildcarded(source, TRUE); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
361 | gtk_icon_set_add_source(iconset, source); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
362 | gtk_icon_source_free(source); |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
363 | } |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
364 | g_free(filename); |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
365 | g_object_unref(pixbuf); |
|
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
366 | |
|
24988
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
367 | if (sized_icon.rtl) { |
|
23965
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
368 | filename = find_icon_file(theme, size, sized_icon, TRUE); |
|
24988
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
369 | g_return_if_fail(filename != NULL); |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
370 | pixbuf = gdk_pixbuf_new_from_file(filename, NULL); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
371 | if (translucent) |
|
29759
89d25a5185e9
Simplify: dest always equals src. No need to copy everything.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29707
diff
changeset
|
372 | do_alphashift(pixbuf); |
|
23966
af44603a3a6a
fized the icon diplay bug with the icon theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23965
diff
changeset
|
373 | |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
374 | source = gtk_icon_source_new(); |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
375 | gtk_icon_source_set_pixbuf(source, pixbuf); |
|
24988
4150b857c58b
explicit merge of '33d0b1c4806ab021469a1bccd95f2b753de3bc42'
Richard Laager <rlaager@pidgin.im>
diff
changeset
|
376 | gtk_icon_source_set_filename(source, filename); |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
377 | gtk_icon_source_set_direction(source, GTK_TEXT_DIR_RTL); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
378 | gtk_icon_source_set_size(source, sizeid); |
|
29705
3ccbf39a7f8e
Revert some changes to pidginstock.[ch] that are no longer necessary now
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29653
diff
changeset
|
379 | gtk_icon_source_set_size_wildcarded(source, FALSE); |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
380 | gtk_icon_source_set_state_wildcarded(source, TRUE); |
|
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
381 | gtk_icon_set_add_source(iconset, source); |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
382 | g_free(filename); |
|
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
383 | g_object_unref(pixbuf); |
|
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
384 | gtk_icon_source_free(source); |
|
24696
33d0b1c4806a
Try to be more compliant with the freedesktop.org icon spec thingy with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
24594
diff
changeset
|
385 | } |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
386 | } |
|
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
387 | |
|
26843
9d7022b30f71
Reload settings after updating icon theme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26813
diff
changeset
|
388 | static void |
|
9d7022b30f71
Reload settings after updating icon theme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26813
diff
changeset
|
389 | reload_settings(void) |
|
9d7022b30f71
Reload settings after updating icon theme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26813
diff
changeset
|
390 | { |
|
35964
3ed06e9d1a86
Fix a gtk3 warning
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35935
diff
changeset
|
391 | gtk_style_context_reset_widgets(gdk_screen_get_default()); |
|
26843
9d7022b30f71
Reload settings after updating icon theme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26813
diff
changeset
|
392 | } |
|
9d7022b30f71
Reload settings after updating icon theme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26813
diff
changeset
|
393 | |
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
394 | /***************************************************************************** |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
25000
diff
changeset
|
395 | * Public API functions |
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
396 | *****************************************************************************/ |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
397 | |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
398 | void |
|
23967
cc5667bc8f1e
Clean up status icon themes a bit
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23966
diff
changeset
|
399 | pidgin_stock_load_status_icon_theme(PidginStatusIconTheme *theme) |
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
400 | { |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
401 | GtkIconFactory *icon_factory; |
|
36256
a437550a9308
Remove -Wno-sign-compare and backport fixes from default.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33548
diff
changeset
|
402 | gsize i; |
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
403 | GtkIconSet *normal; |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
404 | GtkIconSet *translucent = NULL; |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
405 | GtkWidget *win; |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
406 | |
|
23970
85dcf9218f63
fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23967
diff
changeset
|
407 | if (theme != NULL) { |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
25000
diff
changeset
|
408 | purple_prefs_set_string(PIDGIN_PREFS_ROOT "/status/icon-theme", |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
409 | purple_theme_get_name(PURPLE_THEME(theme))); |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
25000
diff
changeset
|
410 | purple_prefs_set_path(PIDGIN_PREFS_ROOT "/status/icon-theme-dir", |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
411 | purple_theme_get_dir(PURPLE_THEME(theme))); |
|
23970
85dcf9218f63
fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23967
diff
changeset
|
412 | } |
|
85dcf9218f63
fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23967
diff
changeset
|
413 | else { |
|
85dcf9218f63
fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23967
diff
changeset
|
414 | purple_prefs_set_string(PIDGIN_PREFS_ROOT "/status/icon-theme", ""); |
|
85dcf9218f63
fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23967
diff
changeset
|
415 | purple_prefs_set_path(PIDGIN_PREFS_ROOT "/status/icon-theme-dir", ""); |
|
85dcf9218f63
fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23967
diff
changeset
|
416 | } |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
25000
diff
changeset
|
417 | |
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
418 | icon_factory = gtk_icon_factory_new(); |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
419 | |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
420 | gtk_icon_factory_add_default(icon_factory); |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
421 | |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
422 | win = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
423 | gtk_widget_realize(win); |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
424 | |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
425 | for (i = 0; i < G_N_ELEMENTS(sized_status_icons); i++) |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
426 | { |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
427 | normal = gtk_icon_set_new(); |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
428 | if (sized_status_icons[i].translucent_name) |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
429 | translucent = gtk_icon_set_new(); |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
430 | |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
431 | #define ADD_SIZED_ICON(name, size) \ |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
432 | if (sized_status_icons[i].name) { \ |
|
29705
3ccbf39a7f8e
Revert some changes to pidginstock.[ch] that are no longer necessary now
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29653
diff
changeset
|
433 | add_sized_icon(normal, name, PIDGIN_ICON_THEME(theme), size, sized_status_icons[i], FALSE); \ |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
434 | if (sized_status_icons[i].translucent_name) \ |
|
29705
3ccbf39a7f8e
Revert some changes to pidginstock.[ch] that are no longer necessary now
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29653
diff
changeset
|
435 | add_sized_icon(translucent, name, PIDGIN_ICON_THEME(theme), size, sized_status_icons[i], TRUE); \ |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
436 | } |
|
23965
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
437 | ADD_SIZED_ICON(microscopic, "11"); |
|
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
438 | ADD_SIZED_ICON(extra_small, "16"); |
|
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
439 | ADD_SIZED_ICON(small, "22"); |
|
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
440 | ADD_SIZED_ICON(medium, "32"); |
|
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
441 | ADD_SIZED_ICON(large, "48"); |
|
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
442 | ADD_SIZED_ICON(huge, "64"); |
|
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
443 | #undef ADD_SIZED_ICON |
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
444 | |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
445 | gtk_icon_factory_add(icon_factory, sized_status_icons[i].name, normal); |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
446 | gtk_icon_set_unref(normal); |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
447 | |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
448 | if (sized_status_icons[i].translucent_name) { |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
449 | gtk_icon_factory_add(icon_factory, sized_status_icons[i].translucent_name, translucent); |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
450 | gtk_icon_set_unref(translucent); |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
451 | } |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
452 | } |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
453 | |
|
29641
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
454 | for (i = 0; i < G_N_ELEMENTS(sized_tray_icons); i++) |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
455 | { |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
456 | normal = gtk_icon_set_new(); |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
457 | if (sized_tray_icons[i].translucent_name) |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
458 | translucent = gtk_icon_set_new(); |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
459 | |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
460 | #define ADD_SIZED_ICON(name, size) \ |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
461 | if (sized_tray_icons[i].name) { \ |
|
29705
3ccbf39a7f8e
Revert some changes to pidginstock.[ch] that are no longer necessary now
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29653
diff
changeset
|
462 | add_sized_icon(normal, name, PIDGIN_ICON_THEME(theme), size, sized_tray_icons[i], FALSE); \ |
|
29641
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
463 | if (sized_tray_icons[i].translucent_name) \ |
|
29705
3ccbf39a7f8e
Revert some changes to pidginstock.[ch] that are no longer necessary now
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29653
diff
changeset
|
464 | add_sized_icon(translucent, name, PIDGIN_ICON_THEME(theme), size, sized_tray_icons[i], TRUE); \ |
|
29641
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
465 | } |
|
29707
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
466 | ADD_SIZED_ICON(extra_small, "16x16"); |
|
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
467 | ADD_SIZED_ICON(small, "22x22"); |
|
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
468 | ADD_SIZED_ICON(medium, "32x32"); |
|
f9d7d4373550
Make sure that the stock loader uses the new location of the tray icons
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29705
diff
changeset
|
469 | ADD_SIZED_ICON(large, "48x48"); |
|
29641
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
470 | #undef ADD_SIZED_ICON |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
471 | |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
472 | gtk_icon_factory_add(icon_factory, sized_tray_icons[i].name, normal); |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
473 | gtk_icon_set_unref(normal); |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
474 | |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
475 | if (sized_tray_icons[i].translucent_name) { |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
476 | gtk_icon_factory_add(icon_factory, sized_tray_icons[i].translucent_name, translucent); |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
477 | gtk_icon_set_unref(translucent); |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
478 | } |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
479 | } |
|
e54552cf87d8
Use GtkStatusIcon on GTK+ 2.10+. That's actually the required version for
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29514
diff
changeset
|
480 | |
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
481 | gtk_widget_destroy(win); |
|
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
482 | g_object_unref(G_OBJECT(icon_factory)); |
|
26843
9d7022b30f71
Reload settings after updating icon theme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26813
diff
changeset
|
483 | reload_settings(); |
|
16484
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
484 | } |
|
4c91c9a40dea
Don't use translucent pixmaps for idle, but apply transparency to icons in pidginstock.c
Sean Egan <seanegan@pidgin.im>
parents:
16454
diff
changeset
|
485 | |
| 10297 | 486 | void |
|
26813
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
487 | pidgin_stock_load_stock_icon_theme(PidginStockIconTheme *theme) |
| 10297 | 488 | { |
| 489 | GtkIconFactory *icon_factory; | |
|
36256
a437550a9308
Remove -Wno-sign-compare and backport fixes from default.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33548
diff
changeset
|
490 | gsize i; |
| 10297 | 491 | GtkWidget *win; |
| 492 | ||
|
26813
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
493 | if (theme != NULL) { |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
494 | purple_prefs_set_string(PIDGIN_PREFS_ROOT "/stock/icon-theme", |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
495 | purple_theme_get_name(PURPLE_THEME(theme))); |
|
26813
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
496 | purple_prefs_set_path(PIDGIN_PREFS_ROOT "/stock/icon-theme-dir", |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
497 | purple_theme_get_dir(PURPLE_THEME(theme))); |
|
26813
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
498 | } |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
499 | else { |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
500 | purple_prefs_set_string(PIDGIN_PREFS_ROOT "/stock/icon-theme", ""); |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
501 | purple_prefs_set_path(PIDGIN_PREFS_ROOT "/stock/icon-theme-dir", ""); |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
502 | } |
| 10297 | 503 | |
| 504 | icon_factory = gtk_icon_factory_new(); | |
| 505 | ||
| 506 | gtk_icon_factory_add_default(icon_factory); | |
| 507 | ||
| 508 | win = gtk_window_new(GTK_WINDOW_TOPLEVEL); | |
| 509 | gtk_widget_realize(win); | |
| 510 | ||
|
23965
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
511 | /* All non-sized icons */ |
|
26813
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
512 | for (i = 0; i < G_N_ELEMENTS(stock_icons); i++) { |
|
15458
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
513 | GtkIconSource *source; |
| 10297 | 514 | GtkIconSet *iconset; |
| 515 | gchar *filename; | |
| 516 | ||
|
26813
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
517 | if (stock_icons[i].dir == NULL) { |
| 10297 | 518 | /* GTK+ Stock icon */ |
|
33271
53bf180b9eb1
Use GtkStyleContext instead of GtkStyle on GTK+3.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33133
diff
changeset
|
519 | iconset = gtk_style_context_lookup_icon_set(gtk_widget_get_style_context(win), |
|
53bf180b9eb1
Use GtkStyleContext instead of GtkStyle on GTK+3.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33133
diff
changeset
|
520 | stock_icons[i].filename); |
|
26813
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
521 | } else { |
| 10297 | 522 | filename = find_file(stock_icons[i].dir, stock_icons[i].filename); |
| 523 | ||
| 524 | if (filename == NULL) | |
| 525 | continue; | |
| 526 | ||
|
15458
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
527 | source = gtk_icon_source_new(); |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
528 | gtk_icon_source_set_filename(source, filename); |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
529 | gtk_icon_source_set_direction_wildcarded(source, TRUE); |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
530 | gtk_icon_source_set_size_wildcarded(source, TRUE); |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
531 | gtk_icon_source_set_state_wildcarded(source, TRUE); |
|
21811
c07bdd3bd67a
I find this less painful to the eyes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20834
diff
changeset
|
532 | |
|
15458
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
533 | iconset = gtk_icon_set_new(); |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
534 | gtk_icon_set_add_source(iconset, source); |
|
21811
c07bdd3bd67a
I find this less painful to the eyes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20834
diff
changeset
|
535 | |
|
15458
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
536 | gtk_icon_source_free(source); |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
537 | g_free(filename); |
| 10297 | 538 | } |
| 539 | ||
| 540 | gtk_icon_factory_add(icon_factory, stock_icons[i].name, iconset); | |
| 541 | ||
| 542 | gtk_icon_set_unref(iconset); | |
| 543 | } | |
| 544 | ||
|
23965
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
545 | /* All non-status sized icons */ |
|
15458
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
546 | for (i = 0; i < G_N_ELEMENTS(sized_stock_icons); i++) |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
547 | { |
|
23965
13cd30de531b
Add the icon theme files, and re-work some things
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23964
diff
changeset
|
548 | GtkIconSet *iconset = gtk_icon_set_new(); |
|
21811
c07bdd3bd67a
I find this less painful to the eyes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20834
diff
changeset
|
549 | |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
550 | #define ADD_SIZED_ICON(name, size) \ |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
551 | if (sized_stock_icons[i].name) \ |
|
29705
3ccbf39a7f8e
Revert some changes to pidginstock.[ch] that are no longer necessary now
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
29653
diff
changeset
|
552 | add_sized_icon(iconset, name, PIDGIN_ICON_THEME(theme), size, sized_stock_icons[i], FALSE); |
|
21811
c07bdd3bd67a
I find this less painful to the eyes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20834
diff
changeset
|
553 | ADD_SIZED_ICON(microscopic, "11"); |
|
c07bdd3bd67a
I find this less painful to the eyes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20834
diff
changeset
|
554 | ADD_SIZED_ICON(extra_small, "16"); |
|
c07bdd3bd67a
I find this less painful to the eyes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20834
diff
changeset
|
555 | ADD_SIZED_ICON(small, "22"); |
|
c07bdd3bd67a
I find this less painful to the eyes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20834
diff
changeset
|
556 | ADD_SIZED_ICON(medium, "32"); |
|
c07bdd3bd67a
I find this less painful to the eyes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20834
diff
changeset
|
557 | ADD_SIZED_ICON(large, "48"); |
|
c07bdd3bd67a
I find this less painful to the eyes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20834
diff
changeset
|
558 | ADD_SIZED_ICON(huge, "64"); |
|
c07bdd3bd67a
I find this less painful to the eyes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
20834
diff
changeset
|
559 | #undef ADD_SIZED_ICON |
|
15458
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
560 | |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
561 | gtk_icon_factory_add(icon_factory, sized_stock_icons[i].name, iconset); |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
562 | gtk_icon_set_unref(iconset); |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
563 | } |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
564 | |
|
39c79dc7c965
A lot of status icon changes:
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
565 | gtk_widget_destroy(win); |
| 10297 | 566 | g_object_unref(G_OBJECT(icon_factory)); |
|
26843
9d7022b30f71
Reload settings after updating icon theme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26813
diff
changeset
|
567 | reload_settings(); |
|
26813
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
568 | } |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
569 | |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
570 | void |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
571 | pidgin_stock_init(void) |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
572 | { |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
573 | PidginIconThemeLoader *loader, *stockloader; |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
574 | const gchar *path = NULL; |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
575 | |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
576 | if (stock_initted) |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
577 | return; |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
578 | |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
579 | stock_initted = TRUE; |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
580 | |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
581 | /* Setup the status icon theme */ |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
582 | loader = g_object_new(PIDGIN_TYPE_ICON_THEME_LOADER, "type", "status-icon", NULL); |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
583 | purple_theme_manager_register_type(PURPLE_THEME_LOADER(loader)); |
|
28476
04e8f641aa37
Call purple_prefs_add_none on the parents for the status and stock icon
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28449
diff
changeset
|
584 | purple_prefs_add_none(PIDGIN_PREFS_ROOT "/status"); |
|
26813
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
585 | purple_prefs_add_string(PIDGIN_PREFS_ROOT "/status/icon-theme", ""); |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
586 | purple_prefs_add_path(PIDGIN_PREFS_ROOT "/status/icon-theme-dir", ""); |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
587 | |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
588 | stockloader = g_object_new(PIDGIN_TYPE_ICON_THEME_LOADER, "type", "stock-icon", NULL); |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
589 | purple_theme_manager_register_type(PURPLE_THEME_LOADER(stockloader)); |
|
28476
04e8f641aa37
Call purple_prefs_add_none on the parents for the status and stock icon
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28449
diff
changeset
|
590 | purple_prefs_add_none(PIDGIN_PREFS_ROOT "/stock"); |
|
26813
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
591 | purple_prefs_add_string(PIDGIN_PREFS_ROOT "/stock/icon-theme", ""); |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
592 | purple_prefs_add_path(PIDGIN_PREFS_ROOT "/stock/icon-theme-dir", ""); |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
593 | |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
594 | /* register custom icon sizes */ |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
595 | microscopic = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_MICROSCOPIC, 11, 11); |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
596 | extra_small = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL, 16, 16); |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
597 | small = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_SMALL, 22, 22); |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
598 | medium = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_MEDIUM, 32, 32); |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
599 | large = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_LARGE, 48, 48); |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
600 | huge = gtk_icon_size_register(PIDGIN_ICON_SIZE_TANGO_HUGE, 64, 64); |
|
26813
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
601 | |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
602 | pidgin_stock_load_stock_icon_theme(NULL); |
| 10297 | 603 | |
|
23973
189295d2ee8e
clean up formatting, and added render settings for the names/markup on the blist
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23972
diff
changeset
|
604 | /* Pre-load Status icon theme - this avoids a bug with displaying the correct icon in the tray, theme is destroyed after*/ |
|
28449
69dd8af58b41
I guess this pref name was changed but this one line was not. This would
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27910
diff
changeset
|
605 | if (purple_prefs_get_string(PIDGIN_PREFS_ROOT "/status/icon-theme") && |
|
23970
85dcf9218f63
fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23967
diff
changeset
|
606 | (path = purple_prefs_get_path(PIDGIN_PREFS_ROOT "/status/icon-theme-dir"))) { |
|
25888
d0fdd378a635
Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents:
25000
diff
changeset
|
607 | |
|
23972
90e0da03c053
theme loader cleanup, and remove a few warnings
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23970
diff
changeset
|
608 | PidginStatusIconTheme *theme = PIDGIN_STATUS_ICON_THEME(purple_theme_loader_build(PURPLE_THEME_LOADER(loader), path)); |
|
23970
85dcf9218f63
fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23967
diff
changeset
|
609 | pidgin_stock_load_status_icon_theme(theme); |
|
28515
10d8aab24f2e
Fix minor assert so I can run with G_DEBUG=fatal_criticals.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28476
diff
changeset
|
610 | if (theme) |
|
10d8aab24f2e
Fix minor assert so I can run with G_DEBUG=fatal_criticals.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28476
diff
changeset
|
611 | g_object_unref(G_OBJECT(theme)); |
|
23970
85dcf9218f63
fixes initialize icon theme bug by pre-loading the theme
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23967
diff
changeset
|
612 | |
|
27262
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
613 | } |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
614 | else |
|
ce9c568ee33c
A few bits of whitespace changes...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26843
diff
changeset
|
615 | pidgin_stock_load_status_icon_theme(NULL); |
|
23964
342e3f5bedd9
partially working status icon theme stuff
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23423
diff
changeset
|
616 | |
| 10297 | 617 | /* Register the stock items. */ |
| 618 | gtk_stock_add_static(stock_items, G_N_ELEMENTS(stock_items)); | |
| 619 | } | |
|
26813
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
620 | |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
621 | static void |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
622 | pidgin_stock_icon_theme_class_init(PidginStockIconThemeClass *klass) |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
623 | { |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
624 | } |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
625 | |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
626 | GType |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
627 | pidgin_stock_icon_theme_get_type(void) |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
628 | { |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
629 | static GType type = 0; |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
630 | if (type == 0) { |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
631 | static const GTypeInfo info = { |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
632 | sizeof (PidginStockIconThemeClass), |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
633 | NULL, /* base_init */ |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
634 | NULL, /* base_finalize */ |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
635 | (GClassInitFunc)pidgin_stock_icon_theme_class_init, /* class_init */ |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
636 | NULL, /* class_finalize */ |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
637 | NULL, /* class_data */ |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
638 | sizeof (PidginStockIconTheme), |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
639 | 0, /* n_preallocs */ |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
640 | NULL, |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
641 | NULL, /* value table */ |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
642 | }; |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
643 | type = g_type_register_static(PIDGIN_TYPE_ICON_THEME, |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
644 | "PidginStockIconTheme", &info, 0); |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
645 | } |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
646 | return type; |
|
c1a058a2466e
Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
26747
diff
changeset
|
647 | } |