pidgin/pidginkeypad.h

Sat, 09 Aug 2025 18:12:31 +0800

author
Gong Zhile <gongzl@stu.hebust.edu.cn>
date
Sat, 09 Aug 2025 18:12:31 +0800
branch
gir-dependency
changeset 43305
4ede49515766
parent 43177
595a5f31003a
permissions
-rw-r--r--

Add builtin library dependency for introspection

Without specifying, gir defaults to the system pidgin/purple libraries by default,
which fails the build when new symbols were added and gir failed to link for them.

41478
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
1 /*
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
2 * Pidgin - Internet Messenger
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
4 *
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
5 * Pidgin is the legal property of its developers, whose names are too numerous
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
7 * source distribution.
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
8 *
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
12 * (at your option) any later version.
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
13 *
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
17 * GNU General Public License for more details.
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
18 *
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
21 */
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
22
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
23 #if !defined(PIDGIN_GLOBAL_HEADER_INSIDE) && !defined(PIDGIN_COMPILATION)
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
24 # error "only <pidgin.h> may be included directly"
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
25 #endif
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
26
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
27 #ifndef PIDGIN_KEYPAD_H
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
28 #define PIDGIN_KEYPAD_H
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
29
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
30 #include <gtk/gtk.h>
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
31
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
32 #include <purple.h>
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
33
42465
b7d530551c1b Tag declared Pidgin types with symbol visibility
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41478
diff changeset
34 #include "pidginversion.h"
b7d530551c1b Tag declared Pidgin types with symbol visibility
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41478
diff changeset
35
41478
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
36 /**
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
37 * PidginKeypad:
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
38 *
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
39 * #PidginKeypad is a widget that displays a DTMF keypad, with the digits 0-9,
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
40 * an asterisk, and a number sign.
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
41 *
42620
72178a341eb8 Remove minor versions from Since tags in Pidgin
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42466
diff changeset
42 * Since: 3.0
41478
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
43 */
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
44
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
45 G_BEGIN_DECLS
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
46
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
47 #define PIDGIN_TYPE_KEYPAD pidgin_keypad_get_type()
42465
b7d530551c1b Tag declared Pidgin types with symbol visibility
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41478
diff changeset
48
b7d530551c1b Tag declared Pidgin types with symbol visibility
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41478
diff changeset
49 PIDGIN_AVAILABLE_IN_3_0
41478
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
50 G_DECLARE_FINAL_TYPE(PidginKeypad, pidgin_keypad, PIDGIN, KEYPAD, GtkGrid)
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
51
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
52 /**
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
53 * pidgin_keypad_new:
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
54 *
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
55 * Creates a new #PidginKeypad.
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
56 *
43177
595a5f31003a Annotate Pidgin constructors that return base types
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42620
diff changeset
57 * Returns: (transfer full) (type PidginKeypad): The new instance.
41478
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
58 *
42620
72178a341eb8 Remove minor versions from Since tags in Pidgin
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42466
diff changeset
59 * Since: 3.0
41478
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
60 */
42466
ca3374c1cdba Add visibility to all Pidgin symbols tagged with Since 3.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42465
diff changeset
61 PIDGIN_AVAILABLE_IN_3_0
41478
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
62 GtkWidget *pidgin_keypad_new(void);
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
63
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
64 /**
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
65 * pidgin_keypad_set_key_capture_widget:
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
66 * @keypad: The keypad.
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
67 * @widget: A widget to capture keys from.
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
68 *
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
69 * Sets @widget as the widget that @keypad will capture key events from.
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
70 *
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
71 * If key events are handled by the keypad, the DTMF digits will be captured
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
72 * and trigger the pressed signal on @keypad.
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
73 *
42620
72178a341eb8 Remove minor versions from Since tags in Pidgin
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42466
diff changeset
74 * Since: 3.0
41478
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
75 */
42466
ca3374c1cdba Add visibility to all Pidgin symbols tagged with Since 3.0
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 42465
diff changeset
76 PIDGIN_AVAILABLE_IN_3_0
41478
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
77 void pidgin_keypad_set_key_capture_widget(PidginKeypad *keypad, GtkWidget *widget);
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
78
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
79 G_END_DECLS
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
80
27d70d93355d Split keypad into its own widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff changeset
81 #endif /* PIDGIN_KEYPAD_H */

mercurial