pidgin/pidginkeypad.h

Fri, 14 Feb 2025 13:10:24 -0600

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Fri, 14 Feb 2025 13:10:24 -0600
changeset 43177
595a5f31003a
parent 42620
72178a341eb8
permissions
-rw-r--r--

Annotate Pidgin constructors that return base types

In that case, annotating the actual type will help bindings use the correct type.

Testing Done:
Compared the gir before and after, and types were more specific:
```diff
--- Pidgin-3.0.gir 2025-02-14 01:13:40.813791641 -0500
+++ build/pidgin/Pidgin-3.0.gir 2025-02-14 03:05:58.968098262 -0500
@@ -54,8 +54,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginabout.h"
- line="58">A new instance of the about dialog.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="58">The new about dialog.</doc>
+ <type name="AboutDialog" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="application"
@@ -100,12 +100,13 @@
<doc xml:space="preserve"
filename="pidgin/pidginaccountchooser.h"
line="52">Creates a combo box filled with accounts.</doc>
- <source-position filename="pidgin/pidginaccountchooser.h" line="62"/>
+ <source-position filename="pidgin/pidginaccountchooser.h" line="63"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginaccountchooser.h"
- line="57">The account chooser combo box.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="57">The new account
+ chooser combo box.</doc>
+ <type name="AccountChooser" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="get_filter"
@@ -258,12 +259,13 @@
<doc xml:space="preserve"
filename="pidgin/pidginaccountdisplay.h"
line="52">Creates a display for an account.</doc>
- <source-position filename="pidgin/pidginaccountdisplay.h" line="63"/>
+ <source-position filename="pidgin/pidginaccountdisplay.h" line="64"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginaccountdisplay.h"
- line="58">The account display.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="58">The new account
+ display.</doc>
+ <type name="AccountDisplay" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="account" transfer-ownership="none">
@@ -371,8 +373,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginaccounteditor.h"
- line="61">The new instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="61">The new account editor.</doc>
+ <type name="AccountEditor" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="account"
@@ -542,8 +544,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginaccountfilterconnected.h"
- line="60">The new #PidginAccountFilterConnected instance.</doc>
- <type name="Gtk.Filter" c:type="GtkFilter*"/>
+ line="60">The new filter.</doc>
+ <type name="AccountFilterConnected" c:type="GtkFilter*"/>
</return-value>
</constructor>
</class>
@@ -585,8 +587,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginaccountfilterprotocol.h"
- line="61">The new #PidginAccountFilterProtocol instance.</doc>
- <type name="Gtk.Filter" c:type="GtkFilter*"/>
+ line="61">The new filter.</doc>
+ <type name="AccountFilterProtocol" c:type="GtkFilter*"/>
</return-value>
<parameters>
<parameter name="protocol_id" transfer-ownership="none">
@@ -673,7 +675,7 @@
<doc xml:space="preserve"
filename="pidgin/pidginaccountmanager.h"
line="58">The dialog.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ <type name="AccountManager" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="application"
@@ -770,7 +772,7 @@
<doc xml:space="preserve"
filename="pidgin/pidginaccountmanagerrow.h"
line="58">The new account row.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ <type name="AccountManagerRow" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="account"
@@ -887,7 +889,7 @@
<doc xml:space="preserve"
filename="pidgin/pidginaccountrow.h"
line="62">The new instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ <type name="AccountRow" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="get_account"
@@ -1056,8 +1058,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginaccountsdisabledmenu.h"
- line="60">The new menu instance.</doc>
- <type name="Gio.MenuModel" c:type="GMenuModel*"/>
+ line="60">The new instance.</doc>
+ <type name="AccountsDisabledMenu" c:type="GMenuModel*"/>
</return-value>
</constructor>
</class>
@@ -1097,8 +1099,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginaccountsenabledmenu.h"
- line="60">The new menu instance.</doc>
- <type name="Gio.MenuModel" c:type="GMenuModel*"/>
+ line="60">The new instance.</doc>
+ <type name="AccountsEnabledMenu" c:type="GMenuModel*"/>
</return-value>
</constructor>
</class>
@@ -1137,8 +1139,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginapplication.h"
- line="59">The new #PidginApplication instance.</doc>
- <type name="Gio.Application" c:type="GApplication*"/>
+ line="59">The new instance.</doc>
+ <type name="Application" c:type="GApplication*"/>
</return-value>
</constructor>
<method name="add_action_group"
@@ -1237,8 +1239,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginautoadjustment.h"
- line="61">The new #PidginAutoAdjustment instance.</doc>
- <type name="Gtk.Adjustment" c:type="GtkAdjustment*"/>
+ line="61">The new instance.</doc>
+ <type name="AutoAdjustment" c:type="GtkAdjustment*"/>
</return-value>
</constructor>
<method name="decrement"
@@ -1314,8 +1316,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginavatar.h"
- line="59">The new #PidginAvatar instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="59">The new instance.</doc>
+ <type name="Avatar" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="get_animate"
@@ -1544,8 +1546,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/prefs/pidginawayprefs.h"
- line="58">The new #PidginAwayPrefs instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="58">The new instance.</doc>
+ <type name="AwayPrefs" c:type="GtkWidget*"/>
</return-value>
</constructor>
</class>
@@ -1583,7 +1585,7 @@
<doc xml:space="preserve"
filename="pidgin/pidginbadges.h"
line="59">The new widget.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ <type name="Badges" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="badges" transfer-ownership="none">
@@ -1696,8 +1698,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginchanneljoindialog.h"
- line="56">The widget.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="56">The new widget.</doc>
+ <type name="ChannelJoinDialog" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="application"
@@ -1750,8 +1752,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidgincontactlist.h"
- line="62">The new #PidginContactList instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="62">The new instance.</doc>
+ <type name="ContactList" c:type="GtkWidget*"/>
</return-value>
</constructor>
</class>
@@ -1791,7 +1793,7 @@
<doc xml:space="preserve"
filename="pidgin/pidginconversation.h"
line="62">The new widget.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ <type name="Conversation" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="conversation" transfer-ownership="none">
@@ -1914,12 +1916,13 @@
filename="pidgin/pidginconversationmember.h"
line="52">Creates a display for a conversation member.</doc>
<source-position filename="pidgin/pidginconversationmember.h"
- line="63"/>
+ line="64"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginconversationmember.h"
- line="58">The conversation member display.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="58">The conversation
+ member display.</doc>
+ <type name="ConversationMember" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="conversation_member" transfer-ownership="none">
@@ -2033,8 +2036,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/prefs/pidginconversationprefs.h"
- line="58">The new #PidginConversationPrefs instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="58">The new instance.</doc>
+ <type name="ConversationPrefs" c:type="GtkWidget*"/>
</return-value>
</constructor>
</class>
@@ -2077,8 +2080,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/prefs/pidgincredentialprefs.h"
- line="66">The new #PidginCredentialPrefs instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="66">The new instance.</doc>
+ <type name="CredentialPrefs" c:type="GtkWidget*"/>
</return-value>
</constructor>
</class>
@@ -2116,20 +2119,21 @@
version="3.0">
<doc xml:space="preserve"
filename="pidgin/prefs/pidgincredentialproviderrow.h"
- line="63">Creates a new #PidginCredentialProviderRow instance.</doc>
+ line="65">Creates a new #PidginCredentialProviderRow instance.</doc>
<source-position filename="pidgin/prefs/pidgincredentialproviderrow.h"
- line="74"/>
+ line="77"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/prefs/pidgincredentialproviderrow.h"
- line="69">The new #PidginCredentialProviderRow instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="71">The new
+ instance.</doc>
+ <type name="CredentialProviderRow" c:type="GtkWidget*"/>
</return-value>
@@ -2835,8 +2839,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidgindisplaywindow.h"
- line="60">The new #PidginDisplayWindow instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="60">The new instance.</doc>
+ <type name="DisplayWindow" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="application"
@@ -3163,8 +3167,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidgininfopane.h"
- line="60">The new #PidginInfoPane instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="60">The new instance.</doc>
+ <type name="InfoPane" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="get_child"
@@ -3395,7 +3399,7 @@
<doc xml:space="preserve"
filename="pidgin/pidginkeypad.h"
line="57">The new instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ <type name="Keypad" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="set_key_capture_widget"
@@ -3478,7 +3482,7 @@
<doc xml:space="preserve"
filename="pidgin/pidginmessage.h"
line="59">The new instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ <type name="Message" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="message"
@@ -3586,8 +3590,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/prefs/pidginnetworkprefs.h"
- line="58">The new #PidginNetworkPrefs instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="58">The new instance.</doc>
+ <type name="NetworkPrefs" c:type="GtkWidget*"/>
</return-value>
</constructor>
</class>
@@ -3735,7 +3739,7 @@
<doc xml:space="preserve"
filename="pidgin/pidginnotification.h"
line="74">The new instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ <type name="Notification" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="notification" transfer-ownership="none">
@@ -3885,9 +3889,9 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginnotificationaddcontact.h"
- line="66">The new #PidginNotificationAddContact
+ line="66">The new
instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ <type name="NotificationAddContact" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="notification" transfer-ownership="none">
@@ -3941,9 +3945,9 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginnotificationauthorizationrequest.h"
- line="66">The new #PidginNotificationAuthorizationRequest
- instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="66">The
+ new instance.</doc>
+ <type name="NotificationAuthorizationRequest" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="notification" transfer-ownership="none">
@@ -4006,12 +4010,13 @@
line="60">Creates a new #PidginNotificationConnectionError instance that will display
@notification.</doc>
<source-position filename="pidgin/pidginnotificationconnectionerror.h"
- line="72"/>
+ line="73"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginnotificationconnectionerror.h"
- line="67">The new instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="67">The new
+ instance.</doc>
+ <type name="NotificationConnectionError" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="notification" transfer-ownership="none">
@@ -4063,8 +4068,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginnotificationlink.h"
- line="64">The new #PidginNotificationLink instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="64">The new instance.</doc>
+ <type name="NotificationLink" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="notification" transfer-ownership="none">
@@ -4114,8 +4119,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginnotificationlist.h"
- line="59">The new #PidginNotificationList instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="59">The new instance.</doc>
+ <type name="NotificationList" c:type="GtkWidget*"/>
</return-value>
</constructor>
</class>
@@ -4161,8 +4166,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginpluginsmenu.h"
- line="56">The new #PidginPluginsMenu instance.</doc>
- <type name="Gio.MenuModel" c:type="GMenuModel*"/>
+ line="56">The new instance.</doc>
+ <type name="PluginsMenu" c:type="GMenuModel*"/>
</return-value>
</constructor>
</class>
@@ -4232,7 +4237,7 @@
<doc xml:space="preserve"
filename="pidgin/pidginpresenceicon.h"
line="61">The new presence icon.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ <type name="PresenceIcon" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="presence"
@@ -4475,12 +4480,13 @@
<doc xml:space="preserve"
filename="pidgin/pidginprotocolchooser.h"
line="54">Creates a drop down for a user to select a protocol from.</doc>
- <source-position filename="pidgin/pidginprotocolchooser.h" line="64"/>
+ <source-position filename="pidgin/pidginprotocolchooser.h" line="65"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/pidginprotocolchooser.h"
- line="59">The protocol chooser drop down.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="59">The protocol chooser
+ drop down.</doc>
+ <type name="ProtocolChooser" c:type="GtkWidget*"/>
</return-value>
</constructor>
<method name="get_protocol"
@@ -4581,8 +4587,8 @@
<return-value transfer-ownership="full">
<doc xml:space="preserve"
filename="pidgin/prefs/pidginproxyprefs.h"
- line="58">The new #PidginProxyPrefs instance.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ line="58">The new instance.</doc>
+ <type name="ProxyPrefs" c:type="GtkWidget*"/>
</return-value>
</constructor>
</class>
@@ -4624,7 +4630,7 @@
<doc xml:space="preserve"
filename="pidgin/pidgintypinglabel.h"
line="60">The new widget.</doc>
- <type name="Gtk.Widget" c:type="GtkWidget*"/>
+ <type name="TypingLabel" c:type="GtkWidget*"/>
</return-value>
<parameters>
<parameter name="conversation" transfer-ownership="none">
@@ -4745,7 +4751,7 @@
<doc xml:space="preserve"
filename="pidgin/pidginui.h"
line="60">The new instance.</doc>
- <type name="Purple.Ui" c:type="PurpleUi*"/>
+ <type name="Ui" c:type="PurpleUi*"/>
</return-value>
</constructor>
</class>
```

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

