Sun, 03 Nov 2024 00:07:13 -0500
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 | } |