Sun, 27 Feb 2005 08:35:11 +0000
[gaim-migrate @ 12153]
GtkGaimStatusBox, a new status selection widget.
It currently sucks. Pretty much just the UI code with enough copy/paste
code hacked in from gtkstatusselector to minimally work.
Minimally work provided you're only using protocol which have already been
updated to handle offline/online as statuses. Which I think is limited to
AIM and Yahoo! right now. Anyway, it's cool.
| 6591 | 1 | #include "module.h" |
| 2 | ||
|
7120
83dba78f8518
[gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents:
6618
diff
changeset
|
3 | MODULE = Gaim::Conversation::Chat PACKAGE = Gaim::Conversation::Chat PREFIX = gaim_conv_chat_ |
| 6591 | 4 | PROTOTYPES: ENABLE |
| 5 | ||
| 6 | Gaim::Conversation::Chat | |
| 7 | new(account, name) | |
| 8 | Gaim::Account account | |
| 9 | const char *name | |
| 10 | CODE: | |
|
7120
83dba78f8518
[gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents:
6618
diff
changeset
|
11 | RETVAL = GAIM_CONV_CHAT(gaim_conversation_new(GAIM_CONV_CHAT, account, name)); |
| 6591 | 12 | OUTPUT: |
| 13 | RETVAL | |
| 14 | ||
| 15 | void | |
| 16 | DESTROY(chat) | |
| 17 | Gaim::Conversation::Chat chat | |
| 18 | CODE: | |
|
7120
83dba78f8518
[gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents:
6618
diff
changeset
|
19 | gaim_conversation_destroy(gaim_conv_chat_get_conversation(chat)); |
| 6591 | 20 | |
| 21 | ||
| 22 | Gaim::Conversation | |
|
7120
83dba78f8518
[gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents:
6618
diff
changeset
|
23 | gaim_conv_chat_get_conversation(chat) |
| 6591 | 24 | Gaim::Conversation::Chat chat |
| 25 | ||
| 26 | void | |
| 27 | users(chat) | |
| 28 | Gaim::Conversation::Chat chat | |
| 29 | PREINIT: | |
| 30 | GList *l; | |
| 31 | PPCODE: | |
|
7120
83dba78f8518
[gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents:
6618
diff
changeset
|
32 | for (l = gaim_conv_chat_get_users(chat); l != NULL; l = l->next) |
| 6591 | 33 | { |
| 34 | XPUSHs(sv_2mortal(newSVpv(l->data, 0))); | |
| 35 | } | |
| 36 | ||
| 37 | void | |
|
7120
83dba78f8518
[gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents:
6618
diff
changeset
|
38 | gaim_conv_chat_ignore(chat, name) |
| 6591 | 39 | Gaim::Conversation::Chat chat |
| 40 | const char *name | |
| 41 | ||
| 42 | void | |
|
7120
83dba78f8518
[gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents:
6618
diff
changeset
|
43 | gaim_conv_chat_unignore(chat, name) |
| 6591 | 44 | Gaim::Conversation::Chat chat |
| 45 | const char *name | |
| 46 | ||
| 47 | void | |
| 48 | ignored_users(chat) | |
| 49 | Gaim::Conversation::Chat chat | |
| 50 | PREINIT: | |
| 51 | GList *l; | |
| 52 | PPCODE: | |
|
7120
83dba78f8518
[gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents:
6618
diff
changeset
|
53 | for (l = gaim_conv_chat_get_ignored(chat); l != NULL; l = l->next) |
| 6591 | 54 | { |
| 55 | XPUSHs(sv_2mortal(newSVpv(l->data, 0))); | |
| 56 | } | |
| 57 | ||
| 58 | gboolean | |
|
7120
83dba78f8518
[gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents:
6618
diff
changeset
|
59 | gaim_conv_chat_is_user_ignored(chat, user) |
| 6591 | 60 | Gaim::Conversation::Chat chat |
| 61 | const char *user | |
| 62 | ||
| 63 | void | |
|
7120
83dba78f8518
[gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents:
6618
diff
changeset
|
64 | gaim_conv_chat_set_topic(chat, who, topic) |
| 6591 | 65 | Gaim::Conversation::Chat chat |
| 66 | const char *who | |
| 67 | const char *topic | |
| 68 | ||
| 69 | const char * | |
|
7120
83dba78f8518
[gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents:
6618
diff
changeset
|
70 | gaim_conv_chat_get_topic(chat) |
| 6591 | 71 | Gaim::Conversation::Chat chat |
| 72 | ||
| 73 | int | |
|
7120
83dba78f8518
[gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents:
6618
diff
changeset
|
74 | gaim_conv_chat_get_id(chat) |
| 6591 | 75 | Gaim::Conversation::Chat chat |
| 76 | ||
| 77 | void | |
|
6615
a16914ede579
[gaim-migrate @ 7139]
Christian Hammond <chipx86@chipx86.com>
parents:
6614
diff
changeset
|
78 | write(chat, who, message, flags) |
| 6591 | 79 | Gaim::Conversation::Chat chat |
| 80 | const char *who | |
| 81 | const char *message | |
| 82 | int flags | |
|
6615
a16914ede579
[gaim-migrate @ 7139]
Christian Hammond <chipx86@chipx86.com>
parents:
6614
diff
changeset
|
83 | CODE: |
|
7120
83dba78f8518
[gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents:
6618
diff
changeset
|
84 | gaim_conv_chat_write(chat, who, message, flags, time(NULL)); |
| 6591 | 85 | |
| 86 | void | |
|
7120
83dba78f8518
[gaim-migrate @ 7687]
Christian Hammond <chipx86@chipx86.com>
parents:
6618
diff
changeset
|
87 | gaim_conv_chat_send(chat, message) |
| 6591 | 88 | Gaim::Conversation::Chat chat |
| 89 | const char *message | |
| 90 | ||
| 91 | ||
|
6618
dc8e64c0f2f1
[gaim-migrate @ 7142]
Christian Hammond <chipx86@chipx86.com>
parents:
6617
diff
changeset
|
92 | MODULE = Gaim::Conversation::Chat PACKAGE = Gaim PREFIX = gaim_ |
| 6591 | 93 | PROTOTYPES: ENABLE |
| 94 | ||
| 95 | void | |
| 96 | chats() | |
| 97 | PREINIT: | |
| 98 | GList *l; | |
| 99 | PPCODE: | |
| 100 | for (l = gaim_get_chats(); l != NULL; l = l->next) | |
| 101 | { | |
| 102 | XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, | |
| 103 | "Gaim::Conversation"))); | |
| 104 | } |