pidgin/plugins/unity.c

Thu, 15 Jun 2017 11:54:43 -0500

author
Mike Ruprecht <cmaiku@gmail.com>
date
Thu, 15 Jun 2017 11:54:43 -0500
changeset 38420
156734aa651c
parent 37153
c0eccc6696da
child 40197
75ffd76260fc
permissions
-rw-r--r--

Remove gtkeventloop.[ch] in preparation for dropping event loop UiOps

This patch removes Pidgin's event loop implementation now that the
event loop functions have been given their own implementations.

35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
1 /*
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
2 * Integration with Unity's messaging menu and launcher
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
3 * Copyright (C) 2013 Ankit Vani <a@nevitus.org>
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
4 *
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
5 * This program is free software; you can redistribute it and/or modify
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
6 * it under the terms of the GNU General Public License as published by
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
7 * the Free Software Foundation; either version 2 of the License, or
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
8 * (at your option) any later version.
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
9 *
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
10 * This program is distributed in the hope that it will be useful,
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
13 * GNU General Public License for more details.
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
14 *
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
16 * along with this program; if not, write to the Free Software
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
18 */
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
19 #include "internal.h"
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
20 #include "account.h"
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
21 #include "savedstatuses.h"
35534
8e72593def2c Fix gtk_[hv]box_new gtk3 deprecation warnings in unity plugin
Ankit Vani <a@nevitus.org>
parents: 35378
diff changeset
22 #include "version.h"
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
23
35534
8e72593def2c Fix gtk_[hv]box_new gtk3 deprecation warnings in unity plugin
Ankit Vani <a@nevitus.org>
parents: 35378
diff changeset
24 #include "gtk3compat.h"
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
25 #include "gtkplugin.h"
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
26 #include "gtkconv.h"
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
27 #include "gtkutils.h"
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
28
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
29 #include <unity.h>
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
30 #include <messaging-menu.h>
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
31
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
32 #define UNITY_PLUGIN_ID "gtk-unity-integration"
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
33
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
34 static MessagingMenuApp *mmapp = NULL;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
35 static UnityLauncherEntry *launcher = NULL;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
36 static guint n_sources = 0;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
37 static gint launcher_count;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
38 static gint messaging_menu_text;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
39 static gboolean alert_chat_nick = TRUE;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
40
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
41 enum {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
42 LAUNCHER_COUNT_DISABLE,
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
43 LAUNCHER_COUNT_MESSAGES,
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
44 LAUNCHER_COUNT_SOURCES,
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
45 };
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
46
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
47 enum {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
48 MESSAGING_MENU_COUNT,
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
49 MESSAGING_MENU_TIME,
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
50 };
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
51
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
52 static int attach_signals(PurpleConversation *conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
53 static void detach_signals(PurpleConversation *conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
54
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
55 static void
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
56 update_launcher()
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
57 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
58 guint count = 0;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
59 GList *convs = NULL;
35124
7ea89f3b3b58 Silence some warnings
Ankit Vani <a@nevitus.org>
parents: 35122
diff changeset
60 g_return_if_fail(launcher != NULL);
7ea89f3b3b58 Silence some warnings
Ankit Vani <a@nevitus.org>
parents: 35122
diff changeset
61 if (launcher_count == LAUNCHER_COUNT_DISABLE)
7ea89f3b3b58 Silence some warnings
Ankit Vani <a@nevitus.org>
parents: 35122
diff changeset
62 return;
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
63
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
64 if (launcher_count == LAUNCHER_COUNT_MESSAGES) {
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
65 for (convs = purple_conversations_get_all(); convs != NULL; convs = convs->next) {
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
66 PurpleConversation *conv = convs->data;
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
67 count += GPOINTER_TO_INT(g_object_get_data(G_OBJECT(conv),
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
68 "unity-message-count"));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
69 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
70 } else {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
71 count = n_sources;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
72 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
73
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
74 if (launcher != NULL) {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
75 if (count > 0)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
76 unity_launcher_entry_set_count_visible(launcher, TRUE);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
77 else
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
78 unity_launcher_entry_set_count_visible(launcher, FALSE);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
79 unity_launcher_entry_set_count(launcher, count);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
80 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
81 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
82
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
83 static gchar *
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
84 conversation_id(PurpleConversation *conv)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
85 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
86 PurpleAccount *account = purple_conversation_get_account(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
87
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
88 return g_strconcat((PURPLE_IS_IM_CONVERSATION(conv) ? "im" :
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
89 PURPLE_IS_CHAT_CONVERSATION(conv) ? "chat" : "misc"), ":",
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
90 purple_conversation_get_name(conv), ":",
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
91 purple_account_get_username(account), ":",
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
92 purple_account_get_protocol_id(account), NULL);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
93 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
94
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
95 static void
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
96 messaging_menu_add_conversation(PurpleConversation *conv, gint count)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
97 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
98 gchar *id;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
99 g_return_if_fail(count > 0);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
100 id = conversation_id(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
101
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
102 /* GBytesIcon may be useful for messaging menu source icons using buddy
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
103 icon data for IMs */
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
104 if (!messaging_menu_app_has_source(mmapp, id))
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
105 messaging_menu_app_append_source(mmapp, id, NULL,
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
106 purple_conversation_get_title(conv));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
107
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
108 if (messaging_menu_text == MESSAGING_MENU_TIME)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
109 messaging_menu_app_set_source_time(mmapp, id, g_get_real_time());
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
110 else if (messaging_menu_text == MESSAGING_MENU_COUNT)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
111 messaging_menu_app_set_source_count(mmapp, id, count);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
112 messaging_menu_app_draw_attention(mmapp, id);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
113
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
114 g_free(id);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
115 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
116
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
117 static void
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
118 messaging_menu_remove_conversation(PurpleConversation *conv)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
119 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
120 gchar *id = conversation_id(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
121 if (messaging_menu_app_has_source(mmapp, id))
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
122 messaging_menu_app_remove_source(mmapp, id);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
123 g_free(id);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
124 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
125
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
126 static void
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
127 refill_messaging_menu()
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
128 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
129 GList *convs;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
130
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
131 for (convs = purple_conversations_get_all(); convs != NULL; convs = convs->next) {
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
132 PurpleConversation *conv = convs->data;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
133 messaging_menu_add_conversation(conv,
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
134 GPOINTER_TO_INT(g_object_get_data(G_OBJECT(conv),
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
135 "unity-message-count")));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
136 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
137 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
138
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
139 static int
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
140 alert(PurpleConversation *conv)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
141 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
142 gint count;
35610
24b06c5e7760 Renamed PidginWindow to PidginConvWindow so that introspection associates it with pidgin_conv_window_* API
Ankit Vani <a@nevitus.org>
parents: 35534
diff changeset
143 PidginConvWindow *purplewin = NULL;
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
144 if (conv == NULL || PIDGIN_CONVERSATION(conv) == NULL)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
145 return 0;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
146
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
147 purplewin = PIDGIN_CONVERSATION(conv)->win;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
148
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
149 if (!pidgin_conv_window_has_focus(purplewin) ||
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
150 !pidgin_conv_window_is_active_conversation(conv))
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
151 {
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
152 count = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(conv),
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
153 "unity-message-count"));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
154 if (!count++)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
155 ++n_sources;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
156
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
157 g_object_set_data(G_OBJECT(conv), "unity-message-count",
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
158 GINT_TO_POINTER(count));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
159 messaging_menu_add_conversation(conv, count);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
160 update_launcher();
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
161 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
162
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
163 return 0;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
164 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
165
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
166 static void
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
167 unalert(PurpleConversation *conv)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
168 {
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
169 if (GPOINTER_TO_INT(g_object_get_data(G_OBJECT(conv), "unity-message-count")) > 0)
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
170 --n_sources;
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
171
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
172 g_object_set_data(G_OBJECT(conv), "unity-message-count",
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
173 GINT_TO_POINTER(0));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
174 messaging_menu_remove_conversation(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
175 update_launcher();
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
176 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
177
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
178 static int
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
179 unalert_cb(GtkWidget *widget, gpointer data, PurpleConversation *conv)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
180 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
181 unalert(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
182 return 0;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
183 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
184
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
185 static gboolean
36110
63663622e327 Switch write_conv and (displaying|displayed)-(im|chat)-msg to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36103
diff changeset
186 message_displayed_cb(PurpleConversation *conv, PurpleMessage *msg, gpointer _unused)
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
187 {
36110
63663622e327 Switch write_conv and (displaying|displayed)-(im|chat)-msg to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36103
diff changeset
188 PurpleMessageFlags flags = purple_message_get_flags(msg);
63663622e327 Switch write_conv and (displaying|displayed)-(im|chat)-msg to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36103
diff changeset
189
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
190 if ((PURPLE_IS_CHAT_CONVERSATION(conv) && alert_chat_nick &&
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
191 !(flags & PURPLE_MESSAGE_NICK)))
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
192 return FALSE;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
193
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
194 if ((flags & PURPLE_MESSAGE_RECV) && !(flags & PURPLE_MESSAGE_DELAYED))
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
195 alert(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
196
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
197 return FALSE;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
198 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
199
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
200 static void
36081
6764e037a308 Switch sent-im-msg to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35610
diff changeset
201 im_sent_im(PurpleAccount *account, PurpleMessage *msg, gpointer _unused)
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
202 {
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
203 PurpleIMConversation *im = NULL;
36081
6764e037a308 Switch sent-im-msg to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35610
diff changeset
204 im = purple_conversations_find_im_with_account(
36103
07499d72e12e Fix unity build
Ankit Vani <a@nevitus.org>
parents: 36082
diff changeset
205 purple_message_get_recipient(msg), account);
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
206 unalert(PURPLE_CONVERSATION(im));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
207 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
208
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
209 static void
36082
247d94c903c3 Switch sent-chat-msg to PurpleMessage
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 36081
diff changeset
210 chat_sent_im(PurpleAccount *account, PurpleMessage *msg, int id)
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
211 {
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
212 PurpleChatConversation *chat = NULL;
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
213 chat = purple_conversations_find_chat(purple_account_get_connection(account), id);
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
214 unalert(PURPLE_CONVERSATION(chat));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
215 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
216
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
217 static void
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
218 conv_created(PurpleConversation *conv)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
219 {
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
220 g_object_set_data(G_OBJECT(conv), "unity-message-count",
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
221 GINT_TO_POINTER(0));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
222 attach_signals(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
223 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
224
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
225 static void
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
226 deleting_conv(PurpleConversation *conv)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
227 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
228 detach_signals(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
229 unalert(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
230 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
231
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
232 static void
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
233 message_source_activated(MessagingMenuApp *app, const gchar *id,
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
234 gpointer user_data)
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
235 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
236 gchar **sections = g_strsplit(id, ":", 0);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
237 PurpleConversation *conv = NULL;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
238 PurpleAccount *account;
35610
24b06c5e7760 Renamed PidginWindow to PidginConvWindow so that introspection associates it with pidgin_conv_window_* API
Ankit Vani <a@nevitus.org>
parents: 35534
diff changeset
239 PidginConvWindow *purplewin = NULL;
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
240
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
241 char *type = sections[0];
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
242 char *cname = sections[1];
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
243 char *aname = sections[2];
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
244 char *protocol = sections[3];
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
245
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
246 account = purple_accounts_find(aname, protocol);
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
247
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
248 if (g_strcmp0(type, "im") == 0)
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
249 conv = PURPLE_CONVERSATION(purple_conversations_find_im_with_account(cname, account));
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
250 else if (g_strcmp0(type, "chat") == 0)
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
251 conv = PURPLE_CONVERSATION(purple_conversations_find_chat_with_account(cname, account));
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
252 else
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
253 conv = purple_conversations_find_with_account(cname, account);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
254
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
255 if (conv) {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
256 unalert(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
257 purplewin = PIDGIN_CONVERSATION(conv)->win;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
258 pidgin_conv_window_switch_gtkconv(purplewin, PIDGIN_CONVERSATION(conv));
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
259 gdk_window_focus(gtk_widget_get_window(purplewin->window), time(NULL));
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
260 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
261 g_strfreev (sections);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
262 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
263
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
264 static PurpleSavedStatus *
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
265 create_transient_status(PurpleStatusPrimitive primitive, PurpleStatusType *status_type)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
266 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
267 PurpleSavedStatus *saved_status = purple_savedstatus_new(NULL, primitive);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
268
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
269 if(status_type != NULL) {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
270 GList *tmp, *active_accts = purple_accounts_get_all_active();
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
271 for (tmp = active_accts; tmp != NULL; tmp = tmp->next) {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
272 purple_savedstatus_set_substatus(saved_status,
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
273 (PurpleAccount*) tmp->data, status_type, NULL);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
274 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
275 g_list_free(active_accts);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
276 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
277
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
278 return saved_status;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
279 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
280
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
281 static void
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
282 status_changed_cb(PurpleSavedStatus *saved_status)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
283 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
284 MessagingMenuStatus status = MESSAGING_MENU_STATUS_AVAILABLE;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
285
35378
5d9e2581005b gtk-doc prep: *_get_type() functions are hidden as standard GType-returning funcs, so rename them.
Ankit Vani <a@nevitus.org>
parents: 35317
diff changeset
286 switch (purple_savedstatus_get_primitive_type(saved_status)) {
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
287 case PURPLE_STATUS_AVAILABLE:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
288 case PURPLE_STATUS_MOOD:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
289 case PURPLE_STATUS_TUNE:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
290 case PURPLE_STATUS_UNSET:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
291 status = MESSAGING_MENU_STATUS_AVAILABLE;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
292 break;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
293
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
294 case PURPLE_STATUS_AWAY:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
295 case PURPLE_STATUS_EXTENDED_AWAY:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
296 status = MESSAGING_MENU_STATUS_AWAY;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
297 break;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
298
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
299 case PURPLE_STATUS_INVISIBLE:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
300 status = MESSAGING_MENU_STATUS_INVISIBLE;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
301 break;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
302
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
303 case PURPLE_STATUS_MOBILE:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
304 case PURPLE_STATUS_OFFLINE:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
305 status = MESSAGING_MENU_STATUS_OFFLINE;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
306 break;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
307
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
308 case PURPLE_STATUS_UNAVAILABLE:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
309 status = MESSAGING_MENU_STATUS_BUSY;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
310 break;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
311
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
312 default:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
313 g_assert_not_reached();
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
314 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
315 messaging_menu_app_set_status(mmapp, status);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
316 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
317
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
318 static void
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
319 messaging_menu_status_changed(MessagingMenuApp *mmapp,
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
320 MessagingMenuStatus mm_status, gpointer user_data)
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
321 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
322 PurpleSavedStatus *saved_status;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
323 PurpleStatusPrimitive primitive = PURPLE_STATUS_UNSET;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
324
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
325 switch (mm_status) {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
326 case MESSAGING_MENU_STATUS_AVAILABLE:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
327 primitive = PURPLE_STATUS_AVAILABLE;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
328 break;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
329
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
330 case MESSAGING_MENU_STATUS_AWAY:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
331 primitive = PURPLE_STATUS_AWAY;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
332 break;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
333
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
334 case MESSAGING_MENU_STATUS_BUSY:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
335 primitive = PURPLE_STATUS_UNAVAILABLE;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
336 break;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
337
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
338 case MESSAGING_MENU_STATUS_INVISIBLE:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
339 primitive = PURPLE_STATUS_INVISIBLE;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
340 break;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
341
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
342 case MESSAGING_MENU_STATUS_OFFLINE:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
343 primitive = PURPLE_STATUS_OFFLINE;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
344 break;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
345
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
346 default:
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
347 g_assert_not_reached();
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
348 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
349
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
350 saved_status = purple_savedstatus_find_transient_by_type_and_message(primitive, NULL);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
351 if (saved_status == NULL)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
352 saved_status = create_transient_status(primitive, NULL);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
353 purple_savedstatus_activate(saved_status);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
354 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
355
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
356 static void
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
357 alert_config_cb(GtkWidget *widget, gpointer data)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
358 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
359 gboolean on = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
360 purple_prefs_set_bool("/plugins/gtk/unity/alert_chat_nick", on);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
361 alert_chat_nick = on;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
362 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
363
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
364 static void
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
365 launcher_config_cb(GtkWidget *widget, gpointer data)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
366 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
367 gint option = GPOINTER_TO_INT(data);
35124
7ea89f3b3b58 Silence some warnings
Ankit Vani <a@nevitus.org>
parents: 35122
diff changeset
368 if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
7ea89f3b3b58 Silence some warnings
Ankit Vani <a@nevitus.org>
parents: 35122
diff changeset
369 return;
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
370
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
371 purple_prefs_set_int("/plugins/gtk/unity/launcher_count", option);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
372 launcher_count = option;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
373 if (option == LAUNCHER_COUNT_DISABLE)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
374 unity_launcher_entry_set_count_visible(launcher, FALSE);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
375 else
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
376 update_launcher();
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
377 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
378
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
379 static void
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
380 messaging_menu_config_cb(GtkWidget *widget, gpointer data)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
381 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
382 gint option = GPOINTER_TO_INT(data);
35124
7ea89f3b3b58 Silence some warnings
Ankit Vani <a@nevitus.org>
parents: 35122
diff changeset
383 if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
7ea89f3b3b58 Silence some warnings
Ankit Vani <a@nevitus.org>
parents: 35122
diff changeset
384 return;
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
385
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
386 purple_prefs_set_int("/plugins/gtk/unity/messaging_menu_text", option);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
387 messaging_menu_text = option;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
388 refill_messaging_menu();
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
389 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
390
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
391 static int
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
392 attach_signals(PurpleConversation *conv)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
393 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
394 PidginConversation *gtkconv = NULL;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
395 guint id;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
396
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
397 gtkconv = PIDGIN_CONVERSATION(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
398 if (!gtkconv)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
399 return 0;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
400
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
401 id = g_signal_connect(G_OBJECT(gtkconv->entry), "focus-in-event",
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
402 G_CALLBACK(unalert_cb), conv);
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
403 g_object_set_data(G_OBJECT(conv), "unity-entry-signal", GUINT_TO_POINTER(id));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
404
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
405 id = g_signal_connect(G_OBJECT(gtkconv->webview), "focus-in-event",
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
406 G_CALLBACK(unalert_cb), conv);
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
407 g_object_set_data(G_OBJECT(conv), "unity-webview-signal", GUINT_TO_POINTER(id));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
408
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
409 return 0;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
410 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
411
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
412 static void
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
413 detach_signals(PurpleConversation *conv)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
414 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
415 PidginConversation *gtkconv = NULL;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
416 guint id;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
417 gtkconv = PIDGIN_CONVERSATION(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
418 if (!gtkconv)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
419 return;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
420
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
421 id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(conv), "unity-webview-signal"));
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
422 g_signal_handler_disconnect(gtkconv->webview, id);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
423
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
424 id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(conv), "unity-entry-signal"));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
425 g_signal_handler_disconnect(gtkconv->entry, id);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
426
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
427 g_object_set_data(G_OBJECT(conv), "unity-message-count",
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
428 GINT_TO_POINTER(0));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
429 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
430
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
431 static GtkWidget *
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
432 get_config_frame(PurplePlugin *plugin)
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
433 {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
434 GtkWidget *ret = NULL, *frame = NULL;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
435 GtkWidget *vbox = NULL, *toggle = NULL;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
436
35534
8e72593def2c Fix gtk_[hv]box_new gtk3 deprecation warnings in unity plugin
Ankit Vani <a@nevitus.org>
parents: 35378
diff changeset
437 ret = gtk_box_new(GTK_ORIENTATION_VERTICAL, 18);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
438 gtk_container_set_border_width(GTK_CONTAINER (ret), 12);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
439
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
440 /* Alerts */
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
441
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
442 frame = pidgin_make_frame(ret, _("Chatroom alerts"));
35534
8e72593def2c Fix gtk_[hv]box_new gtk3 deprecation warnings in unity plugin
Ankit Vani <a@nevitus.org>
parents: 35378
diff changeset
443 vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
444 gtk_container_add(GTK_CONTAINER(frame), vbox);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
445
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
446 toggle = gtk_check_button_new_with_mnemonic(_("Chatroom message alerts _only where someone says your username"));
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
447 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
448 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
449 purple_prefs_get_bool("/plugins/gtk/unity/alert_chat_nick"));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
450 g_signal_connect(G_OBJECT(toggle), "toggled",
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
451 G_CALLBACK(alert_config_cb), NULL);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
452
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
453 /* Launcher integration */
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
454
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
455 frame = pidgin_make_frame(ret, _("Launcher Icon"));
35534
8e72593def2c Fix gtk_[hv]box_new gtk3 deprecation warnings in unity plugin
Ankit Vani <a@nevitus.org>
parents: 35378
diff changeset
456 vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
457 gtk_container_add(GTK_CONTAINER(frame), vbox);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
458
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
459 toggle = gtk_radio_button_new_with_mnemonic(NULL, _("_Disable launcher integration"));
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
460 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
461 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
462 purple_prefs_get_int("/plugins/gtk/unity/launcher_count") == LAUNCHER_COUNT_DISABLE);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
463 g_signal_connect(G_OBJECT(toggle), "toggled",
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
464 G_CALLBACK(launcher_config_cb), GUINT_TO_POINTER(LAUNCHER_COUNT_DISABLE));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
465
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
466 toggle = gtk_radio_button_new_with_mnemonic_from_widget(GTK_RADIO_BUTTON(toggle),
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
467 _("Show number of unread _messages on launcher icon"));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
468 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
469 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
470 purple_prefs_get_int("/plugins/gtk/unity/launcher_count") == LAUNCHER_COUNT_MESSAGES);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
471 g_signal_connect(G_OBJECT(toggle), "toggled",
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
472 G_CALLBACK(launcher_config_cb), GUINT_TO_POINTER(LAUNCHER_COUNT_MESSAGES));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
473
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
474 toggle = gtk_radio_button_new_with_mnemonic_from_widget(GTK_RADIO_BUTTON(toggle),
35317
3c9c77b80a6c Merge the release-2.x.y branch into default.
Mark Doliner <mark@kingant.net>
parents: 35136 35186
diff changeset
475 _("Show number of unread co_nversations on launcher icon"));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
476 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
477 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
478 purple_prefs_get_int("/plugins/gtk/unity/launcher_count") == LAUNCHER_COUNT_SOURCES);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
479 g_signal_connect(G_OBJECT(toggle), "toggled",
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
480 G_CALLBACK(launcher_config_cb), GUINT_TO_POINTER(LAUNCHER_COUNT_SOURCES));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
481
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
482 /* Messaging menu integration */
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
483
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
484 frame = pidgin_make_frame(ret, _("Messaging Menu"));
35534
8e72593def2c Fix gtk_[hv]box_new gtk3 deprecation warnings in unity plugin
Ankit Vani <a@nevitus.org>
parents: 35378
diff changeset
485 vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
486 gtk_container_add(GTK_CONTAINER(frame), vbox);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
487
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
488 toggle = gtk_radio_button_new_with_mnemonic(NULL,
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
489 _("Show number of _unread messages for conversations in messaging menu"));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
490 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
491 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
492 purple_prefs_get_int("/plugins/gtk/unity/messaging_menu_text") == MESSAGING_MENU_COUNT);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
493 g_signal_connect(G_OBJECT(toggle), "toggled",
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
494 G_CALLBACK(messaging_menu_config_cb), GUINT_TO_POINTER(MESSAGING_MENU_COUNT));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
495
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
496 toggle = gtk_radio_button_new_with_mnemonic_from_widget(GTK_RADIO_BUTTON(toggle),
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
497 _("Show _elapsed time for unread conversations in messaging menu"));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
498 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
499 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
500 purple_prefs_get_int("/plugins/gtk/unity/messaging_menu_text") == MESSAGING_MENU_TIME);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
501 g_signal_connect(G_OBJECT(toggle), "toggled",
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
502 G_CALLBACK(messaging_menu_config_cb), GUINT_TO_POINTER(MESSAGING_MENU_TIME));
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
503
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
504 gtk_widget_show_all(ret);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
505 return ret;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
506 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
507
36969
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
508 static PidginPluginInfo *
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
509 plugin_query(GError **error)
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
510 {
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
511 const gchar * const authors[] = {
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
512 "Ankit Vani <a@nevitus.org>",
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
513 NULL
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
514 };
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
515
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
516 return pidgin_plugin_info_new(
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
517 "id", UNITY_PLUGIN_ID,
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
518 "name", N_("Unity Integration"),
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
519 "version", DISPLAY_VERSION,
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
520 "category", N_("Notification"),
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
521 "summary", N_("Provides integration with Unity."),
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
522 "description", N_("Provides integration with Unity's "
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
523 "messaging menu and launcher."),
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
524 "authors", authors,
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
525 "website", PURPLE_WEBSITE,
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
526 "abi-version", PURPLE_ABI_VERSION,
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
527 "gtk-config-frame-cb", get_config_frame,
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
528 NULL
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
529 );
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
530 }
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
531
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
532 static gboolean
36969
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
533 plugin_load(PurplePlugin *plugin, GError **error)
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
534 {
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
535 GList *convs = purple_conversations_get_all();
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
536 PurpleSavedStatus *saved_status;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
537 void *conv_handle = purple_conversations_get_handle();
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
538 void *gtk_conv_handle = pidgin_conversations_get_handle();
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
539 void *savedstat_handle = purple_savedstatuses_get_handle();
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
540
36969
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
541 purple_prefs_add_none("/plugins/gtk");
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
542 purple_prefs_add_none("/plugins/gtk/unity");
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
543 purple_prefs_add_int("/plugins/gtk/unity/launcher_count", LAUNCHER_COUNT_SOURCES);
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
544 purple_prefs_add_int("/plugins/gtk/unity/messaging_menu_text", MESSAGING_MENU_COUNT);
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
545 purple_prefs_add_bool("/plugins/gtk/unity/alert_chat_nick", TRUE);
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
546
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
547 alert_chat_nick = purple_prefs_get_bool("/plugins/gtk/unity/alert_chat_nick");
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
548
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
549 mmapp = messaging_menu_app_new("pidgin.desktop");
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
550 g_object_ref(mmapp);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
551 messaging_menu_app_register(mmapp);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
552 messaging_menu_text = purple_prefs_get_int("/plugins/gtk/unity/messaging_menu_text");
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
553
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
554 g_signal_connect(mmapp, "activate-source",
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
555 G_CALLBACK(message_source_activated), NULL);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
556 g_signal_connect(mmapp, "status-changed",
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
557 G_CALLBACK(messaging_menu_status_changed), NULL);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
558
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
559 saved_status = purple_savedstatus_get_current();
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
560 status_changed_cb(saved_status);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
561
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
562 purple_signal_connect(savedstat_handle, "savedstatus-changed", plugin,
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
563 PURPLE_CALLBACK(status_changed_cb), NULL);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
564
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
565 launcher = unity_launcher_entry_get_for_desktop_id("pidgin.desktop");
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
566 g_object_ref(launcher);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
567 launcher_count = purple_prefs_get_int("/plugins/gtk/unity/launcher_count");
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
568
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
569 purple_signal_connect(gtk_conv_handle, "displayed-im-msg", plugin,
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
570 PURPLE_CALLBACK(message_displayed_cb), NULL);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
571 purple_signal_connect(gtk_conv_handle, "displayed-chat-msg", plugin,
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
572 PURPLE_CALLBACK(message_displayed_cb), NULL);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
573 purple_signal_connect(conv_handle, "sent-im-msg", plugin,
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
574 PURPLE_CALLBACK(im_sent_im), NULL);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
575 purple_signal_connect(conv_handle, "sent-chat-msg", plugin,
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
576 PURPLE_CALLBACK(chat_sent_im), NULL);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
577 purple_signal_connect(conv_handle, "conversation-created", plugin,
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
578 PURPLE_CALLBACK(conv_created), NULL);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
579 purple_signal_connect(conv_handle, "deleting-conversation", plugin,
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
580 PURPLE_CALLBACK(deleting_conv), NULL);
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
581
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
582 while (convs) {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
583 PurpleConversation *conv = (PurpleConversation *)convs->data;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
584 attach_signals(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
585 convs = convs->next;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
586 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
587
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
588 return TRUE;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
589 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
590
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
591 static gboolean
36969
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
592 plugin_unload(PurplePlugin *plugin, GError **error)
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
593 {
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
594 GList *convs = purple_conversations_get_all();
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
595 while (convs) {
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
596 PurpleConversation *conv = (PurpleConversation *)convs->data;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
597 unalert(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
598 detach_signals(conv);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
599 convs = convs->next;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
600 }
35123
3d1148d9cb71 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
601
35122
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
602 unity_launcher_entry_set_count_visible(launcher, FALSE);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
603 messaging_menu_app_unregister(mmapp);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
604
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
605 g_object_unref(launcher);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
606 g_object_unref(mmapp);
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
607 return TRUE;
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
608 }
30af0986aa62 Added the Unity integration plugin
Ankit Vani <a@nevitus.org>
parents:
diff changeset
609
36969
c78437610c6d Refactored unity plugin to use the new plugin API
Ankit Vani <a@nevitus.org>
parents: 35125
diff changeset
610 PURPLE_PLUGIN_INIT(unity, plugin_query, plugin_load, plugin_unload);

mercurial