1 /* 2 * Claws Mail -- a GTK+ based, lightweight, and fast e-mail client 3 * Copyright (C) 1999-2016 Hiroyuki Yamamoto and the Claws Mail team 4 * 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. 9 * 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. 14 * 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/>. 17 */ 18 19 #ifndef __STOCK_PIXMAP_H__ 20 #define __STOCK_PIXMAP_H__ 21 22 #include <glib.h> 23 #include <gtk/gtk.h> 24 25 typedef enum 26 { 27 STOCK_PIXMAP_ADDR_ONE, 28 STOCK_PIXMAP_ADDR_TWO, 29 STOCK_PIXMAP_ADDRESS, 30 STOCK_PIXMAP_ADDRESS_BOOK, 31 STOCK_PIXMAP_ADDRESS_SEARCH, 32 STOCK_PIXMAP_ANONYMOUS, 33 STOCK_PIXMAP_BOOK, 34 STOCK_PIXMAP_CATEGORY, 35 STOCK_PIXMAP_CHECKBOX_OFF, 36 STOCK_PIXMAP_CHECKBOX_ON, 37 STOCK_PIXMAP_CHECK_SPELLING, 38 STOCK_PIXMAP_CLIP, 39 STOCK_PIXMAP_CLIP_KEY, 40 STOCK_PIXMAP_CLIP_GPG_SIGNED, 41 STOCK_PIXMAP_CLOSE, 42 STOCK_PIXMAP_COMPLETE, 43 STOCK_PIXMAP_CONTINUE, 44 STOCK_PIXMAP_DELETED, 45 STOCK_PIXMAP_DIR_CLOSE, 46 STOCK_PIXMAP_DIR_CLOSE_HRM, 47 STOCK_PIXMAP_DIR_OPEN, 48 STOCK_PIXMAP_DIR_OPEN_HRM, 49 STOCK_PIXMAP_DIR_CLOSE_MARK, 50 STOCK_PIXMAP_DIR_CLOSE_HRM_MARK, 51 STOCK_PIXMAP_DIR_OPEN_MARK, 52 STOCK_PIXMAP_DIR_OPEN_HRM_MARK, 53 STOCK_PIXMAP_DOWN_ARROW, 54 STOCK_PIXMAP_UP_ARROW, 55 STOCK_PIXMAP_EDIT_EXTERN, 56 STOCK_PIXMAP_ERROR, 57 STOCK_PIXMAP_EXEC, 58 STOCK_PIXMAP_FORWARDED, 59 STOCK_PIXMAP_GROUP, 60 STOCK_PIXMAP_IGNORETHREAD, 61 STOCK_PIXMAP_INBOX_CLOSE, 62 STOCK_PIXMAP_INBOX_CLOSE_HRM, 63 STOCK_PIXMAP_INBOX_OPEN, 64 STOCK_PIXMAP_INBOX_OPEN_HRM, 65 STOCK_PIXMAP_INBOX_CLOSE_MARK, 66 STOCK_PIXMAP_INBOX_CLOSE_HRM_MARK, 67 STOCK_PIXMAP_INBOX_OPEN_MARK, 68 STOCK_PIXMAP_INBOX_OPEN_HRM_MARK, 69 STOCK_PIXMAP_INSERT_FILE, 70 STOCK_PIXMAP_INTERFACE, 71 STOCK_PIXMAP_JPILOT, 72 STOCK_PIXMAP_KEY, 73 STOCK_PIXMAP_KEY_SIGN, 74 STOCK_PIXMAP_LDAP, 75 STOCK_PIXMAP_LINEWRAP_CURRENT, 76 STOCK_PIXMAP_LINEWRAP_ALL, 77 STOCK_PIXMAP_LOCKED, 78 STOCK_PIXMAP_MAIL_DRAFT, 79 STOCK_PIXMAP_MAIL_ATTACH, 80 STOCK_PIXMAP_MAIL_COMPOSE, 81 STOCK_PIXMAP_MAIL_FORWARD, 82 STOCK_PIXMAP_MAIL_PRIVACY_ENCRYPTED, 83 STOCK_PIXMAP_MAIL_PRIVACY_SIGNED, 84 STOCK_PIXMAP_MAIL_RECEIVE, 85 STOCK_PIXMAP_MAIL_RECEIVE_ALL, 86 STOCK_PIXMAP_MAIL_REPLY, 87 STOCK_PIXMAP_MAIL_REPLY_TO_ALL, 88 STOCK_PIXMAP_MAIL_REPLY_TO_AUTHOR, 89 STOCK_PIXMAP_MAIL_REPLY_TO_LIST, 90 STOCK_PIXMAP_MAIL_SEND, 91 STOCK_PIXMAP_MAIL_SEND_QUEUE, 92 STOCK_PIXMAP_MAIL_SIGN, 93 STOCK_PIXMAP_OPEN_MAIL, 94 STOCK_PIXMAP_MARK, 95 STOCK_PIXMAP_NEW, 96 STOCK_PIXMAP_NEWS_COMPOSE, 97 STOCK_PIXMAP_OUTBOX_CLOSE, 98 STOCK_PIXMAP_OUTBOX_CLOSE_HRM, 99 STOCK_PIXMAP_OUTBOX_OPEN, 100 STOCK_PIXMAP_OUTBOX_OPEN_HRM, 101 STOCK_PIXMAP_OUTBOX_CLOSE_MARK, 102 STOCK_PIXMAP_OUTBOX_CLOSE_HRM_MARK, 103 STOCK_PIXMAP_OUTBOX_OPEN_MARK, 104 STOCK_PIXMAP_OUTBOX_OPEN_HRM_MARK, 105 STOCK_PIXMAP_REPLIED, 106 STOCK_PIXMAP_REPLIED_AND_FORWARDED, 107 STOCK_PIXMAP_PASTE, 108 STOCK_PIXMAP_PREFERENCES, 109 STOCK_PIXMAP_PROPERTIES, 110 STOCK_PIXMAP_QUEUE_CLOSE, 111 STOCK_PIXMAP_QUEUE_CLOSE_HRM, 112 STOCK_PIXMAP_QUEUE_OPEN, 113 STOCK_PIXMAP_QUEUE_OPEN_HRM, 114 STOCK_PIXMAP_TRASH_OPEN, 115 STOCK_PIXMAP_TRASH_OPEN_HRM, 116 STOCK_PIXMAP_TRASH_CLOSE, 117 STOCK_PIXMAP_TRASH_CLOSE_HRM, 118 STOCK_PIXMAP_QUEUE_CLOSE_MARK, 119 STOCK_PIXMAP_QUEUE_CLOSE_HRM_MARK, 120 STOCK_PIXMAP_QUEUE_OPEN_MARK, 121 STOCK_PIXMAP_QUEUE_OPEN_HRM_MARK, 122 STOCK_PIXMAP_TRASH_OPEN_MARK, 123 STOCK_PIXMAP_TRASH_OPEN_HRM_MARK, 124 STOCK_PIXMAP_TRASH_CLOSE_MARK, 125 STOCK_PIXMAP_TRASH_CLOSE_HRM_MARK, 126 STOCK_PIXMAP_UNREAD, 127 STOCK_PIXMAP_VCARD, 128 STOCK_PIXMAP_ONLINE, 129 STOCK_PIXMAP_OFFLINE, 130 STOCK_PIXMAP_NOTICE_WARN, /* small warning */ 131 STOCK_PIXMAP_NOTICE_ERROR, /* small error */ 132 STOCK_PIXMAP_NOTICE_NOTE, /* small message */ 133 STOCK_PIXMAP_QUICKSEARCH, /* quicksearch pixmap */ 134 STOCK_PIXMAP_GPG_SIGNED, 135 STOCK_PIXMAP_GO_FOLDERS, 136 STOCK_PIXMAP_DRAFTS_CLOSE, 137 STOCK_PIXMAP_DRAFTS_OPEN, 138 STOCK_PIXMAP_DRAFTS_CLOSE_MARK, 139 STOCK_PIXMAP_DRAFTS_OPEN_MARK, 140 STOCK_PIXMAP_MIME_TEXT_PLAIN, 141 STOCK_PIXMAP_MIME_TEXT_HTML, 142 STOCK_PIXMAP_MIME_TEXT_PATCH, 143 STOCK_PIXMAP_MIME_APPLICATION, 144 STOCK_PIXMAP_MIME_IMAGE, 145 STOCK_PIXMAP_MIME_AUDIO, 146 STOCK_PIXMAP_MIME_TEXT_ENRICHED, 147 STOCK_PIXMAP_MIME_UNKNOWN, 148 STOCK_PIXMAP_MIME_PDF, 149 STOCK_PIXMAP_MIME_PS, 150 STOCK_PIXMAP_MIME_TEXT_CALENDAR, 151 STOCK_PIXMAP_MIME_PGP_SIG, 152 STOCK_PIXMAP_PRINTER_BTN, 153 STOCK_PIXMAP_PRINTER, 154 STOCK_PIXMAP_PRIVACY_SIGNED, 155 STOCK_PIXMAP_PRIVACY_PASSED, 156 STOCK_PIXMAP_PRIVACY_FAILED, 157 STOCK_PIXMAP_PRIVACY_UNKNOWN, 158 STOCK_PIXMAP_PRIVACY_EXPIRED, 159 STOCK_PIXMAP_PRIVACY_WARN, 160 STOCK_PIXMAP_PRIVACY_EMBLEM_ENCRYPTED, 161 STOCK_PIXMAP_PRIVACY_EMBLEM_SIGNED, 162 STOCK_PIXMAP_PRIVACY_EMBLEM_PASSED, 163 STOCK_PIXMAP_PRIVACY_EMBLEM_FAILED, 164 STOCK_PIXMAP_PRIVACY_EMBLEM_WARN, 165 STOCK_PIXMAP_MIME_MESSAGE, 166 STOCK_PIXMAP_CLAWS_MAIL_ICON, 167 STOCK_PIXMAP_CLAWS_MAIL_ICON_64, 168 STOCK_PIXMAP_READ, 169 STOCK_PIXMAP_DELETE, 170 STOCK_PIXMAP_DELETE_DUP, 171 STOCK_PIXMAP_CANCEL, 172 STOCK_PIXMAP_TRASH, 173 STOCK_PIXMAP_MAIL_COMPOSE_LOGO, 174 STOCK_PIXMAP_CLAWS_MAIL_LOGO, 175 STOCK_PIXMAP_DIR_NOSELECT_CLOSE, 176 STOCK_PIXMAP_DIR_NOSELECT_CLOSE_MARK, 177 STOCK_PIXMAP_DIR_NOSELECT_OPEN, 178 STOCK_PIXMAP_DIR_SUBS_CLOSE_MARK, 179 STOCK_PIXMAP_DIR_SUBS_CLOSE, 180 STOCK_PIXMAP_DIR_SUBS_OPEN, 181 STOCK_PIXMAP_SPAM, 182 STOCK_PIXMAP_SPAM_BTN, 183 STOCK_PIXMAP_HAM_BTN, 184 STOCK_PIXMAP_MOVED, 185 STOCK_PIXMAP_COPIED, 186 STOCK_PIXMAP_SELECTION, 187 STOCK_PIXMAP_WATCHTHREAD, 188 STOCK_PIXMAP_TRAY_NEWMAIL_OFFLINE, 189 STOCK_PIXMAP_TRAY_NEWMAIL, 190 STOCK_PIXMAP_TRAY_NEWMARKEDMAIL_OFFLINE, 191 STOCK_PIXMAP_TRAY_NEWMARKEDMAIL, 192 STOCK_PIXMAP_TRAY_NOMAIL_OFFLINE, 193 STOCK_PIXMAP_TRAY_NOMAIL, 194 STOCK_PIXMAP_TRAY_UNREADMAIL_OFFLINE, 195 STOCK_PIXMAP_TRAY_UNREADMAIL, 196 STOCK_PIXMAP_TRAY_UNREADMARKEDMAIL_OFFLINE, 197 STOCK_PIXMAP_TRAY_UNREADMARKEDMAIL, 198 STOCK_PIXMAP_DOC_INDEX, 199 STOCK_PIXMAP_DOC_INDEX_CLOSE, 200 STOCK_PIXMAP_DOC_INFO, 201 STOCK_PIXMAP_FIRST_ARROW, 202 STOCK_PIXMAP_LAST_ARROW, 203 STOCK_PIXMAP_LEFT_ARROW, 204 STOCK_PIXMAP_RIGHT_ARROW, 205 STOCK_PIXMAP_ROTATE_LEFT, 206 STOCK_PIXMAP_ROTATE_RIGHT, 207 STOCK_PIXMAP_ZOOM_FIT, 208 STOCK_PIXMAP_ZOOM_IN, 209 STOCK_PIXMAP_ZOOM_OUT, 210 STOCK_PIXMAP_ZOOM_WIDTH, 211 STOCK_PIXMAP_MARK_IGNORETHREAD, 212 STOCK_PIXMAP_MARK_WATCHTHREAD, 213 STOCK_PIXMAP_MARK_MARK, 214 STOCK_PIXMAP_MARK_UNMARK, 215 STOCK_PIXMAP_MARK_LOCKED, 216 STOCK_PIXMAP_MARK_UNLOCKED, 217 STOCK_PIXMAP_MARK_ALLREAD, 218 STOCK_PIXMAP_MARK_ALLUNREAD, 219 STOCK_PIXMAP_MARK_READ, 220 STOCK_PIXMAP_MARK_UNREAD, 221 STOCK_PIXMAP_EMPTY, /* last entry */ 222 N_STOCK_PIXMAPS 223 } StockPixmap; 224 225 typedef enum { 226 OVERLAY_NONE, 227 OVERLAY_TOP_LEFT, 228 OVERLAY_TOP_CENTER, 229 OVERLAY_TOP_RIGHT, 230 OVERLAY_MID_LEFT, 231 OVERLAY_MID_CENTER, 232 OVERLAY_MID_RIGHT, 233 OVERLAY_BOTTOM_LEFT, 234 OVERLAY_BOTTOM_CENTER, 235 OVERLAY_BOTTOM_RIGHT 236 } OverlayPosition; 237 238 GtkWidget *stock_pixmap_widget (StockPixmap icon); 239 gint stock_pixbuf_gdk (StockPixmap icon, GdkPixbuf **pixbuf); 240 241 GList *stock_pixmap_themes_list_new (void); 242 void stock_pixmap_themes_list_free (GList *list); 243 void stock_pixmap_invalidate_all_icons (void); 244 gchar *stock_pixmap_get_name (StockPixmap icon); 245 StockPixmap stock_pixmap_get_icon (gchar *file); 246 GtkWidget *stock_pixmap_widget_with_overlay (StockPixmap icon, 247 StockPixmap overlay, 248 OverlayPosition pos, 249 gint border_x, 250 gint border_y); 251 gchar *stock_pixmap_get_system_theme_dir_for_theme(const gchar *theme); 252 const char **stock_pixmap_theme_extensions(void); 253 254 #endif /* __STOCK_PIXMAP_H__ */ 255