Fix CID 1491093: attrib leaked if attvalue is null
[claws.git] / src / stock_pixmap.h
blob2d93e40d921e18831453ceb917ed3b0c5d753e86
1 /*
2 * Claws Mail -- a GTK based, lightweight, and fast e-mail client
3 * Copyright (C) 1999-2023 the Claws Mail team and Hiroyuki Yamamoto
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #ifndef __STOCK_PIXMAP_H__
20 #define __STOCK_PIXMAP_H__
22 #include <glib.h>
23 #include <gtk/gtk.h>
25 typedef enum
27 PRIV_PIXMAP_CLAWS_MAIL_ICON,
28 PRIV_PIXMAP_CLAWS_MAIL_ICON_64,
29 PRIV_PIXMAP_CLAWS_MAIL_LOGO,
30 PRIV_PIXMAP_EMPTY, /* last entry */
31 N_PRIV_PIXMAPS
32 } PrivPixmap;
34 typedef enum
36 STOCK_PIXMAP_ADDR_ONE,
37 STOCK_PIXMAP_ADDR_TWO,
38 STOCK_PIXMAP_ADDRESS,
39 STOCK_PIXMAP_ADDRESS_BOOK,
40 STOCK_PIXMAP_ADDRESS_SEARCH,
41 STOCK_PIXMAP_ANONYMOUS,
42 STOCK_PIXMAP_BOOK,
43 STOCK_PIXMAP_CATEGORY,
44 STOCK_PIXMAP_CHECKBOX_OFF,
45 STOCK_PIXMAP_CHECKBOX_ON,
46 STOCK_PIXMAP_CHECK_SPELLING,
47 STOCK_PIXMAP_CLIP,
48 STOCK_PIXMAP_CLIP_KEY,
49 STOCK_PIXMAP_CLIP_GPG_SIGNED,
50 STOCK_PIXMAP_CLOSE,
51 STOCK_PIXMAP_COMPLETE,
52 STOCK_PIXMAP_CONTINUE,
53 STOCK_PIXMAP_DELETED,
54 STOCK_PIXMAP_DIR_CLOSE,
55 STOCK_PIXMAP_DIR_CLOSE_HRM,
56 STOCK_PIXMAP_DIR_OPEN,
57 STOCK_PIXMAP_DIR_OPEN_HRM,
58 STOCK_PIXMAP_DIR_CLOSE_MARK,
59 STOCK_PIXMAP_DIR_CLOSE_HRM_MARK,
60 STOCK_PIXMAP_DIR_OPEN_MARK,
61 STOCK_PIXMAP_DIR_OPEN_HRM_MARK,
62 STOCK_PIXMAP_DOWN_ARROW,
63 STOCK_PIXMAP_UP_ARROW,
64 STOCK_PIXMAP_EDIT_EXTERN,
65 STOCK_PIXMAP_ERROR,
66 STOCK_PIXMAP_EXEC,
67 STOCK_PIXMAP_FORWARDED,
68 STOCK_PIXMAP_GROUP,
69 STOCK_PIXMAP_IGNORETHREAD,
70 STOCK_PIXMAP_INBOX_CLOSE,
71 STOCK_PIXMAP_INBOX_CLOSE_HRM,
72 STOCK_PIXMAP_INBOX_OPEN,
73 STOCK_PIXMAP_INBOX_OPEN_HRM,
74 STOCK_PIXMAP_INBOX_CLOSE_MARK,
75 STOCK_PIXMAP_INBOX_CLOSE_HRM_MARK,
76 STOCK_PIXMAP_INBOX_OPEN_MARK,
77 STOCK_PIXMAP_INBOX_OPEN_HRM_MARK,
78 STOCK_PIXMAP_INSERT_FILE,
79 STOCK_PIXMAP_INTERFACE,
80 STOCK_PIXMAP_JPILOT,
81 STOCK_PIXMAP_KEY,
82 STOCK_PIXMAP_KEY_SIGN,
83 STOCK_PIXMAP_LDAP,
84 STOCK_PIXMAP_LINEWRAP_CURRENT,
85 STOCK_PIXMAP_LINEWRAP_ALL,
86 STOCK_PIXMAP_LOCKED,
87 STOCK_PIXMAP_MAIL_DRAFT,
88 STOCK_PIXMAP_MAIL_ATTACH,
89 STOCK_PIXMAP_MAIL_COMPOSE,
90 STOCK_PIXMAP_MAIL_FORWARD,
91 STOCK_PIXMAP_MAIL_PRIVACY_ENCRYPTED,
92 STOCK_PIXMAP_MAIL_PRIVACY_SIGNED,
93 STOCK_PIXMAP_MAIL_RECEIVE,
94 STOCK_PIXMAP_MAIL_RECEIVE_ALL,
95 STOCK_PIXMAP_MAIL_REPLY,
96 STOCK_PIXMAP_MAIL_REPLY_TO_ALL,
97 STOCK_PIXMAP_MAIL_REPLY_TO_AUTHOR,
98 STOCK_PIXMAP_MAIL_REPLY_TO_LIST,
99 STOCK_PIXMAP_MAIL_SEND,
100 STOCK_PIXMAP_MAIL_SEND_QUEUE,
101 STOCK_PIXMAP_MAIL_SIGN,
102 STOCK_PIXMAP_OPEN_MAIL,
103 STOCK_PIXMAP_MARK,
104 STOCK_PIXMAP_NEW,
105 STOCK_PIXMAP_NEWS_COMPOSE,
106 STOCK_PIXMAP_OUTBOX_CLOSE,
107 STOCK_PIXMAP_OUTBOX_CLOSE_HRM,
108 STOCK_PIXMAP_OUTBOX_OPEN,
109 STOCK_PIXMAP_OUTBOX_OPEN_HRM,
110 STOCK_PIXMAP_OUTBOX_CLOSE_MARK,
111 STOCK_PIXMAP_OUTBOX_CLOSE_HRM_MARK,
112 STOCK_PIXMAP_OUTBOX_OPEN_MARK,
113 STOCK_PIXMAP_OUTBOX_OPEN_HRM_MARK,
114 STOCK_PIXMAP_REPLIED,
115 STOCK_PIXMAP_REPLIED_AND_FORWARDED,
116 STOCK_PIXMAP_PASTE,
117 STOCK_PIXMAP_PREFERENCES,
118 STOCK_PIXMAP_PROPERTIES,
119 STOCK_PIXMAP_QUEUE_CLOSE,
120 STOCK_PIXMAP_QUEUE_CLOSE_HRM,
121 STOCK_PIXMAP_QUEUE_OPEN,
122 STOCK_PIXMAP_QUEUE_OPEN_HRM,
123 STOCK_PIXMAP_TRASH_OPEN,
124 STOCK_PIXMAP_TRASH_OPEN_HRM,
125 STOCK_PIXMAP_TRASH_CLOSE,
126 STOCK_PIXMAP_TRASH_CLOSE_HRM,
127 STOCK_PIXMAP_QUEUE_CLOSE_MARK,
128 STOCK_PIXMAP_QUEUE_CLOSE_HRM_MARK,
129 STOCK_PIXMAP_QUEUE_OPEN_MARK,
130 STOCK_PIXMAP_QUEUE_OPEN_HRM_MARK,
131 STOCK_PIXMAP_TRASH_OPEN_MARK,
132 STOCK_PIXMAP_TRASH_OPEN_HRM_MARK,
133 STOCK_PIXMAP_TRASH_CLOSE_MARK,
134 STOCK_PIXMAP_TRASH_CLOSE_HRM_MARK,
135 STOCK_PIXMAP_UNREAD,
136 STOCK_PIXMAP_VCARD,
137 STOCK_PIXMAP_ONLINE,
138 STOCK_PIXMAP_OFFLINE,
139 STOCK_PIXMAP_NOTICE_WARN, /* small warning */
140 STOCK_PIXMAP_NOTICE_ERROR, /* small error */
141 STOCK_PIXMAP_NOTICE_NOTE, /* small message */
142 STOCK_PIXMAP_QUICKSEARCH, /* quicksearch pixmap */
143 STOCK_PIXMAP_GPG_SIGNED,
144 STOCK_PIXMAP_GO_FOLDERS,
145 STOCK_PIXMAP_DRAFTS_CLOSE,
146 STOCK_PIXMAP_DRAFTS_OPEN,
147 STOCK_PIXMAP_DRAFTS_CLOSE_MARK,
148 STOCK_PIXMAP_DRAFTS_OPEN_MARK,
149 STOCK_PIXMAP_MIME_TEXT_PLAIN,
150 STOCK_PIXMAP_MIME_TEXT_HTML,
151 STOCK_PIXMAP_MIME_TEXT_PATCH,
152 STOCK_PIXMAP_MIME_APPLICATION,
153 STOCK_PIXMAP_MIME_IMAGE,
154 STOCK_PIXMAP_MIME_AUDIO,
155 STOCK_PIXMAP_MIME_TEXT_ENRICHED,
156 STOCK_PIXMAP_MIME_UNKNOWN,
157 STOCK_PIXMAP_MIME_PDF,
158 STOCK_PIXMAP_MIME_PS,
159 STOCK_PIXMAP_MIME_TEXT_CALENDAR,
160 STOCK_PIXMAP_MIME_PGP_SIG,
161 STOCK_PIXMAP_PRINTER_BTN,
162 STOCK_PIXMAP_PRINTER,
163 STOCK_PIXMAP_PRIVACY_SIGNED,
164 STOCK_PIXMAP_PRIVACY_PASSED,
165 STOCK_PIXMAP_PRIVACY_FAILED,
166 STOCK_PIXMAP_PRIVACY_UNKNOWN,
167 STOCK_PIXMAP_PRIVACY_EXPIRED,
168 STOCK_PIXMAP_PRIVACY_WARN,
169 STOCK_PIXMAP_PRIVACY_EMBLEM_ENCRYPTED,
170 STOCK_PIXMAP_PRIVACY_EMBLEM_SIGNED,
171 STOCK_PIXMAP_PRIVACY_EMBLEM_PASSED,
172 STOCK_PIXMAP_PRIVACY_EMBLEM_FAILED,
173 STOCK_PIXMAP_PRIVACY_EMBLEM_WARN,
174 STOCK_PIXMAP_MIME_MESSAGE,
175 STOCK_PIXMAP_READ,
176 STOCK_PIXMAP_DELETE,
177 STOCK_PIXMAP_DELETE_DUP,
178 STOCK_PIXMAP_CANCEL,
179 STOCK_PIXMAP_TRASH,
180 STOCK_PIXMAP_MAIL_COMPOSE_LOGO,
181 STOCK_PIXMAP_DIR_NOSELECT_CLOSE,
182 STOCK_PIXMAP_DIR_NOSELECT_CLOSE_MARK,
183 STOCK_PIXMAP_DIR_NOSELECT_OPEN,
184 STOCK_PIXMAP_DIR_SUBS_CLOSE_MARK,
185 STOCK_PIXMAP_DIR_SUBS_CLOSE,
186 STOCK_PIXMAP_DIR_SUBS_OPEN,
187 STOCK_PIXMAP_SPAM,
188 STOCK_PIXMAP_SPAM_BTN,
189 STOCK_PIXMAP_HAM_BTN,
190 STOCK_PIXMAP_MOVED,
191 STOCK_PIXMAP_COPIED,
192 STOCK_PIXMAP_SELECTION,
193 STOCK_PIXMAP_WATCHTHREAD,
194 STOCK_PIXMAP_TRAY_NEWMAIL_OFFLINE,
195 STOCK_PIXMAP_TRAY_NEWMAIL,
196 STOCK_PIXMAP_TRAY_NEWMARKEDMAIL_OFFLINE,
197 STOCK_PIXMAP_TRAY_NEWMARKEDMAIL,
198 STOCK_PIXMAP_TRAY_NOMAIL_OFFLINE,
199 STOCK_PIXMAP_TRAY_NOMAIL,
200 STOCK_PIXMAP_TRAY_UNREADMAIL_OFFLINE,
201 STOCK_PIXMAP_TRAY_UNREADMAIL,
202 STOCK_PIXMAP_TRAY_UNREADMARKEDMAIL_OFFLINE,
203 STOCK_PIXMAP_TRAY_UNREADMARKEDMAIL,
204 STOCK_PIXMAP_DOC_INDEX,
205 STOCK_PIXMAP_DOC_INDEX_CLOSE,
206 STOCK_PIXMAP_DOC_INFO,
207 STOCK_PIXMAP_FIRST_ARROW,
208 STOCK_PIXMAP_LAST_ARROW,
209 STOCK_PIXMAP_LEFT_ARROW,
210 STOCK_PIXMAP_RIGHT_ARROW,
211 STOCK_PIXMAP_ROTATE_LEFT,
212 STOCK_PIXMAP_ROTATE_RIGHT,
213 STOCK_PIXMAP_ZOOM_FIT,
214 STOCK_PIXMAP_ZOOM_IN,
215 STOCK_PIXMAP_ZOOM_OUT,
216 STOCK_PIXMAP_ZOOM_WIDTH,
217 STOCK_PIXMAP_MARK_IGNORETHREAD,
218 STOCK_PIXMAP_MARK_WATCHTHREAD,
219 STOCK_PIXMAP_MARK_MARK,
220 STOCK_PIXMAP_MARK_UNMARK,
221 STOCK_PIXMAP_MARK_LOCKED,
222 STOCK_PIXMAP_MARK_UNLOCKED,
223 STOCK_PIXMAP_MARK_ALLREAD,
224 STOCK_PIXMAP_MARK_ALLUNREAD,
225 STOCK_PIXMAP_MARK_READ,
226 STOCK_PIXMAP_MARK_UNREAD,
227 STOCK_PIXMAP_EMPTY, /* last entry */
228 N_STOCK_PIXMAPS
229 } StockPixmap;
231 typedef enum {
232 OVERLAY_NONE,
233 OVERLAY_TOP_LEFT,
234 OVERLAY_TOP_CENTER,
235 OVERLAY_TOP_RIGHT,
236 OVERLAY_MID_LEFT,
237 OVERLAY_MID_CENTER,
238 OVERLAY_MID_RIGHT,
239 OVERLAY_BOTTOM_LEFT,
240 OVERLAY_BOTTOM_CENTER,
241 OVERLAY_BOTTOM_RIGHT
242 } OverlayPosition;
244 GtkWidget *priv_pixmap_widget (PrivPixmap icon);
245 PrivPixmap priv_pixmap_get_icon (gchar *file);
246 gint priv_pixbuf_gdk (PrivPixmap icon, GdkPixbuf **pixbuf);
248 GtkWidget *stock_pixmap_widget (StockPixmap icon);
249 gint stock_pixbuf_gdk (StockPixmap icon, GdkPixbuf **pixbuf);
251 GList *stock_pixmap_themes_list_new (void);
252 void stock_pixmap_themes_list_free (GList *list);
253 gchar *stock_pixmap_get_name (StockPixmap icon);
254 StockPixmap stock_pixmap_get_icon (gchar *file);
255 GtkWidget *stock_pixmap_widget_with_overlay (StockPixmap icon,
256 StockPixmap overlay,
257 OverlayPosition pos,
258 gint border_x,
259 gint border_y);
260 gchar *stock_pixmap_get_system_theme_dir_for_theme(const gchar *theme);
261 const char **stock_pixmap_theme_extensions(void);
263 #endif /* __STOCK_PIXMAP_H__ */