Thu, 01 Feb 2018 22:33:16 -0600
Move the MenuAction stuff to the new action.[ch] files
| 15231 | 1 | /* |
| 2 | * Markerline - Draw a line to indicate new messages in a conversation. | |
| 3 | * Copyright (C) 2006 | |
| 4 | * | |
| 5 | * This program is free software; you can redistribute it and/or | |
| 6 | * modify it under the terms of the GNU General Public License as | |
| 7 | * published by the Free Software Foundation; either version 2 of the | |
| 8 | * License, or (at your option) any later version. | |
| 9 | * | |
| 10 | * This program is distributed in the hope that it will be useful, but | |
| 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| 13 | * General Public License for more details. | |
| 14 | * | |
| 15 | * You should have received a copy of the GNU General Public License | |
| 16 | * along with this program; if not, write to the Free Software | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
16749
diff
changeset
|
17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
|
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
16749
diff
changeset
|
18 | * 02111-1301, USA. |
| 15231 | 19 | */ |
| 20 | #include "internal.h" | |
| 21 | ||
| 22 | #define PLUGIN_ID "gtk-plugin_pack-markerline" | |
|
15418
bf287f742a5a
[gaim-migrate @ 18149]
Luke Schierer <lschiere@pidgin.im>
parents:
15231
diff
changeset
|
23 | #define PLUGIN_NAME N_("Markerline") |
|
36757
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
24 | #define PLUGIN_CATEGORY N_("User interface") |
|
25633
feee0c7e503f
Fix some more mis-identified plugins, like 3b3526a0...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
24604
diff
changeset
|
25 | #define PLUGIN_STATIC_NAME Markerline |
|
15418
bf287f742a5a
[gaim-migrate @ 18149]
Luke Schierer <lschiere@pidgin.im>
parents:
15231
diff
changeset
|
26 | #define PLUGIN_SUMMARY N_("Draw a line to indicate new messages in a conversation.") |
|
bf287f742a5a
[gaim-migrate @ 18149]
Luke Schierer <lschiere@pidgin.im>
parents:
15231
diff
changeset
|
27 | #define PLUGIN_DESCRIPTION N_("Draw a line to indicate new messages in a conversation.") |
|
36757
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
28 | #define PLUGIN_AUTHORS {"Sadrul H Chowdhury <sadrul@users.sourceforge.net>", NULL} |
| 15231 | 29 | |
| 30 | /* System headers */ | |
| 31 | #include <gdk/gdk.h> | |
| 32 | #include <glib.h> | |
| 33 | #include <gtk/gtk.h> | |
| 34 | ||
| 15884 | 35 | /* Purple headers */ |
| 15231 | 36 | #include <gtkconv.h> |
| 37 | #include <gtkplugin.h> | |
|
32773
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
38 | #include <gtkwebview.h> |
|
39479
4da996236e9b
Move the MenuAction stuff to the new action.[ch] files
Gary Kramlich <grim@reaperworld.com>
parents:
37123
diff
changeset
|
39 | #include <action.h> |
| 15231 | 40 | #include <version.h> |
| 41 | ||
| 42 | #define PREF_PREFIX "/plugins/gtk/" PLUGIN_ID | |
| 43 | #define PREF_IMS PREF_PREFIX "/ims" | |
| 44 | #define PREF_CHATS PREF_PREFIX "/chats" | |
| 45 | ||
| 46 | static void | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
47 | update_marker_for_gtkconv(PidginConversation *gtkconv) |
| 15231 | 48 | { |
|
32773
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
49 | PurpleConversation *conv; |
|
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
50 | |
| 15231 | 51 | g_return_if_fail(gtkconv != NULL); |
| 52 | ||
|
32773
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
53 | conv = gtkconv->active_conv; |
| 15231 | 54 | |
|
34660
68c776e3436e
Refactored pidgin plugins to use the GObject conversation API
Ankit Vani <a@nevitus.org>
parents:
32773
diff
changeset
|
55 | if ((PURPLE_IS_CHAT_CONVERSATION(conv) && !purple_prefs_get_bool(PREF_CHATS)) || |
|
68c776e3436e
Refactored pidgin plugins to use the GObject conversation API
Ankit Vani <a@nevitus.org>
parents:
32773
diff
changeset
|
56 | (PURPLE_IS_IM_CONVERSATION(conv) && !purple_prefs_get_bool(PREF_IMS))) |
| 15231 | 57 | return; |
| 58 | ||
|
35500
ae6432ea326f
Fixed namespace issues in Pidgin.
Ankit Vani <a@nevitus.org>
parents:
35045
diff
changeset
|
59 | pidgin_webview_safe_execute_script(PIDGIN_WEBVIEW(gtkconv->webview), |
|
32773
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
60 | "var mhr = document.getElementById(\"markerhr\");" |
|
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
61 | "if (!mhr) {" |
|
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
62 | "mhr = document.createElement(\"hr\");" |
|
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
63 | "mhr.setAttribute(\"id\", \"markerhr\");" |
|
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
64 | "mhr.setAttribute(\"color\", \"#ff0000\");" |
|
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
65 | "mhr.setAttribute(\"size\", \"1\");" |
|
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
66 | "}" |
|
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
67 | "document.getElementById(\"Chat\").appendChild(mhr);"); |
| 15231 | 68 | } |
| 69 | ||
| 70 | static gboolean | |
|
35610
24b06c5e7760
Renamed PidginWindow to PidginConvWindow so that introspection associates it with pidgin_conv_window_* API
Ankit Vani <a@nevitus.org>
parents:
35500
diff
changeset
|
71 | focus_removed(GtkWidget *widget, GdkEventVisibility *event, PidginConvWindow *win) |
| 15231 | 72 | { |
| 15884 | 73 | PurpleConversation *conv; |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
74 | PidginConversation *gtkconv; |
| 15231 | 75 | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
76 | conv = pidgin_conv_window_get_active_conversation(win); |
| 15231 | 77 | g_return_val_if_fail(conv != NULL, FALSE); |
| 78 | ||
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
79 | gtkconv = PIDGIN_CONVERSATION(conv); |
| 15231 | 80 | update_marker_for_gtkconv(gtkconv); |
| 81 | ||
| 82 | return FALSE; | |
| 83 | } | |
| 84 | ||
| 85 | static void | |
|
35610
24b06c5e7760
Renamed PidginWindow to PidginConvWindow so that introspection associates it with pidgin_conv_window_* API
Ankit Vani <a@nevitus.org>
parents:
35500
diff
changeset
|
86 | page_switched(GtkWidget *widget, GtkWidget *page, gint num, PidginConvWindow *win) |
| 15231 | 87 | { |
| 88 | focus_removed(NULL, NULL, win); | |
| 89 | } | |
| 90 | ||
| 91 | static void | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
92 | detach_from_gtkconv(PidginConversation *gtkconv, gpointer null) |
| 15231 | 93 | { |
|
35500
ae6432ea326f
Fixed namespace issues in Pidgin.
Ankit Vani <a@nevitus.org>
parents:
35045
diff
changeset
|
94 | pidgin_webview_safe_execute_script(PIDGIN_WEBVIEW(gtkconv->webview), |
|
32773
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
95 | "var mhr = document.getElementById(\"markerhr\");" |
|
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
96 | "if (mhr) mhr.parentNode.removeChild(mhr);"); |
| 15231 | 97 | } |
| 98 | ||
| 99 | static void | |
|
35610
24b06c5e7760
Renamed PidginWindow to PidginConvWindow so that introspection associates it with pidgin_conv_window_* API
Ankit Vani <a@nevitus.org>
parents:
35500
diff
changeset
|
100 | detach_from_pidgin_window(PidginConvWindow *win, gpointer null) |
| 15231 | 101 | { |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
102 | g_list_foreach(pidgin_conv_window_get_gtkconvs(win), (GFunc)detach_from_gtkconv, NULL); |
| 15231 | 103 | g_signal_handlers_disconnect_by_func(G_OBJECT(win->notebook), page_switched, win); |
| 104 | g_signal_handlers_disconnect_by_func(G_OBJECT(win->window), focus_removed, win); | |
| 105 | } | |
| 106 | ||
| 107 | static void | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
108 | attach_to_gtkconv(PidginConversation *gtkconv, gpointer null) |
| 15231 | 109 | { |
| 110 | detach_from_gtkconv(gtkconv, NULL); | |
|
32773
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
111 | update_marker_for_gtkconv(gtkconv); |
| 15231 | 112 | } |
| 113 | ||
| 114 | static void | |
|
35610
24b06c5e7760
Renamed PidginWindow to PidginConvWindow so that introspection associates it with pidgin_conv_window_* API
Ankit Vani <a@nevitus.org>
parents:
35500
diff
changeset
|
115 | attach_to_pidgin_window(PidginConvWindow *win, gpointer null) |
| 15231 | 116 | { |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
117 | g_list_foreach(pidgin_conv_window_get_gtkconvs(win), (GFunc)attach_to_gtkconv, NULL); |
| 15231 | 118 | |
| 119 | g_signal_connect(G_OBJECT(win->window), "focus_out_event", | |
| 120 | G_CALLBACK(focus_removed), win); | |
| 121 | ||
| 122 | g_signal_connect(G_OBJECT(win->notebook), "switch_page", | |
| 123 | G_CALLBACK(page_switched), win); | |
| 124 | } | |
| 125 | ||
| 126 | static void | |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
20288
diff
changeset
|
127 | detach_from_all_windows(void) |
| 15231 | 128 | { |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
129 | g_list_foreach(pidgin_conv_windows_get_list(), (GFunc)detach_from_pidgin_window, NULL); |
| 15231 | 130 | } |
| 131 | ||
| 132 | static void | |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
20288
diff
changeset
|
133 | attach_to_all_windows(void) |
| 15231 | 134 | { |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
135 | g_list_foreach(pidgin_conv_windows_get_list(), (GFunc)attach_to_pidgin_window, NULL); |
| 15231 | 136 | } |
| 137 | ||
| 138 | static void | |
|
24604
6d8cec169c3f
Use a more appropriate signal for the markerline plugin. Fixes #7518.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22809
diff
changeset
|
139 | conv_created(PidginConversation *gtkconv, gpointer null) |
| 15231 | 140 | { |
|
35610
24b06c5e7760
Renamed PidginWindow to PidginConvWindow so that introspection associates it with pidgin_conv_window_* API
Ankit Vani <a@nevitus.org>
parents:
35500
diff
changeset
|
141 | PidginConvWindow *win; |
| 15231 | 142 | |
|
24604
6d8cec169c3f
Use a more appropriate signal for the markerline plugin. Fixes #7518.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22809
diff
changeset
|
143 | win = pidgin_conv_get_window(gtkconv); |
|
6d8cec169c3f
Use a more appropriate signal for the markerline plugin. Fixes #7518.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22809
diff
changeset
|
144 | if (!win) |
| 15231 | 145 | return; |
| 146 | ||
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
147 | detach_from_pidgin_window(win, NULL); |
|
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
148 | attach_to_pidgin_window(win, NULL); |
| 15231 | 149 | } |
| 150 | ||
|
22809
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
151 | static void |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
152 | jump_to_markerline(PurpleConversation *conv, gpointer null) |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
153 | { |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
154 | PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv); |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
155 | |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
156 | if (!gtkconv) |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
157 | return; |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
158 | |
|
35500
ae6432ea326f
Fixed namespace issues in Pidgin.
Ankit Vani <a@nevitus.org>
parents:
35045
diff
changeset
|
159 | pidgin_webview_safe_execute_script(PIDGIN_WEBVIEW(gtkconv->webview), |
|
32773
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
160 | "var mhr = document.getElementById(\"markerhr\");" |
|
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
161 | "if (mhr) {" |
|
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
162 | "window.scroll(0, mhr.offsetTop);" |
|
6700409ec3a3
JS-ify the markerline plugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31294
diff
changeset
|
163 | "}"); |
|
22809
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
164 | } |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
165 | |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
166 | static void |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
167 | conv_menu_cb(PurpleConversation *conv, GList **list) |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
168 | { |
|
34660
68c776e3436e
Refactored pidgin plugins to use the GObject conversation API
Ankit Vani <a@nevitus.org>
parents:
32773
diff
changeset
|
169 | gboolean enabled = ((PURPLE_IS_IM_CONVERSATION(conv) && purple_prefs_get_bool(PREF_IMS)) || |
|
68c776e3436e
Refactored pidgin plugins to use the GObject conversation API
Ankit Vani <a@nevitus.org>
parents:
32773
diff
changeset
|
170 | (PURPLE_IS_CHAT_CONVERSATION(conv) && purple_prefs_get_bool(PREF_CHATS))); |
|
22809
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
171 | PurpleMenuAction *action = purple_menu_action_new(_("Jump to markerline"), |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
172 | enabled ? PURPLE_CALLBACK(jump_to_markerline) : NULL, NULL, NULL); |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
173 | *list = g_list_append(*list, action); |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
174 | } |
|
c2b010c50376
Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22104
diff
changeset
|
175 | |
| 15884 | 176 | static PurplePluginPrefFrame * |
| 177 | get_plugin_pref_frame(PurplePlugin *plugin) | |
| 15231 | 178 | { |
| 15884 | 179 | PurplePluginPrefFrame *frame; |
| 180 | PurplePluginPref *pref; | |
| 15231 | 181 | |
| 15884 | 182 | frame = purple_plugin_pref_frame_new(); |
| 15231 | 183 | |
| 15884 | 184 | pref = purple_plugin_pref_new_with_label(_("Draw Markerline in ")); |
| 185 | purple_plugin_pref_frame_add(frame, pref); | |
| 15231 | 186 | |
| 15884 | 187 | pref = purple_plugin_pref_new_with_name_and_label(PREF_IMS, |
| 15231 | 188 | _("_IM windows")); |
| 15884 | 189 | purple_plugin_pref_frame_add(frame, pref); |
| 15231 | 190 | |
| 15884 | 191 | pref = purple_plugin_pref_new_with_name_and_label(PREF_CHATS, |
| 15231 | 192 | _("C_hat windows")); |
| 15884 | 193 | purple_plugin_pref_frame_add(frame, pref); |
| 15231 | 194 | |
| 195 | return frame; | |
| 196 | } | |
| 197 | ||
|
36757
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
198 | static PidginPluginInfo * |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
199 | plugin_query(GError **error) |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
200 | { |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
201 | const gchar * const authors[] = PLUGIN_AUTHORS; |
| 15231 | 202 | |
|
36757
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
203 | return pidgin_plugin_info_new( |
|
36934
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36929
diff
changeset
|
204 | "id", PLUGIN_ID, |
|
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36929
diff
changeset
|
205 | "name", PLUGIN_NAME, |
|
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36929
diff
changeset
|
206 | "version", DISPLAY_VERSION, |
|
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36929
diff
changeset
|
207 | "category", PLUGIN_CATEGORY, |
|
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36929
diff
changeset
|
208 | "summary", PLUGIN_SUMMARY, |
|
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36929
diff
changeset
|
209 | "description", PLUGIN_DESCRIPTION, |
|
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36929
diff
changeset
|
210 | "authors", authors, |
|
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36929
diff
changeset
|
211 | "website", PURPLE_WEBSITE, |
|
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36929
diff
changeset
|
212 | "abi-version", PURPLE_ABI_VERSION, |
|
e7268aeb3b89
Renamed plugin info callback properties to end with "-cb", and their respective symbols.
Ankit Vani <a@nevitus.org>
parents:
36929
diff
changeset
|
213 | "pref-frame-cb", get_plugin_pref_frame, |
|
36757
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
214 | NULL |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
215 | ); |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
216 | } |
| 15231 | 217 | |
|
36757
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
218 | static gboolean |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
219 | plugin_load(PurplePlugin *plugin, GError **error) |
| 15231 | 220 | { |
| 15884 | 221 | purple_prefs_add_none(PREF_PREFIX); |
| 222 | purple_prefs_add_bool(PREF_IMS, FALSE); | |
| 223 | purple_prefs_add_bool(PREF_CHATS, TRUE); | |
|
36757
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
224 | |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
225 | attach_to_all_windows(); |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
226 | |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
227 | purple_signal_connect(pidgin_conversations_get_handle(), "conversation-displayed", |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
228 | plugin, PURPLE_CALLBACK(conv_created), NULL); |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
229 | |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
230 | purple_signal_connect(purple_conversations_get_handle(), "conversation-extended-menu", |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
231 | plugin, PURPLE_CALLBACK(conv_menu_cb), NULL); |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
232 | return TRUE; |
| 15231 | 233 | } |
| 234 | ||
|
36757
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
235 | static gboolean |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
236 | plugin_unload(PurplePlugin *plugin, GError **error) |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
237 | { |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
238 | detach_from_all_windows(); |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
239 | |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
240 | return TRUE; |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
241 | } |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
242 | |
|
2e04586cf6e8
Refactored some pidgin plugins to use the new plugin API
Ankit Vani <a@nevitus.org>
parents:
34660
diff
changeset
|
243 | PURPLE_PLUGIN_INIT(PLUGIN_STATIC_NAME, plugin_query, plugin_load, plugin_unload); |