Wed, 13 May 2009 20:29:03 +0000
Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.
|
14022
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
1 | #include <gmodule.h> |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
2 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
3 | #include <gnt.h> |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
4 | #include <gntbox.h> |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
5 | #include <gntentry.h> |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
6 | #include <gntlabel.h> |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
7 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
8 | static gboolean |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
9 | key_pressed(GntEntry *entry, const char *text, gpointer null) |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
10 | { |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
11 | if (*text != '\r') |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
12 | return FALSE; |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
13 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
14 | { |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
15 | const char *cmd; |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
16 | void *handle; |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
17 | void (*func)(); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
18 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
19 | cmd = gnt_entry_get_text(entry); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
20 | handle = g_module_open(cmd, G_MODULE_BIND_LOCAL); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
21 | if (handle && g_module_symbol(handle, "main", (gpointer)&func)) |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
22 | { |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14022
diff
changeset
|
23 | char *argv[] = {cmd, NULL}; |
|
14022
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
24 | gnt_entry_clear(entry); |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14022
diff
changeset
|
25 | func(1, argv); |
|
14022
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
26 | } |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
27 | else |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
28 | { |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
29 | GntWidget *widget = gnt_vbox_new(FALSE); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
30 | gnt_box_set_toplevel(GNT_BOX(widget), TRUE); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
31 | gnt_box_set_title(GNT_BOX(widget), "Error"); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
32 | gnt_box_add_widget(GNT_BOX(widget), gnt_label_new("Could not execute.")); |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14022
diff
changeset
|
33 | gnt_box_add_widget(GNT_BOX(widget), gnt_label_new(g_module_error())); |
|
14022
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
34 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
35 | gnt_widget_show(widget); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
36 | } |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
37 | } |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
38 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
39 | return TRUE; |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
40 | } |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
41 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
42 | int main() |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
43 | { |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
44 | GntWidget *window, *entry; |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
45 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
46 | freopen(".error", "w", stderr); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
47 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
48 | gnt_init(); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
49 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
50 | window = gnt_hbox_new(FALSE); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
51 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
52 | gnt_box_add_widget(GNT_BOX(window), gnt_label_new("Command")); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
53 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
54 | entry = gnt_entry_new(NULL); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
55 | g_signal_connect(G_OBJECT(entry), "key_pressed", G_CALLBACK(key_pressed), NULL); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
56 | gnt_box_add_widget(GNT_BOX(window), entry); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
57 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
58 | gnt_widget_set_position(window, 0, getmaxy(stdscr) - 2); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
59 | gnt_widget_show(window); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
60 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
61 | gnt_main(); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
62 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
63 | gnt_quit(); |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
64 | |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
65 | return 0; |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
66 | } |
|
51776fed1be2
[gaim-migrate @ 16513]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
67 |