pidgin/pidginiconname.h

Sat, 14 Aug 2021 04:15:36 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Sat, 14 Aug 2021 04:15:36 -0500
changeset 41027
aa0e688f2f46
parent 40502
pidgin/pidginicon.h@875489636847
child 41124
95555046173e
permissions
-rw-r--r--

Add a bunch of icon name utility functions

Testing Done:
Verified that `PidginPresenceIcon` still worked as expected.

Reviewed at https://reviews.imfreedom.org/r/891/

41027
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
1 /*
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
2 * Pidgin - Internet Messenger
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
39498
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * Pidgin is the legal property of its developers, whose names are too numerous
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * source distribution.
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 *
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * (at your option) any later version.
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 *
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 * GNU General Public License for more details.
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18 *
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
41027
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
39498
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 */
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
40502
875489636847 pidgin.h phase3: create pidgin.h and force its usage
Gary Kramlich <grim@reaperworld.com>
parents: 39500
diff changeset
23 #if !defined(PIDGIN_GLOBAL_HEADER_INSIDE) && !defined(PIDGIN_COMPILATION)
875489636847 pidgin.h phase3: create pidgin.h and force its usage
Gary Kramlich <grim@reaperworld.com>
parents: 39500
diff changeset
24 # error "only <pidgin.h> may be included directly"
875489636847 pidgin.h phase3: create pidgin.h and force its usage
Gary Kramlich <grim@reaperworld.com>
parents: 39500
diff changeset
25 #endif
875489636847 pidgin.h phase3: create pidgin.h and force its usage
Gary Kramlich <grim@reaperworld.com>
parents: 39500
diff changeset
26
41027
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
27 #ifndef PIDGIN_ICON_NAME_H
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
28 #define PIDGIN_ICON_NAME_H
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
29
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
30 /**
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
31 * SECTION:pidginiconname
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
32 * @section_id: pidgin-pidginiconname
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
33 * @title: Icon Name Utilities
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
34 * @short_description: Get icon names for objects.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
35 *
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
36 * This API makes it easy to determine which icon should be used for different
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
37 * objects.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
38 */
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
39
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
40 #include <glib.h>
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
41
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
42 #include <purple.h>
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
43
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
44 G_BEGIN_DECLS
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
45
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
46 /**
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
47 * pidgin_icon_name_from_status_primitive:
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
48 * @primitive: The #PurpleStatusPrimitive.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
49 * @fallback: The icon name to return if an icon name can not be found.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
50 *
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
51 * Gets the icon name to use for @primitive if found, otherwise returns
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
52 * @fallback.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
53 *
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
54 * Returns: The icon name to use for @primitive.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
55 *
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
56 * Since: 3.0.0
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
57 */
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
58 const gchar *pidgin_icon_name_from_status_primitive(PurpleStatusPrimitive primitive, const gchar *fallback);
39498
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59
41027
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
60 /**
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
61 * pidgin_icon_name_from_status_type:
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
62 * @type: The #PurpleStatusType.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
63 * @fallback: The icon name to return if an icon name can not be found.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
64 *
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
65 * Gets the icon name to use for @type if found, otherwise returns @fallback.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
66 *
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
67 * Returns: The icon name to use for @type.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
68 *
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
69 * Since: 3.0.0
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
70 */
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
71 const gchar *pidgin_icon_name_from_status_type(PurpleStatusType *type, const gchar *fallback);
39498
51e0448a7ae8 Move relnot to not using STOCK and start the transition layer
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72
41027
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
73 /**
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
74 * pidgin_icon_name_from_status:
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
75 * @status: The #PurpleStatus instance.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
76 * @fallback: The icon name to return if an icon name can not be found.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
77 *
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
78 * Gets the icon name to use for @status if found, otherwise returns @fallback.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
79 *
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
80 * Returns: The icon name to use for @status.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
81 *
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
82 * Since: 3.0.0
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
83 */
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
84 const gchar *pidgin_icon_name_from_status(PurpleStatus *status, const gchar *fallback);
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
85
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
86 /**
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
87 * pidgin_icon_name_from_presence:
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
88 * @presence: The #PurplePresence instance.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
89 * @fallback: The icon name to fall back to.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
90 *
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
91 * Gets the icon name that should be used to represent @presence falling back
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
92 * to @fallback if @presence is invalid.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
93 *
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
94 * Returns: The icon name to represent @presence.
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
95 *
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
96 * Since: 3.0.0
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
97 */
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
98 const gchar *pidgin_icon_name_from_presence(PurplePresence *presence, const gchar *fallback);
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
99
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
100 G_END_DECLS
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
101
aa0e688f2f46 Add a bunch of icon name utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40502
diff changeset
102 #endif /* PIDGIN_ICON_NAME_H */

mercurial