plugins/notify.c

Thu, 26 Sep 2002 07:37:52 +0000

author
Sean Egan <seanegan@pidgin.im>
date
Thu, 26 Sep 2002 07:37:52 +0000
changeset 3551
acce66c34dbd
parent 3511
df40e7683e79
child 3561
3f829cc98407
permissions
-rw-r--r--

[gaim-migrate @ 3626]
In the interest of continued progress, I pulled what's usable out of my
development tree and am committing it.

Here, we have gotten rid of the plugins dialog and perl menu under Tools and
put them both in preferences. Perl scripts now work like plugins--you have
to load them explicitly (it will probe $prefix/lib/gaim and $HOME/.gaim for
them) and you can unload them (although right now, this is entirely unreliable)
Oh, and I broke all your perl scripts. Sorry about that. Don't try fixing
them yet, though--I'm gonna make unloading single scripts more reliable
tommorow.

I should also finish Phase Two tommorow as well.

3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
1 /* Rewritten by Etan Reisner <deryni@eden.rutgers.edu>
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
2 *
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
3 * Added config dialog
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
4 * Added control over notification method
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
5 * Added control over when to release notification
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
6 *
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
7 * Thanks to Carles Pina i Estany <carles@pinux.info>
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
8 * for count of new messages option
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
9 */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
10
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
11 /* if my flash messages patch gets merged in can use cnv->local
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
12 * to notify on new messages also
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
13 */
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
14
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15 #define GAIM_PLUGINS
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
16 #include "gaim.h"
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17
3428
dac9d27beada [gaim-migrate @ 3454]
Etan Reisner <deryni@pidgin.im>
parents: 3427
diff changeset
18 #include <string.h>
dac9d27beada [gaim-migrate @ 3454]
Etan Reisner <deryni@pidgin.im>
parents: 3427
diff changeset
19 #include <ctype.h>
dac9d27beada [gaim-migrate @ 3454]
Etan Reisner <deryni@pidgin.im>
parents: 3427
diff changeset
20 #include <stdlib.h>
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21 #include <gtk/gtk.h>
3385
994e6baef18e [gaim-migrate @ 3404]
Ben Miller <millebe@cs.earlham.edu>
parents: 3374
diff changeset
22 #include <X11/Xlib.h>
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
23 #include <X11/Xutil.h>
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
24 #include <X11/Xatom.h>
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
25 #include <gdk/gdkx.h>
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
26
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
27 guint choice = 1;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
28 #define NOTIFY_FOCUS 0x00000001
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
29 #define NOTIFY_TYPE 0x00000002
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
30 #define NOTIFY_IN_FOCUS 0x00000004
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
31
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
32 guint method = 1;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
33 #define METHOD_STRING 0x00000001
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
34 #define METHOD_QUOTE 0x00000002
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
35 #define METHOD_URGENT 0x00000004
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
36 #define METHOD_COUNT 0x00000008
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
37
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
38 void *handle;
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
39 /* I really don't like this but I was having trouble getting any
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
40 * other way of removing the signal callbacks to work and not crash gaim
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
41 */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
42 GtkWidget *really_evil_hack;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
43 /* GHashTable *hash = NULL; */
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
44 GtkWidget *Dialog = NULL;
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
45 GtkWidget *Click, *Focus, *Type, *InFocus;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
46 GtkWidget *String, *Count, *Quote, *Urgent, *Entry;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
47 gchar *title_string = "(*) ";
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
48
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
49 /* predefine some functions, less warnings */
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
50 void options(GtkWidget *widget, gpointer data);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
51 void un_star(GtkWidget *widget, gpointer data);
3511
df40e7683e79 [gaim-migrate @ 3583]
Etan Reisner <deryni@pidgin.im>
parents: 3428
diff changeset
52 int un_star_window(GtkWidget *widget, gpointer data);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
53 void string_remove(GtkWidget *widget);
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
54 void count_remove(GtkWidget *widget);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
55 void quote_remove(GtkWidget *widget);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
56 void urgent_remove(struct conversation *c);
3428
dac9d27beada [gaim-migrate @ 3454]
Etan Reisner <deryni@pidgin.im>
parents: 3427
diff changeset
57 int counter (char *buf, int *length);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
58
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
59 int received_im(struct gaim_connection *gc, char **who, char **what, void *m) {
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
60 char buf[256];
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
61 struct conversation *cnv = find_conversation(*who);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
62 GtkWindow *win;
1047
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
63 char *me = g_strdup(normalize(gc->username));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
64 int revert_to_return;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
65 Window focus_return;
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
66 int c, length;
1047
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
67
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
68 if (!strcmp(me, normalize(*who))) {
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
69 g_free(me);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
70 return 0;
1047
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
71 }
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
72 g_free(me);
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
73
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
74 if (cnv == NULL)
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
75 {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
76 if (away_options & OPT_AWAY_QUEUE)
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
77 return 0;
1835
7cda0239e999 [gaim-migrate @ 1845]
Rob Flynn <gaim@robflynn.com>
parents: 1052
diff changeset
78
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
79 cnv = new_conversation(*who);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
80 }
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
81
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
82 win = (GtkWindow *)cnv->window;
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
83
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
84 XGetInputFocus(GDK_WINDOW_XDISPLAY(cnv->window->window), &focus_return, &revert_to_return);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
85
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
86 if ((choice & NOTIFY_IN_FOCUS) || focus_return != GDK_WINDOW_XWINDOW(cnv->window->window)) {
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
87 if (method & METHOD_STRING) {
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
88 strncpy(buf, win->title, sizeof(buf));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
89 if (!strstr(buf, title_string)) {
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
90 g_snprintf(buf, sizeof(buf), "%s%s", title_string, win->title);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
91 gtk_window_set_title(win, buf);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
92 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
93 }
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
94 if (method & METHOD_COUNT) {
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
95 strncpy(buf, win->title, sizeof(buf));
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
96 c = counter(buf, &length);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
97 if (!c) {
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
98 g_snprintf(buf, sizeof(buf), "[1] %s", win->title);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
99 }
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
100 else if (!g_strncasecmp(buf, "[", 1)) {
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
101 g_snprintf(buf, sizeof(buf), "[%d] %s", c+1, &win->title[3+length]);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
102 }
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
103 gtk_window_set_title(win, buf);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
104 }
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
105 if (method & METHOD_QUOTE) {
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
106 strncpy(buf, win->title, sizeof(buf));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
107 if (g_strncasecmp(buf, "\"", 1)) {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
108 g_snprintf(buf, sizeof(buf), "\"%s\"", win->title);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
109 gtk_window_set_title(win, buf);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
110 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
111 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
112 if (method & METHOD_URGENT) {
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
113 /* do it the gdk way for windows compatibility(?) if I can figure it out */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
114 /* Sean says this is a bad thing, and I should try using gtk_property_get first */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
115 /* I'll want to pay attention to note on dev.gnome.org though */
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
116 /* gdk_property_change(win->window, WM_HINTS, WM_HINTS, 32, GDK_PROP_MODE_REPLACE, XUrgencyHint, 1); */
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
117 XWMHints *hints = XGetWMHints(GDK_WINDOW_XDISPLAY(cnv->window->window), GDK_WINDOW_XWINDOW(cnv->window->window));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
118 hints->flags |= XUrgencyHint;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
119 XSetWMHints(GDK_WINDOW_XDISPLAY(cnv->window->window), GDK_WINDOW_XWINDOW(cnv->window->window), hints);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
120 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
121 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
122
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
123 return 0;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
124 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
125
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
126 int sent_im(struct gaim_connection *gc, char *who, char **what, void *m) {
3428
dac9d27beada [gaim-migrate @ 3454]
Etan Reisner <deryni@pidgin.im>
parents: 3427
diff changeset
127 /* char buf[256]; */
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
128 struct conversation *c = find_conversation(who);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
129
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
130 if (method & METHOD_QUOTE)
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
131 quote_remove(c->window);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
132 if (method & METHOD_COUNT)
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
133 count_remove(c->window);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
134 if (method & METHOD_STRING)
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
135 string_remove(c->window);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
136 if (method & METHOD_URGENT)
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
137 urgent_remove(c);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
138 return 0;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
139 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
140
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
141 int new_conv(char *who) {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
142 struct conversation *c = find_conversation(who);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
143
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
144 /* g_hash_table_insert(hash, who, GINT_TO_POINTER(choice)); */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
145
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
146 if (choice & NOTIFY_FOCUS) {
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
147 gtk_signal_connect_while_alive(GTK_OBJECT(c->window), "focus-in-event", GTK_SIGNAL_FUNC(un_star), NULL, GTK_OBJECT(really_evil_hack));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
148 gtk_object_set_user_data(GTK_OBJECT(c->window), c);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
149 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
150 else {
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
151 gtk_signal_connect_while_alive(GTK_OBJECT(c->window), "button_press_event", GTK_SIGNAL_FUNC(un_star), NULL, GTK_OBJECT(really_evil_hack));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
152 gtk_object_set_user_data(GTK_OBJECT(c->window), c);
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
153 gtk_signal_connect_while_alive(GTK_OBJECT(c->text), "button_press_event", GTK_SIGNAL_FUNC(un_star_window), NULL, GTK_OBJECT(really_evil_hack));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
154 gtk_object_set_user_data(GTK_OBJECT(c->text), c);
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
155 gtk_signal_connect_while_alive(GTK_OBJECT(c->entry), "button_press_event", GTK_SIGNAL_FUNC(un_star_window), NULL, GTK_OBJECT(really_evil_hack));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
156 gtk_object_set_user_data(GTK_OBJECT(c->entry), c);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
157 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
158
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
159 if (choice & NOTIFY_TYPE) {
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
160 gtk_signal_connect_while_alive(GTK_OBJECT(c->entry), "key-press-event", GTK_SIGNAL_FUNC(un_star_window), NULL, GTK_OBJECT(really_evil_hack));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
161 gtk_object_set_user_data(GTK_OBJECT(c->entry), (gpointer) c);
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
162 }
3428
dac9d27beada [gaim-migrate @ 3454]
Etan Reisner <deryni@pidgin.im>
parents: 3427
diff changeset
163 return 0;
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
164 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
165
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
166 void un_star(GtkWidget *widget, gpointer data) {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
167 struct conversation *c = gtk_object_get_user_data(GTK_OBJECT(widget));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
168
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
169 if (method & METHOD_QUOTE)
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
170 quote_remove(widget);
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
171 if (method & METHOD_COUNT)
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
172 count_remove(widget);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
173 if (method & METHOD_STRING)
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
174 string_remove(widget);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
175 if (method & METHOD_URGENT)
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
176 urgent_remove(c);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
177 return;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
178 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
179
3511
df40e7683e79 [gaim-migrate @ 3583]
Etan Reisner <deryni@pidgin.im>
parents: 3428
diff changeset
180 int un_star_window(GtkWidget *widget, gpointer data) {
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
181 GtkWidget *parent = gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
182 gtk_object_set_user_data(GTK_OBJECT(parent), gtk_object_get_user_data(GTK_OBJECT(widget)));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
183 un_star(parent, data);
3511
df40e7683e79 [gaim-migrate @ 3583]
Etan Reisner <deryni@pidgin.im>
parents: 3428
diff changeset
184 return 0;
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
185 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
186
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
187 /* This function returns the number in [ ]'s or 0 */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
188 int counter (char *buf, int *length) {
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
189 char temp[256];
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
190 int i = 1;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
191 *length = 0;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
192
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
193 /* if (buf[0] != '[') */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
194 /* return (0); */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
195
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
196 while (isdigit(buf[i]) && i<sizeof(buf)) {
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
197 temp[i-1] = buf[i];
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
198 (*length)++;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
199 i++;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
200 }
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
201 temp[i] = '\0';
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
202
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
203 if (buf[i] != ']') {
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
204 *length = 0;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
205 return (0);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
206 }
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
207
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
208 return (atoi(temp));
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
209 }
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
210
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
211 void string_remove(GtkWidget *widget) {
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
212 char buf[256];
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
213 GtkWindow *win = GTK_WINDOW(widget);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
214
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
215 strncpy(buf, win->title, sizeof(buf));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
216 if (strstr(buf, title_string)) {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
217 g_snprintf(buf, sizeof(buf), "%s", &win->title[strlen(title_string)]);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
218 gtk_window_set_title(win, buf);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
219 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
220 return;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
221 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
222
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
223 void count_remove(GtkWidget *widget) {
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
224 char buf[256];
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
225 GtkWindow *win = GTK_WINDOW(widget);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
226 int length;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
227
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
228 strncpy(buf, win->title, sizeof(buf));
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
229 if (!g_strncasecmp(buf, "[", 1)) {
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
230 counter(buf, &length);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
231 g_snprintf(buf, sizeof(buf), "%s", &win->title[3+length]);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
232 gtk_window_set_title(win, buf);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
233 }
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
234 return;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
235 }
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
236
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
237 void quote_remove(GtkWidget *widget) {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
238 char buf[256];
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
239 GtkWindow *win = GTK_WINDOW(widget);
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
240
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
241 strncpy(buf, win->title, sizeof(buf));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
242 if (!g_strncasecmp(buf, "\"", 1)) {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
243 g_snprintf(buf, strlen(buf) - 1, "%s", &win->title[1]);
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
244 gtk_window_set_title(win, buf);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
245 }
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
246 return;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
247 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
248
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
249 void urgent_remove(struct conversation *c) {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
250 GdkWindow *win = c->window->window;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
251
3428
dac9d27beada [gaim-migrate @ 3454]
Etan Reisner <deryni@pidgin.im>
parents: 3427
diff changeset
252 XWMHints *hints = XGetWMHints(GDK_WINDOW_XDISPLAY(win), GDK_WINDOW_XWINDOW(win));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
253 hints->flags &= ~XUrgencyHint;
3428
dac9d27beada [gaim-migrate @ 3454]
Etan Reisner <deryni@pidgin.im>
parents: 3427
diff changeset
254 XSetWMHints(GDK_WINDOW_XDISPLAY(win), GDK_WINDOW_XWINDOW(win), hints);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
255 return;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
256 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
257
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
258 void save_notify_prefs() {
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
259 gchar buf[1000];
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
260 FILE *fp;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
261
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
262 snprintf(buf, 1000, "%s/.gaim/.notify", getenv("HOME"));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
263 if (!(fp = fopen(buf, "w"))) {
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3511
diff changeset
264 do_eror_dialog(_("Unable to write to config file"), _("Notify plugin"), GAIM_ERROR);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
265 return;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
266 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
267
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
268 fprintf(fp, "%d=CHOICE\n", choice);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
269 fprintf(fp, "%d=METHOD\n", method);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
270 fprintf(fp, "%s=STRING\n", title_string);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
271 fclose(fp);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
272 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
273
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
274 void load_notify_prefs() {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
275 gchar buf[1000];
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
276 gchar **parsed;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
277 FILE *fp;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
278
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
279 g_snprintf(buf, sizeof(buf), "%s/.gaim/.notify", getenv("HOME"));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
280 if (!(fp = fopen(buf, "r")))
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
281 return;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
282
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
283 while (fgets(buf, 1000, fp) != NULL) {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
284 parsed = g_strsplit(g_strchomp(buf), "=", 2);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
285 if (parsed[0] && parsed[1]) {
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
286 if (!strcmp(parsed[1], "CHOICE"))
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
287 choice = atoi(parsed[0]);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
288 if (!strcmp(parsed[1], "METHOD"))
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
289 method = atoi(parsed[0]);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
290 if (!strcmp(parsed[1], "STRING"))
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
291 if (title_string != NULL) g_free(title_string);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
292 title_string = g_strdup(parsed[0]);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
293 }
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
294 g_strfreev(parsed);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
295 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
296 fclose(fp);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
297 return;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
298 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
299
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
300 void options(GtkWidget *widget, gpointer data) {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
301 gint option = GPOINTER_TO_INT(data);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
302
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
303 if (option == 0)
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
304 choice ^= NOTIFY_FOCUS;
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
305 else if (option == 1)
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
306 choice ^= NOTIFY_TYPE;
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
307 else if (option == 2) {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
308 method ^= METHOD_STRING;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
309 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
310 gtk_widget_set_sensitive(Entry, TRUE);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
311 else
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
312 gtk_widget_set_sensitive(Entry, FALSE);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
313 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
314 else if (option == 3)
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
315 method ^= METHOD_QUOTE;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
316 else if (option == 4)
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
317 method ^= METHOD_URGENT;
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
318 else if (option == 5)
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
319 choice ^= NOTIFY_IN_FOCUS;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
320 else if (option == 6)
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
321 method ^= METHOD_COUNT;
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
322 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
323
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
324 void setup_buttons() {
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
325 if (choice & NOTIFY_FOCUS)
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
326 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(Focus), TRUE);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
327 else
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
328 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(Click), TRUE);
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
329 if (choice & NOTIFY_TYPE)
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
330 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(Type), TRUE);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
331 else
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
332 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(Type), FALSE);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
333
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
334 if (method & METHOD_STRING)
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
335 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(String), TRUE);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
336 else
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
337 gtk_widget_set_sensitive(Entry, FALSE);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
338
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
339 if (method & METHOD_QUOTE)
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
340 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(Quote), TRUE);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
341
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
342 if (method & METHOD_URGENT)
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
343 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(Urgent), TRUE);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
344
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
345 if (choice & NOTIFY_IN_FOCUS)
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
346 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(InFocus), TRUE);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
347
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
348 if (method & METHOD_COUNT)
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
349 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(Count), TRUE);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
350
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
351 return;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
352 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
353
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
354 void close_dialog(GtkWidget *widget, gpointer data) {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
355 gint option = GPOINTER_TO_INT(data);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
356
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
357 if (option > 0) {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
358 title_string = g_strdup(gtk_entry_get_text(GTK_ENTRY(Entry)));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
359 save_notify_prefs();
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
360 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
361 else if (option < 0)
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
362 load_notify_prefs();
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
363
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
364 if (Dialog)
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
365 gtk_widget_destroy(Dialog);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
366 Dialog = NULL;
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
367 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
368
1047
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
369 char *gaim_plugin_init(GModule *hndl) {
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
370 handle = hndl;
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
371
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
372 really_evil_hack = gtk_label_new("");
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
373 /* hash = g_hash_table_new(g_str_hash, g_int_equal); */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
374
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
375 load_notify_prefs();
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
376
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
377 gaim_signal_connect(handle, event_im_recv, received_im, NULL);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
378 gaim_signal_connect(handle, event_im_send, sent_im, NULL);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
379 gaim_signal_connect(handle, event_new_conversation, new_conv, NULL);
1052
d02807295cf3 [gaim-migrate @ 1062]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1047
diff changeset
380
d02807295cf3 [gaim-migrate @ 1062]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1047
diff changeset
381 return NULL;
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
382 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
383
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
384 void gaim_plugin_remove() {
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
385 GList *c = conversations;
3428
dac9d27beada [gaim-migrate @ 3454]
Etan Reisner <deryni@pidgin.im>
parents: 3427
diff changeset
386 /* guint options; */
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
387
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
388 gtk_widget_destroy(really_evil_hack);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
389
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
390 while (c) {
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
391 struct conversation *cnv = (struct conversation *)c->data;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
392 /* if (options = GPOINTER_TO_INT(g_hash_table_lookup(hash, cnv->name))) { */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
393 un_star(cnv->window, NULL);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
394 /* if (options & REMOVE_FOCUS) */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
395 /* gtk_signal_disconnect_by_func(GTK_OBJECT(cnv->window), GTK_SIGNAL_FUNC(un_star), NULL); */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
396 /* else { */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
397 /* gtk_signal_disconnect_by_func(GTK_OBJECT(cnv->window), GTK_SIGNAL_FUNC(un_star), NULL); */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
398 /* gtk_signal_disconnect_by_func(GTK_OBJECT(cnv->text), GTK_SIGNAL_FUNC(un_star_window), NULL); */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
399 /* gtk_signal_disconnect_by_func(GTK_OBJECT(cnv->entry), GTK_SIGNAL_FUNC(un_star_window), NULL); */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
400 /* } */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
401 /* if (options & REMOVE_TYPE) */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
402 /* gtk_signal_disconnect_by_func(GTK_OBJECT(cnv->entry), GTK_SIGNAL_FUNC(un_star_window), NULL); */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
403 /* } */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
404 c = c->next;
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
405 }
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
406 }
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
407
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3511
diff changeset
408 struct gaim_plugin_description desc;
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3511
diff changeset
409 struct gaim_plugin_description *gaim_plugin_desc() {
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3511
diff changeset
410 desc.api_version = PLUGIN_API_VERSION;
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3511
diff changeset
411 desc.name = g_strdup("Message Notification");
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3511
diff changeset
412 desc.version = g_strdup(VERSION);
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3511
diff changeset
413 desc.description = g_strdup("Provides a variety of ways of notifying you of unread messages.");
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3511
diff changeset
414 desc.authors = g_strdup("Etan Reisner &lt;deryni@eden.rutgers.edu>");
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3511
diff changeset
415 desc.url = g_strdup(WEBSITE);
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3511
diff changeset
416 return &desc;
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3511
diff changeset
417 }
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3511
diff changeset
418
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
419 char *name() {
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
420 return "Visual Notification";
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
421 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
422
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
423 char *description() {
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
424 return "Puts an asterisk in the title bar of all conversations"
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
425 " where you have not responded to a message yet.";
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
426 }
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
427
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
428 void gaim_plugin_config() {
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
429 GtkWidget *dialog_vbox;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
430 GtkWidget *button, *label;
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
431 GtkWidget *box, *box2, *box3, *box4, *frame;
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
432
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
433 if (Dialog)
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
434 return;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
435
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
436 /* main config dialog */
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
437 Dialog = gtk_dialog_new();
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
438 gtk_window_set_title(GTK_WINDOW(Dialog), "Notify plugin configuration");
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
439 gtk_window_set_policy(GTK_WINDOW(Dialog), FALSE, FALSE, TRUE);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
440 gtk_signal_connect(GTK_OBJECT(Dialog), "destroy", GTK_SIGNAL_FUNC(close_dialog), GINT_TO_POINTER(-1));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
441
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
442 dialog_vbox = GTK_DIALOG(Dialog)->vbox;
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
443
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
444 /* Ok and Cancel buttons */
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
445 box = gtk_hbox_new(FALSE, 8);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
446 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(Dialog)->action_area), box);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
447
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
448 button = gtk_button_new_with_label(_("Cancel"));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
449 gtk_box_pack_end(GTK_BOX(box), button, FALSE, FALSE, 0);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
450 gtk_widget_set_usize(button, 80, -2);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
451 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(close_dialog), GINT_TO_POINTER(0));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
452
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
453 button = gtk_button_new_with_label(_("Ok"));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
454 gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 0);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
455 gtk_widget_set_usize(button, 80, -2);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
456 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(close_dialog), GINT_TO_POINTER(1));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
457
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
458 /* warning label */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
459 label = gtk_label_new(_("Changes in notification removal options take effect only on new conversation windows"));
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
460 gtk_box_pack_start(GTK_BOX(dialog_vbox), label, FALSE, FALSE, 1);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
461
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
462 /* main hbox */
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
463 box = gtk_hbox_new(FALSE, 0);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
464 gtk_box_pack_start(GTK_BOX(dialog_vbox), box, FALSE, FALSE, 0);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
465
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
466 box4 = gtk_vbox_new(FALSE, 0);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
467 gtk_box_pack_start(GTK_BOX(box), box4, FALSE, FALSE, 0);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
468
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
469 /* un-notify choices */
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
470 frame = gtk_frame_new(_("Remove notification when:"));
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
471 gtk_box_pack_start(GTK_BOX(box4), frame, FALSE, FALSE, 0);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
472
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
473 box2 = gtk_vbox_new(FALSE, 0);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
474 gtk_container_add(GTK_CONTAINER(frame), box2);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
475
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
476 Focus = gtk_radio_button_new_with_label(NULL, _("Conversation window gains focus."));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
477 gtk_box_pack_start(GTK_BOX(box2), Focus, FALSE, FALSE, 2);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
478
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
479 Click = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(Focus), _("Conversation window gets clicked."));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
480 gtk_box_pack_start(GTK_BOX(box2), Click, FALSE, FALSE, 2);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
481
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
482 Type = gtk_check_button_new_with_label(_("Type in conversation window"));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
483 gtk_box_pack_start(GTK_BOX(box2), Type, FALSE, FALSE, 2);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
484
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
485 /* notification method choices */
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
486 /* do I need/want any other notification methods? */
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
487 frame = gtk_frame_new(_("Notification method:"));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
488 gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 0);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
489
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
490 box2 = gtk_vbox_new(FALSE, 0);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
491 gtk_container_add(GTK_CONTAINER(frame), box2);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
492
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
493 box3 = gtk_hbox_new(FALSE, 0);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
494 gtk_box_pack_start(GTK_BOX(box2), box3, FALSE, FALSE, 0);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
495
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
496 String = gtk_check_button_new_with_label(_("Insert string into window title:"));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
497 gtk_box_pack_start(GTK_BOX(box3), String, FALSE, FALSE, 0);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
498
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
499 Entry = gtk_entry_new_with_max_length(7);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
500 gtk_box_pack_start(GTK_BOX(box3), Entry, FALSE, FALSE, 0);
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
501 gtk_entry_set_text(GTK_ENTRY(Entry), title_string);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
502
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
503 Quote = gtk_check_button_new_with_label(_("Quote window title."));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
504 gtk_box_pack_start(GTK_BOX(box2), Quote, FALSE, FALSE, 0);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
505
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
506 Urgent = gtk_check_button_new_with_label(_("Send URGENT to window manager."));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
507 gtk_box_pack_start(GTK_BOX(box2), Urgent, FALSE, FALSE, 0);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
508
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
509 label = gtk_label_new(_("Function oddly with tabs:"));
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
510 gtk_box_pack_start(GTK_BOX(box2), label, FALSE, FALSE, 0);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
511
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
512 Count = gtk_check_button_new_with_label(_("Insert count of new messages into window title"));
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
513 gtk_box_pack_start(GTK_BOX(box2), Count, FALSE, FALSE, 0);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
514
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
515 /* general options */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
516 frame = gtk_frame_new(_("General Options"));
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
517 gtk_box_pack_start(GTK_BOX(box4), frame, FALSE, FALSE, 0);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
518
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
519 box = gtk_vbox_new(FALSE, 0);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
520 gtk_container_add(GTK_CONTAINER(frame), box);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
521
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
522 InFocus = gtk_check_button_new_with_label(_("Notify even when window is in focus"));
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
523 gtk_box_pack_start(GTK_BOX(box), InFocus, FALSE, FALSE, 0);
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
524
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
525 /* setup buttons, then attach signals */
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
526 setup_buttons();
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
527 gtk_signal_connect(GTK_OBJECT(Focus), "toggled", GTK_SIGNAL_FUNC(options), GINT_TO_POINTER(0));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
528 gtk_signal_connect(GTK_OBJECT(Type), "toggled", GTK_SIGNAL_FUNC(options), GINT_TO_POINTER(1));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
529 gtk_signal_connect(GTK_OBJECT(String), "toggled", GTK_SIGNAL_FUNC(options), GINT_TO_POINTER(2));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
530 gtk_signal_connect(GTK_OBJECT(Quote), "toggled", GTK_SIGNAL_FUNC(options), GINT_TO_POINTER(3));
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
531 gtk_signal_connect(GTK_OBJECT(Urgent), "toggled", GTK_SIGNAL_FUNC(options), GINT_TO_POINTER(4));
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
532 gtk_signal_connect(GTK_OBJECT(InFocus), "toggled", GTK_SIGNAL_FUNC(options), GINT_TO_POINTER(5));
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
533 gtk_signal_connect(GTK_OBJECT(Count), "toggled", GTK_SIGNAL_FUNC(options), GINT_TO_POINTER(6));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
534
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
535 gtk_widget_show_all(Dialog);
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
536 }

mercurial