/*
 * Pidgin - Internet Messenger
 * Copyright (C) Pidgin Developers <devel@pidgin.im>
 *
 * Pidgin is the legal property of its developers, whose names are too numerous
 * to list here.  Please refer to the COPYRIGHT file distributed with this
 * source distribution.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, see <https://www.gnu.org/licenses/>.
 */

#if !defined(PIDGIN_GLOBAL_HEADER_INSIDE) && !defined(PIDGIN_COMPILATION)
# error "only <pidgin.h> may be included directly"
#endif

#ifndef PIDGIN_KEYPAD_H
#define PIDGIN_KEYPAD_H

#include <gtk/gtk.h>

#include <purple.h>

#include "pidginversion.h"

/**
 * PidginKeypad:
 *
 * #PidginKeypad is a widget that displays a DTMF keypad, with the digits 0-9,
 * an asterisk, and a number sign.
 *
 * Since: 3.0
 */

G_BEGIN_DECLS

#define PIDGIN_TYPE_KEYPAD pidgin_keypad_get_type()

PIDGIN_AVAILABLE_IN_3_0
G_DECLARE_FINAL_TYPE(PidginKeypad, pidgin_keypad, PIDGIN, KEYPAD, GtkGrid)

/**
 * pidgin_keypad_new:
 *
 * Creates a new #PidginKeypad.
 *
 * Returns: (transfer full) (type PidginKeypad): The new instance.
 *
 * Since: 3.0
 */
PIDGIN_AVAILABLE_IN_3_0
GtkWidget *pidgin_keypad_new(void);

/**
 * pidgin_keypad_set_key_capture_widget:
 * @keypad: The keypad.
 * @widget: A widget to capture keys from.
 *
 * Sets @widget as the widget that @keypad will capture key events from.
 *
 * If key events are handled by the keypad, the DTMF digits will be captured
 * and trigger the pressed signal on @keypad.
 *
 * Since: 3.0
 */
PIDGIN_AVAILABLE_IN_3_0
void pidgin_keypad_set_key_capture_widget(PidginKeypad *keypad, GtkWidget *widget);

G_END_DECLS

#endif /* PIDGIN_KEYPAD_H */

mercurial