pidgin/pidginnotificationauthorizationrequest.c

Sun, 03 Nov 2024 00:07:13 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Sun, 03 Nov 2024 00:07:13 -0500
changeset 43046
eeab15f4576e
parent 42961
9b94dce254d8
permissions
-rw-r--r--

Call g_list_model_items_changed as necessary in Purple.ConversationManager

This was missed when implementing Gio.ListModel.

Testing Done:
Ran the tests under valgrind and called in the turtles for the rest.

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

42961
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Pidgin - Internet Messenger
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * Pidgin is the legal property of its developers, whose names are too numerous
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * source distribution.
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 *
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * (at your option) any later version.
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 *
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 * GNU General Public License for more details.
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18 *
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 */
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 #include <glib/gi18n-lib.h>
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 #include <purple.h>
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 #include "pidgin/pidginnotificationauthorizationrequest.h"
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29 struct _PidginNotificationAuthorizationRequest {
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 PidginNotification parent;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31 };
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33 G_DEFINE_FINAL_TYPE(PidginNotificationAuthorizationRequest,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34 pidgin_notification_authorization_request,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35 PIDGIN_TYPE_NOTIFICATION)
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 /******************************************************************************
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38 * Callbacks
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 *****************************************************************************/
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 static void
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 pidgin_notification_authorization_request_create_dm_cb(GObject *self,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42 GAsyncResult *result,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 G_GNUC_UNUSED gpointer data)
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44 {
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
45 PurpleContact *contact = PURPLE_CONTACT(self);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 PurpleConversation *conversation = NULL;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 GError *error = NULL;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49 conversation = purple_contact_create_dm_finish(contact, result, &error);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 if(error != NULL) {
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 g_warning("failed to create dm for %s: %s",
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 purple_contact_info_get_name_for_display(PURPLE_CONTACT_INFO(contact)),
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 error->message);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55 g_clear_error(&error);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 g_clear_object(&conversation);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 return;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 }
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 if(PURPLE_IS_CONVERSATION(conversation)) {
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 purple_conversation_present(conversation);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 }
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 g_clear_object(&conversation);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66 }
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 /******************************************************************************
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 * Actions
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 *****************************************************************************/
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 static void
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 pidgin_notification_authorization_request_accept(GtkWidget *self,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 G_GNUC_UNUSED const char *action_name,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 G_GNUC_UNUSED GVariant *parameter)
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 {
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76 PidginNotification *pidgin_notification = PIDGIN_NOTIFICATION(self);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 PurpleAuthorizationRequest *request = NULL;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78 PurpleNotification *purple_notification = NULL;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 PurpleNotificationAuthorizationRequest *notification_authorization_request = NULL;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81 purple_notification = pidgin_notification_get_notification(pidgin_notification);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 notification_authorization_request = PURPLE_NOTIFICATION_AUTHORIZATION_REQUEST(purple_notification);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 request = purple_notification_authorization_request_get_request(notification_authorization_request);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 purple_authorization_request_accept(request);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87 purple_notification_delete(purple_notification);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 }
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 static void
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91 pidgin_notification_authorization_request_message(GtkWidget *self,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 G_GNUC_UNUSED const char *action_name,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 G_GNUC_UNUSED GVariant *parameter)
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94 {
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95 PidginNotification *pidgin_notification = PIDGIN_NOTIFICATION(self);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
96 PurpleNotification *purple_notification = NULL;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97 PurpleNotificationAuthorizationRequest *notification_authorization_request = NULL;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98 PurpleAuthorizationRequest *request = NULL;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99 PurpleContact *contact = NULL;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
100 PurpleConversation *conversation = NULL;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
101
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
102 purple_notification = pidgin_notification_get_notification(pidgin_notification);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 notification_authorization_request = PURPLE_NOTIFICATION_AUTHORIZATION_REQUEST(purple_notification);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 request = purple_notification_authorization_request_get_request(notification_authorization_request);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105 contact = purple_authorization_request_get_contact(request);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107 conversation = purple_contact_find_dm(contact);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
108 if(PURPLE_IS_CONVERSATION(conversation)) {
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109 purple_conversation_present(conversation);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110 } else {
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
111 purple_contact_create_dm_async(contact, NULL,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112 pidgin_notification_authorization_request_create_dm_cb,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
113 NULL);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
114 }
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
115 }
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
116
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
117 static void
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
118 pidgin_notification_authorization_request_deny(GtkWidget *self,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
119 G_GNUC_UNUSED const char *action_name,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
120 G_GNUC_UNUSED GVariant *parameter)
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
121 {
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
122 PidginNotification *pidgin_notification = PIDGIN_NOTIFICATION(self);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
123 PurpleAuthorizationRequest *request = NULL;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
124 PurpleNotification *purple_notification = NULL;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
125 PurpleNotificationAuthorizationRequest *notification_authorization_request = NULL;
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
126
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
127 purple_notification = pidgin_notification_get_notification(pidgin_notification);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
128 notification_authorization_request = PURPLE_NOTIFICATION_AUTHORIZATION_REQUEST(purple_notification);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
129 request = purple_notification_authorization_request_get_request(notification_authorization_request);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
130
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
131 purple_authorization_request_deny(request, NULL);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
132
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
133 purple_notification_delete(purple_notification);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
134 }
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
135
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
136 /******************************************************************************
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
137 * GObject Implementation
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
138 *****************************************************************************/
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
139 static void
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
140 pidgin_notification_authorization_request_init(PidginNotificationAuthorizationRequest *notification)
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
141 {
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
142 gtk_widget_init_template(GTK_WIDGET(notification));
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
143 }
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
144
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
145 static void
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
146 pidgin_notification_authorization_request_class_init(PidginNotificationAuthorizationRequestClass *klass)
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
147 {
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
148 GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
149
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
150 gtk_widget_class_set_template_from_resource(
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
151 widget_class,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
152 "/im/pidgin/Pidgin3/notificationauthorizationrequest.ui"
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
153 );
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
154
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
155 gtk_widget_class_install_action(widget_class, "notification.accept",
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
156 NULL,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
157 pidgin_notification_authorization_request_accept);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
158 gtk_widget_class_install_action(widget_class, "notification.message",
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
159 NULL,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
160 pidgin_notification_authorization_request_message);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
161 gtk_widget_class_install_action(widget_class, "notification.deny",
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
162 NULL,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
163 pidgin_notification_authorization_request_deny);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
164 }
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
165
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
166 /******************************************************************************
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
167 * API
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
168 *****************************************************************************/
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
169 GtkWidget *
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
170 pidgin_notification_authorization_request_new(PurpleNotificationAuthorizationRequest *notification)
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
171 {
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
172 g_return_val_if_fail(PURPLE_IS_NOTIFICATION_AUTHORIZATION_REQUEST(notification),
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
173 NULL);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
174
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
175 return g_object_new(
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
176 PIDGIN_TYPE_NOTIFICATION_AUTHORIZATION_REQUEST,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
177 "notification", notification,
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
178 NULL);
9b94dce254d8 Create Pidgin.NotificationAuthorizationRequest
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
179 }

mercurial