plugins/perl/common/ConvWindow.xs

Sun, 17 Oct 2004 23:55:49 +0000

author
Sean Egan <seanegan@pidgin.im>
date
Sun, 17 Oct 2004 23:55:49 +0000
changeset 10108
0897c42d6cb9
parent 7120
83dba78f8518
child 10856
5956b7883cad
permissions
-rw-r--r--

[gaim-migrate @ 11141]
Two things:
a. Added Enter as a gtk_binding to GtkIMHtml. This fixes everything.
Input methods now work. The "Enter sends" and "Ctrl-Enter sends" preferences
were removed and defaulted to yes and no respectively, BUT, in a very super-cool
turn of events, you can now add your own bindings to .gtkrc to make WHATEVER
YOU WANT send. Awesome. Someone should use g_signal_accumulator_true_handled
or something to make profiles and away messages able to insert newlines.

b. Removed "Use multi-colored screennames in chats," defaulted to yes, and
wrote a nifty algorithm to automatically adjust the colors to accomodate the
background (see http://gaim.sf.net/sean/porn-chat.png). People should play
around and tweak it a bit. The algorithm takes into consideration the
luminosity of the current background and the base hue to use for the screenname
in generating the new colors. Note that it does this while maintaining the hues.
Someone should optimize this so it skips over the floating point arithmatic when
the background color is white.

6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 #include "module.h"
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
3 MODULE = Gaim::ConvWindow PACKAGE = Gaim::ConvWindow PREFIX = gaim_conv_window_
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 PROTOTYPES: ENABLE
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
5
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 Gaim::ConvWindow
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
7 gaim_conv_window_new()
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9 void
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 DESTROY(win)
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 Gaim::ConvWindow win
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 CODE:
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
13 gaim_conv_window_destroy(win);
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 void
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
17 gaim_conv_window_show(win)
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 Gaim::ConvWindow win
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 void
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
21 gaim_conv_window_hide(win)
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 Gaim::ConvWindow win
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
23
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 void
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
25 gaim_conv_window_raise(win)
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
26 Gaim::ConvWindow win
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
28 void
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
29 gaim_conv_window_flash(win)
6614
12817c60464d [gaim-migrate @ 7138]
Christian Hammond <chipx86@chipx86.com>
parents: 6591
diff changeset
30 Gaim::ConvWindow win
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32 int
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
33 gaim_conv_window_add_conversation(win, conv)
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
34 Gaim::ConvWindow win
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35 Gaim::Conversation conv
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
37 Gaim::Conversation
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
38 gaim_conv_window_remove_conversation(win, index)
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
39 Gaim::ConvWindow win
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40 unsigned int index
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
42 void
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
43 gaim_conv_window_move_conversation(win, index, new_index)
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44 Gaim::ConvWindow win
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
45 unsigned int index
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46 unsigned int new_index
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
48 Gaim::Conversation
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
49 gaim_conv_window_get_conversation_at(win, index)
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50 Gaim::ConvWindow win
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
51 unsigned int index
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
52
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53 size_t
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
54 gaim_conv_window_get_conversation_count(win)
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
55 Gaim::ConvWindow win
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
56
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
57 void
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
58 gaim_conv_window_switch_conversation(win, index)
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
59 Gaim::ConvWindow win
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
60 unsigned int index
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
61
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
62 Gaim::Conversation
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
63 gaim_conv_window_get_active_conversation(win)
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
64 Gaim::ConvWindow win
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
65
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
66 void
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
67 conversations(win)
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
68 Gaim::ConvWindow win
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
69 PREINIT:
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
70 GList *l;
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
71 CODE:
7120
83dba78f8518 [gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents: 6614
diff changeset
72 for (l = gaim_conv_window_get_conversations(win); l != NULL; l = l->next)
6591
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
73 {
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
74 XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data,
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
75 "Gaim::Conversation")));
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
76 }
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
77
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
78
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
79 MODULE = Gaim::ConvWindow PACKAGE = Gaim PREFIX = gaim_
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
80 PROTOTYPES: ENABLE
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
81
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
82 void
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
83 conv_windows()
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
84 PREINIT:
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
85 GList *l;
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
86 CODE:
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
87 for (l = gaim_get_windows(); l != NULL; l = l->next)
cc1ab32edcdc [gaim-migrate @ 7115]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
88 XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ConvWindow")));

mercurial