pidgin/plugins/markerline.c

Mon, 08 Jun 2009 02:24:49 +0000

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Mon, 08 Jun 2009 02:24:49 +0000
changeset 27314
402d25ce01da
parent 26820
76f90ca8f6f2
child 30564
2986d70c9063
permissions
-rw-r--r--

Use the JID for adding a chat/buddy because the name is for descriptive
purpose only, and using it will not fill in the Add Chat dialog correctly.
Because the JID is not visible, the user will not know what to actually put
there instead.

15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Markerline - Draw a line to indicate new messages in a conversation.
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) 2006
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * This program is free software; you can redistribute it and/or
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * modify it under the terms of the GNU General Public License as
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * published by the Free Software Foundation; either version 2 of the
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 * License, or (at your option) any later version.
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 *
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * This program is distributed in the hope that it will be useful, but
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 * General Public License for more details.
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 *
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
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
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 #include "internal.h"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
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")
25633
feee0c7e503f Fix some more mis-identified plugins, like 3b3526a0...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24604
diff changeset
24 #define PLUGIN_STATIC_NAME Markerline
15418
bf287f742a5a [gaim-migrate @ 18149]
Luke Schierer <lschiere@pidgin.im>
parents: 15231
diff changeset
25 #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
26 #define PLUGIN_DESCRIPTION N_("Draw a line to indicate new messages in a conversation.")
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 #define PLUGIN_AUTHOR "Sadrul H Chowdhury <sadrul@users.sourceforge.net>"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29 /* System headers */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 #include <gdk/gdk.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31 #include <glib.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32 #include <gtk/gtk.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
34 /* Purple headers */
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35 #include <gtkconv.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36 #include <gtkimhtml.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 #include <gtkplugin.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38 #include <version.h>
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 #define PREF_PREFIX "/plugins/gtk/" PLUGIN_ID
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 #define PREF_IMS PREF_PREFIX "/ims"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42 #define PREF_CHATS PREF_PREFIX "/chats"
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44 static int
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
45 imhtml_expose_cb(GtkWidget *widget, GdkEventExpose *event, PidginConversation *gtkconv)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 int y, last_y, offset;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 GdkRectangle visible_rect;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49 GtkTextIter iter;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 GdkRectangle buf;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 int pad;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
52 PurpleConversation *conv = gtkconv->active_conv;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
53 PurpleConversationType type = purple_conversation_get_type(conv);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
55 if ((type == PURPLE_CONV_TYPE_CHAT && !purple_prefs_get_bool(PREF_CHATS)) ||
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
56 (type == PURPLE_CONV_TYPE_IM && !purple_prefs_get_bool(PREF_IMS)))
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57 return FALSE;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 gtk_text_view_get_visible_rect(GTK_TEXT_VIEW(widget), &visible_rect);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 offset = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "markerline"));
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 if (offset)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 gtk_text_buffer_get_iter_at_offset(gtk_text_view_get_buffer(GTK_TEXT_VIEW(widget)),
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 &iter, offset);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 gtk_text_view_get_iter_location(GTK_TEXT_VIEW(widget), &iter, &buf);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 last_y = buf.y + buf.height;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 pad = (gtk_text_view_get_pixels_below_lines(GTK_TEXT_VIEW(widget)) +
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 gtk_text_view_get_pixels_above_lines(GTK_TEXT_VIEW(widget))) / 2;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 last_y += pad;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 else
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 last_y = 0;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76 gtk_text_view_buffer_to_window_coords(GTK_TEXT_VIEW(widget), GTK_TEXT_WINDOW_TEXT,
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 0, last_y, 0, &y);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 if (y >= event->area.y)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81 GdkColor red = {0, 0xffff, 0, 0};
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 GdkGC *gc = gdk_gc_new(GDK_DRAWABLE(event->window));
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 gdk_gc_set_rgb_fg_color(gc, &red);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 gdk_draw_line(event->window, gc,
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86 0, y, visible_rect.width, y);
26820
76f90ca8f6f2 Use g_object_ref/unref instead of the deprecated versions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25633
diff changeset
87 g_object_unref(G_OBJECT(gc));
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89 return FALSE;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
93 update_marker_for_gtkconv(PidginConversation *gtkconv)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95 GtkTextIter iter;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
96 GtkTextBuffer *buffer;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97 g_return_if_fail(gtkconv != NULL);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99 buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(gtkconv->imhtml));
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
100
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
101 if (!gtk_text_buffer_get_char_count(buffer))
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
102 return;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 gtk_text_buffer_get_end_iter(buffer, &iter);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106 g_object_set_data(G_OBJECT(gtkconv->imhtml), "markerline",
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107 GINT_TO_POINTER(gtk_text_iter_get_offset(&iter)));
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
108 gtk_widget_queue_draw(gtkconv->imhtml);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
111 static gboolean
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
112 focus_removed(GtkWidget *widget, GdkEventVisibility *event, PidginWindow *win)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
113 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
114 PurpleConversation *conv;
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
115 PidginConversation *gtkconv;
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
116
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
117 conv = pidgin_conv_window_get_active_conversation(win);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
118 g_return_val_if_fail(conv != NULL, FALSE);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
119
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
120 gtkconv = PIDGIN_CONVERSATION(conv);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
121 update_marker_for_gtkconv(gtkconv);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
122
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
123 return FALSE;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
124 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
125
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
126 #if 0
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
127 static gboolean
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
128 window_resized(GtkWidget *w, GdkEventConfigure *event, PidginWindow *win)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
129 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
130 GList *list;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
131
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
132 list = pidgin_conv_window_get_gtkconvs(win);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
133
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
134 for (; list; list = list->next)
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
135 update_marker_for_gtkconv(list->data);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
136
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
137 return FALSE;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
138 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
139
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
140 static gboolean
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
141 imhtml_resize_cb(GtkWidget *w, GtkAllocation *allocation, PidginConversation *gtkconv)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
142 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
143 gtk_widget_queue_draw(w);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
144 return FALSE;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
145 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
146 #endif
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
147
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
148 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
149 page_switched(GtkWidget *widget, GtkWidget *page, gint num, PidginWindow *win)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
150 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
151 focus_removed(NULL, NULL, win);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
152 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
153
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
154 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
155 detach_from_gtkconv(PidginConversation *gtkconv, gpointer null)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
156 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
157 g_signal_handlers_disconnect_by_func(G_OBJECT(gtkconv->imhtml), imhtml_expose_cb, gtkconv);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
158 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
159
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
160 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
161 detach_from_pidgin_window(PidginWindow *win, gpointer null)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
162 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
163 g_list_foreach(pidgin_conv_window_get_gtkconvs(win), (GFunc)detach_from_gtkconv, NULL);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
164 g_signal_handlers_disconnect_by_func(G_OBJECT(win->notebook), page_switched, win);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
165 g_signal_handlers_disconnect_by_func(G_OBJECT(win->window), focus_removed, win);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
166
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
167 gtk_widget_queue_draw(win->window);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
168 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
169
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
170 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
171 attach_to_gtkconv(PidginConversation *gtkconv, gpointer null)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
172 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
173 detach_from_gtkconv(gtkconv, NULL);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
174 g_signal_connect(G_OBJECT(gtkconv->imhtml), "expose_event",
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
175 G_CALLBACK(imhtml_expose_cb), gtkconv);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
176 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
177
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
178 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
179 attach_to_pidgin_window(PidginWindow *win, gpointer null)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
180 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
181 g_list_foreach(pidgin_conv_window_get_gtkconvs(win), (GFunc)attach_to_gtkconv, NULL);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
182
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
183 g_signal_connect(G_OBJECT(win->window), "focus_out_event",
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
184 G_CALLBACK(focus_removed), win);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
185
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
186 g_signal_connect(G_OBJECT(win->notebook), "switch_page",
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
187 G_CALLBACK(page_switched), win);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
188
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
189 gtk_widget_queue_draw(win->window);
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
190 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
191
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
192 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
193 detach_from_all_windows(void)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
194 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
195 g_list_foreach(pidgin_conv_windows_get_list(), (GFunc)detach_from_pidgin_window, NULL);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
196 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
197
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
198 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
199 attach_to_all_windows(void)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
200 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
201 g_list_foreach(pidgin_conv_windows_get_list(), (GFunc)attach_to_pidgin_window, NULL);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
202 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
203
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
204 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
205 conv_created(PidginConversation *gtkconv, gpointer null)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
206 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
207 PidginWindow *win;
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
208
24604
6d8cec169c3f Use a more appropriate signal for the markerline plugin. Fixes #7518.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22809
diff changeset
209 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
210 if (!win)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
211 return;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
212
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
213 detach_from_pidgin_window(win, NULL);
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
214 attach_to_pidgin_window(win, NULL);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
215 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
216
22809
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
217 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
218 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
219 {
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
220 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
221 int offset;
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
222 GtkTextIter iter;
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
223
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
224 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
225 return;
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
226
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
227 offset = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(gtkconv->imhtml), "markerline"));
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
228 gtk_text_buffer_get_iter_at_offset(GTK_IMHTML(gtkconv->imhtml)->text_buffer, &iter, offset);
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
229 gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(gtkconv->imhtml), &iter, 0, TRUE, 0, 0);
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
230 }
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
231
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
232 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
233 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
234 {
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
235 PurpleConversationType type = purple_conversation_get_type(conv);
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
236 gboolean enabled = ((type == PURPLE_CONV_TYPE_IM && purple_prefs_get_bool(PREF_IMS)) ||
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
237 (type == PURPLE_CONV_TYPE_CHAT && purple_prefs_get_bool(PREF_CHATS)));
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
238 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
239 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
240 *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
241 }
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
242
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
243 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
244 plugin_load(PurplePlugin *plugin)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
245 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
246 attach_to_all_windows();
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
247
24604
6d8cec169c3f Use a more appropriate signal for the markerline plugin. Fixes #7518.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22809
diff changeset
248 purple_signal_connect(pidgin_conversations_get_handle(), "conversation-displayed",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
249 plugin, PURPLE_CALLBACK(conv_created), NULL);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
250
22809
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
251 purple_signal_connect(purple_conversations_get_handle(), "conversation-extended-menu",
c2b010c50376 Add a 'Jump to markerline' option in the conversation window menu to
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
252 plugin, PURPLE_CALLBACK(conv_menu_cb), NULL);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
253 return TRUE;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
254 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
255
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
256 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
257 plugin_unload(PurplePlugin *plugin)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
258 {
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
259 detach_from_all_windows();
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
260
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
261 return TRUE;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
262 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
263
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
264 static PurplePluginPrefFrame *
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
265 get_plugin_pref_frame(PurplePlugin *plugin)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
266 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
267 PurplePluginPrefFrame *frame;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
268 PurplePluginPref *pref;
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
269
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
270 frame = purple_plugin_pref_frame_new();
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
271
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
272 pref = purple_plugin_pref_new_with_label(_("Draw Markerline in "));
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
273 purple_plugin_pref_frame_add(frame, pref);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
274
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
275 pref = purple_plugin_pref_new_with_name_and_label(PREF_IMS,
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
276 _("_IM windows"));
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
277 purple_plugin_pref_frame_add(frame, pref);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
278
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
279 pref = purple_plugin_pref_new_with_name_and_label(PREF_CHATS,
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
280 _("C_hat windows"));
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
281 purple_plugin_pref_frame_add(frame, pref);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
282
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
283 return frame;
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
284 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
285
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
286 static PurplePluginUiInfo prefs_info = {
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
287 get_plugin_pref_frame,
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
288 0,
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
289 NULL,
16749
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
290
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
291 /* padding */
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
292 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
293 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
294 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
295 NULL
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
296 };
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
297
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
298 static PurplePluginInfo info = {
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
299 PURPLE_PLUGIN_MAGIC, /* Magic */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
300 PURPLE_MAJOR_VERSION, /* Purple Major Version */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
301 PURPLE_MINOR_VERSION, /* Purple Minor Version */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
302 PURPLE_PLUGIN_STANDARD, /* plugin type */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
303 PIDGIN_PLUGIN_TYPE, /* ui requirement */
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
304 0, /* flags */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
305 NULL, /* dependencies */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
306 PURPLE_PRIORITY_DEFAULT, /* priority */
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
307
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
308 PLUGIN_ID, /* plugin id */
15418
bf287f742a5a [gaim-migrate @ 18149]
Luke Schierer <lschiere@pidgin.im>
parents: 15231
diff changeset
309 PLUGIN_NAME, /* name */
20288
5ca925a094e2 applied changes from 03b709ec2a153e7e82719df0ba4635108bb1d3c6
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19859
diff changeset
310 DISPLAY_VERSION, /* version */
15418
bf287f742a5a [gaim-migrate @ 18149]
Luke Schierer <lschiere@pidgin.im>
parents: 15231
diff changeset
311 PLUGIN_SUMMARY, /* summary */
bf287f742a5a [gaim-migrate @ 18149]
Luke Schierer <lschiere@pidgin.im>
parents: 15231
diff changeset
312 PLUGIN_DESCRIPTION, /* description */
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
313 PLUGIN_AUTHOR, /* author */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
314 PURPLE_WEBSITE, /* website */
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
315
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
316 plugin_load, /* load */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
317 plugin_unload, /* unload */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
318 NULL, /* destroy */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
319
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
320 NULL, /* ui_info */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
321 NULL, /* extra_info */
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
322 &prefs_info, /* prefs_info */
16749
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
323 NULL, /* actions */
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
324
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
325 /* padding */
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
326 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
327 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
328 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
329 NULL
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
330 };
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
331
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
332 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
333 init_plugin(PurplePlugin *plugin)
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
334 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
335 purple_prefs_add_none(PREF_PREFIX);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
336 purple_prefs_add_bool(PREF_IMS, FALSE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
337 purple_prefs_add_bool(PREF_CHATS, TRUE);
15231
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
338 }
f13829d20a13 [gaim-migrate @ 17955]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
339
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15563
diff changeset
340 PURPLE_INIT_PLUGIN(PLUGIN_STATIC_NAME, init_plugin, info)

mercurial