Tue, 17 Oct 2006 20:44:05 +0000
[gaim-migrate @ 17501]
This should fix the problem that my last commit introduced. Having the base
primitive status of a saved status selected in the dropdown sounded like a
pretty good idea, only it broke actually selecting that primitive once the
saved status was selected. So any saved status based off of the Away primitive
locked you out from being able to choose the Away primitive when that saved
status was selected. So go back to selecting nothing for saved statuses.
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
1 | /** |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
2 | * @file gntconv.c GNT Conversation API |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
3 | * @ingroup gntui |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
4 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
5 | * gaim |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
6 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
7 | * Gaim is the legal property of its developers, whose names are too numerous |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
8 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
9 | * source distribution. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
10 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
11 | * This program is free software; you can redistribute it and/or modify |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
12 | * it under the terms of the GNU General Public License as published by |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
13 | * the Free Software Foundation; either version 2 of the License, or |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
14 | * (at your option) any later version. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
15 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
16 | * This program is distributed in the hope that it will be useful, |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
19 | * GNU General Public License for more details. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
20 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
21 | * You should have received a copy of the GNU General Public License |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
22 | * along with this program; if not, write to the Free Software |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
24 | */ |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
25 | #include <string.h> |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
26 | |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
27 | #include <cmds.h> |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
28 | #include <prefs.h> |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
29 | #include <util.h> |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
30 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
31 | #include "gntgaim.h" |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
32 | #include "gntaccount.h" |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
33 | #include "gntblist.h" |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
34 | #include "gntconv.h" |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
35 | #include "gntdebug.h" |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
36 | #include "gntplugin.h" |
|
14121
3d8804b82150
[gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14109
diff
changeset
|
37 | #include "gntprefs.h" |
|
14188
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14153
diff
changeset
|
38 | #include "gntstatus.h" |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
39 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
40 | #include "gnt.h" |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
41 | #include "gntbox.h" |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
42 | #include "gntentry.h" |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
43 | #include "gnttextview.h" |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
44 | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
45 | #define PREF_ROOT "/gaim/gnt/conversations" |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
46 | |
|
14253
b63ebf84c42b
This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
14188
diff
changeset
|
47 | #include "config.h" |
|
b63ebf84c42b
This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
14188
diff
changeset
|
48 | |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
49 | static gboolean |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
50 | entry_key_pressed(GntWidget *w, const char *key, GGConv *ggconv) |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
51 | { |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
52 | if (key[0] == '\r' && key[1] == 0) |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
53 | { |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
54 | const char *text = gnt_entry_get_text(GNT_ENTRY(ggconv->entry)); |
|
14000
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
55 | if (*text == '/') |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
56 | { |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
57 | GaimConversation *conv = ggconv->active_conv; |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
58 | GaimCmdStatus status; |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
59 | const char *cmdline = text + 1; |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
60 | char *error = NULL, *escape; |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
61 | |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
62 | escape = g_markup_escape_text(cmdline, -1); |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
63 | status = gaim_cmd_do_command(conv, cmdline, escape, &error); |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
64 | g_free(escape); |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
65 | |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
66 | switch (status) |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
67 | { |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
68 | case GAIM_CMD_STATUS_OK: |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
69 | break; |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
70 | case GAIM_CMD_STATUS_NOT_FOUND: |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
71 | gaim_conversation_write(conv, "", _("No such command."), |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
72 | GAIM_MESSAGE_NO_LOG, time(NULL)); |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
73 | break; |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
74 | case GAIM_CMD_STATUS_WRONG_ARGS: |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
75 | gaim_conversation_write(conv, "", _("Syntax Error: You typed the wrong number of arguments " |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
76 | "to that command."), |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
77 | GAIM_MESSAGE_NO_LOG, time(NULL)); |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
78 | break; |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
79 | case GAIM_CMD_STATUS_FAILED: |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
80 | gaim_conversation_write(conv, "", error ? error : _("Your command failed for an unknown reason."), |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
81 | GAIM_MESSAGE_NO_LOG, time(NULL)); |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
82 | break; |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
83 | case GAIM_CMD_STATUS_WRONG_TYPE: |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
84 | if(gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_IM) |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
85 | gaim_conversation_write(conv, "", _("That command only works in chats, not IMs."), |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
86 | GAIM_MESSAGE_NO_LOG, time(NULL)); |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
87 | else |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
88 | gaim_conversation_write(conv, "", _("That command only works in IMs, not chats."), |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
89 | GAIM_MESSAGE_NO_LOG, time(NULL)); |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
90 | break; |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
91 | case GAIM_CMD_STATUS_WRONG_PRPL: |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
92 | gaim_conversation_write(conv, "", _("That command doesn't work on this protocol."), |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
93 | GAIM_MESSAGE_NO_LOG, time(NULL)); |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
94 | break; |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
95 | } |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
96 | g_free(error); |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
97 | #if 0 |
|
14000
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
98 | gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
99 | _("Commands are not supported yet. Message was NOT sent."), |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
100 | GNT_TEXT_FLAG_DIM | GNT_TEXT_FLAG_UNDERLINE); |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
101 | gnt_text_view_next_line(GNT_TEXT_VIEW(ggconv->tv)); |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
102 | gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 0); |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
103 | #endif |
|
14000
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
104 | } |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
105 | else |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
106 | { |
|
14109
1af2b9d5ef3f
[gaim-migrate @ 16660]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14092
diff
changeset
|
107 | char *escape = g_markup_escape_text(text, -1); |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
108 | switch (gaim_conversation_get_type(ggconv->active_conv)) |
|
14000
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
109 | { |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
110 | case GAIM_CONV_TYPE_IM: |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
111 | gaim_conv_im_send_with_flags(GAIM_CONV_IM(ggconv->active_conv), escape, GAIM_MESSAGE_SEND); |
|
14000
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
112 | break; |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
113 | case GAIM_CONV_TYPE_CHAT: |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
114 | gaim_conv_chat_send(GAIM_CONV_CHAT(ggconv->active_conv), escape); |
|
14000
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
115 | break; |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
116 | default: |
|
14109
1af2b9d5ef3f
[gaim-migrate @ 16660]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14092
diff
changeset
|
117 | g_free(escape); |
|
14000
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
118 | g_return_val_if_reached(FALSE); |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
119 | } |
|
14109
1af2b9d5ef3f
[gaim-migrate @ 16660]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14092
diff
changeset
|
120 | g_free(escape); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
121 | } |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
122 | gnt_entry_add_to_history(GNT_ENTRY(ggconv->entry), text); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
123 | gnt_entry_clear(GNT_ENTRY(ggconv->entry)); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
124 | return TRUE; |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
125 | } |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
126 | else if (key[0] == 27) |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
127 | { |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
128 | if (strcmp(key+1, GNT_KEY_DOWN) == 0) |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
129 | gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 1); |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
130 | else if (strcmp(key+1, GNT_KEY_UP) == 0) |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
131 | gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), -1); |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
132 | else if (strcmp(key+1, GNT_KEY_PGDOWN) == 0) |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
133 | gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), ggconv->tv->priv.height - 2); |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
134 | else if (strcmp(key+1, GNT_KEY_PGUP) == 0) |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
135 | gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), -(ggconv->tv->priv.height - 2)); |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
136 | else |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
137 | return FALSE; |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
138 | return TRUE; |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
139 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
140 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
141 | return FALSE; |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
142 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
143 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
144 | static void |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
145 | closing_window(GntWidget *window, GGConv *ggconv) |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
146 | { |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
147 | GList *list = ggconv->list; |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
148 | ggconv->window = NULL; |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
149 | while (list) { |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
150 | GaimConversation *conv = list->data; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
151 | list = list->next; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
152 | gaim_conversation_destroy(conv); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
153 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
154 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
155 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
156 | static void |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
157 | size_changed_cb(GntWidget *w, int width, int height) |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
158 | { |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
159 | gaim_prefs_set_int(PREF_ROOT "/size/width", width); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
160 | gaim_prefs_set_int(PREF_ROOT "/size/height", height); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
161 | } |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
162 | |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
163 | static void |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
164 | save_position_cb(GntWidget *w, int x, int y) |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
165 | { |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
166 | gaim_prefs_set_int(PREF_ROOT "/position/x", x); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
167 | gaim_prefs_set_int(PREF_ROOT "/position/y", y); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
168 | } |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
169 | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
170 | static GaimConversation * |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
171 | find_conv_with_contact(GaimConversation *conv) |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
172 | { |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
173 | GaimBlistNode *node; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
174 | GaimBuddy *buddy = gaim_find_buddy(conv->account, conv->name); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
175 | GaimConversation *ret = NULL; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
176 | |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
177 | if (!buddy) |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
178 | return NULL; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
179 | |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
180 | for (node = ((GaimBlistNode*)buddy)->parent->child; node; node = node->next) { |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
181 | if (node == (GaimBlistNode*)buddy) |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
182 | continue; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
183 | if ((ret = gaim_find_conversation_with_account(GAIM_CONV_TYPE_IM, |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
184 | ((GaimBuddy*)node)->name, ((GaimBuddy*)node)->account)) != NULL) |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
185 | break; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
186 | } |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
187 | return ret; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
188 | } |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
189 | |
| 14612 | 190 | static char * |
| 191 | get_conversation_title(GaimConversation *conv, GaimAccount *account) | |
| 192 | { | |
| 193 | return g_strdup_printf(_("%s (%s -- %s)"), gaim_conversation_get_title(conv), | |
| 194 | gaim_account_get_username(account), gaim_account_get_protocol_name(account)); | |
| 195 | } | |
| 196 | ||
| 197 | static void | |
| 198 | update_buddy_typing(GaimAccount *account, const char *who, gpointer null) | |
| 199 | { | |
| 200 | GaimConversation *conv; | |
| 201 | GGConv *ggc; | |
| 202 | GaimConvIm *im = NULL; | |
| 203 | char *title, *old_title; | |
| 204 | ||
| 205 | conv = gaim_find_conversation_with_account(GAIM_CONV_TYPE_IM, who, account); | |
| 206 | ||
| 207 | if (!conv) | |
| 208 | return; | |
| 209 | ||
|
14750
1dad59ae254d
[gaim-migrate @ 17440]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
14620
diff
changeset
|
210 | im = GAIM_CONV_IM(conv); |
|
1dad59ae254d
[gaim-migrate @ 17440]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
14620
diff
changeset
|
211 | |
| 14612 | 212 | if (gaim_conv_im_get_typing_state(im) == GAIM_TYPING) { |
| 213 | old_title = get_conversation_title(conv, account); | |
| 214 | title = g_strdup_printf(_("%s [%s]"), old_title, | |
| 215 | gnt_ascii_only() ? "T" : "\342\243\277"); | |
| 216 | g_free(old_title); | |
| 217 | } else | |
| 218 | title = get_conversation_title(conv, account); | |
| 219 | ggc = conv->ui_data; | |
| 220 | gnt_screen_rename_widget(ggc->window, title); | |
| 221 | g_free(title); | |
| 222 | } | |
| 223 | ||
| 224 | static gpointer | |
| 225 | gg_conv_get_handle() | |
| 226 | { | |
| 227 | static int handle; | |
| 228 | return &handle; | |
| 229 | } | |
| 230 | ||
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
231 | static void |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
232 | gg_create_conversation(GaimConversation *conv) |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
233 | { |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
234 | GGConv *ggc = conv->ui_data; |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
235 | char *title; |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
236 | GaimConversationType type; |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
237 | GaimConversation *cc; |
|
14470
352d47a0724d
[gaim-migrate @ 17116]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14450
diff
changeset
|
238 | GaimAccount *account; |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
239 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
240 | if (ggc) |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
241 | return; |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
242 | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
243 | cc = find_conv_with_contact(conv); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
244 | if (cc && cc->ui_data) |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
245 | ggc = cc->ui_data; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
246 | else |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
247 | ggc = g_new0(GGConv, 1); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
248 | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
249 | ggc->list = g_list_prepend(ggc->list, conv); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
250 | ggc->active_conv = conv; |
|
14047
764a70ebfdc5
[gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
251 | conv->ui_data = ggc; |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
252 | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
253 | if (cc && cc->ui_data) { |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
254 | gg_conversation_set_active(conv); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
255 | return; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
256 | } |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
257 | |
|
14470
352d47a0724d
[gaim-migrate @ 17116]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14450
diff
changeset
|
258 | account = gaim_conversation_get_account(conv); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
259 | type = gaim_conversation_get_type(conv); |
| 14612 | 260 | title = get_conversation_title(conv, account); |
| 261 | ||
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14000
diff
changeset
|
262 | ggc->window = gnt_box_new(FALSE, TRUE); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
263 | gnt_box_set_title(GNT_BOX(ggc->window), title); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
264 | gnt_box_set_toplevel(GNT_BOX(ggc->window), TRUE); |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
265 | gnt_box_set_pad(GNT_BOX(ggc->window), 0); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14318
diff
changeset
|
266 | gnt_widget_set_name(ggc->window, "conversation-window"); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
267 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
268 | ggc->tv = gnt_text_view_new(); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
269 | gnt_box_add_widget(GNT_BOX(ggc->window), ggc->tv); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
270 | gnt_widget_set_name(ggc->tv, "conversation-window-textview"); |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
271 | gnt_widget_set_size(ggc->tv, gaim_prefs_get_int(PREF_ROOT "/size/width"), |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
272 | gaim_prefs_get_int(PREF_ROOT "/size/height")); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
273 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
274 | ggc->entry = gnt_entry_new(NULL); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
275 | gnt_box_add_widget(GNT_BOX(ggc->window), ggc->entry); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
276 | gnt_widget_set_name(ggc->entry, "conversation-window-entry"); |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
277 | gnt_entry_set_history_length(GNT_ENTRY(ggc->entry), -1); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
278 | gnt_entry_set_word_suggest(GNT_ENTRY(ggc->entry), TRUE); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
279 | gnt_entry_set_always_suggest(GNT_ENTRY(ggc->entry), FALSE); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
280 | |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
281 | g_signal_connect_after(G_OBJECT(ggc->entry), "key_pressed", G_CALLBACK(entry_key_pressed), ggc); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
282 | g_signal_connect(G_OBJECT(ggc->window), "destroy", G_CALLBACK(closing_window), ggc); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
283 | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
284 | gnt_widget_set_position(ggc->window, gaim_prefs_get_int(PREF_ROOT "/position/x"), |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
285 | gaim_prefs_get_int(PREF_ROOT "/position/y")); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
286 | gnt_widget_show(ggc->window); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
287 | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
288 | g_signal_connect(G_OBJECT(ggc->tv), "size_changed", G_CALLBACK(size_changed_cb), NULL); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
289 | g_signal_connect(G_OBJECT(ggc->window), "position_set", G_CALLBACK(save_position_cb), NULL); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
290 | |
| 14612 | 291 | gaim_signal_connect(gaim_conversations_get_handle(), "buddy-typing", gg_conv_get_handle(), |
| 292 | GAIM_CALLBACK(update_buddy_typing), NULL); | |
| 293 | gaim_signal_connect(gaim_conversations_get_handle(), "buddy-typing-stopped", gg_conv_get_handle(), | |
| 294 | GAIM_CALLBACK(update_buddy_typing), NULL); | |
| 295 | ||
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
296 | g_free(title); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
297 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
298 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
299 | static void |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
300 | gg_destroy_conversation(GaimConversation *conv) |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
301 | { |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
302 | /* do stuff here */ |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
303 | GGConv *ggc = conv->ui_data; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
304 | ggc->list = g_list_remove(ggc->list, conv); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
305 | if (ggc->list && conv == ggc->active_conv) |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
306 | ggc->active_conv = ggc->list->data; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
307 | |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
308 | if (ggc->list == NULL) { |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
309 | gnt_widget_destroy(ggc->window); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
310 | g_free(ggc); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
311 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
312 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
313 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
314 | static void |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
315 | gg_write_common(GaimConversation *conv, const char *who, const char *message, |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
316 | GaimMessageFlags flags, time_t mtime) |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
317 | { |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
318 | GGConv *ggconv = conv->ui_data; |
|
14073
db4207d73bd7
[gaim-migrate @ 16603]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
319 | char *strip, *newline; |
|
13993
8c12e7d15b40
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
320 | GntTextFormatFlags fl = 0; |
|
14092
191e12cbe464
[gaim-migrate @ 16632]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
321 | int pos; |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
322 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
323 | g_return_if_fail(ggconv != NULL); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
324 | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
325 | if (ggconv->active_conv != conv) { |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
326 | if (flags & (GAIM_MESSAGE_SEND | GAIM_MESSAGE_RECV)) |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
327 | gg_conversation_set_active(conv); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
328 | else |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
329 | return; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
330 | } |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
331 | |
|
14284
6c99565d0f50
[gaim-migrate @ 16903]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14253
diff
changeset
|
332 | pos = gnt_text_view_get_lines_below(GNT_TEXT_VIEW(ggconv->tv)); |
|
6c99565d0f50
[gaim-migrate @ 16903]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14253
diff
changeset
|
333 | |
|
14777
c0ad17caf8ad
[gaim-migrate @ 17469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14750
diff
changeset
|
334 | gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), "\n", GNT_TEXT_FLAG_NORMAL); |
|
14284
6c99565d0f50
[gaim-migrate @ 16903]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14253
diff
changeset
|
335 | |
|
14296
ac12fbad24f7
[gaim-migrate @ 16916]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14284
diff
changeset
|
336 | /* Unnecessary to print the timestamp for delayed message */ |
|
ac12fbad24f7
[gaim-migrate @ 16916]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14284
diff
changeset
|
337 | if (!(flags & GAIM_MESSAGE_DELAYED) && |
|
ac12fbad24f7
[gaim-migrate @ 16916]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14284
diff
changeset
|
338 | gaim_prefs_get_bool("/gaim/gnt/conversations/timestamps")) |
|
14122
daf2aaa61829
[gaim-migrate @ 16678]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
339 | gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), |
|
daf2aaa61829
[gaim-migrate @ 16678]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
340 | gaim_utf8_strftime("(%H:%M:%S) ", localtime(&mtime)), GNT_TEXT_FLAG_DIM); |
|
14427
8af0c81db5b9
[gaim-migrate @ 17071]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
341 | |
|
14483
82b73e12ce27
[gaim-migrate @ 17129]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14470
diff
changeset
|
342 | if (flags & GAIM_MESSAGE_AUTO_RESP) |
|
82b73e12ce27
[gaim-migrate @ 17129]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14470
diff
changeset
|
343 | gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), |
|
82b73e12ce27
[gaim-migrate @ 17129]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14470
diff
changeset
|
344 | _("<AUTO-REPLY> "), GNT_TEXT_FLAG_BOLD); |
|
82b73e12ce27
[gaim-migrate @ 17129]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14470
diff
changeset
|
345 | |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
346 | if (who && *who && (flags & (GAIM_MESSAGE_SEND | GAIM_MESSAGE_RECV))) |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
347 | { |
|
14427
8af0c81db5b9
[gaim-migrate @ 17071]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
348 | char * name = NULL; |
|
8af0c81db5b9
[gaim-migrate @ 17071]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
349 | |
|
8af0c81db5b9
[gaim-migrate @ 17071]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
350 | if (gaim_message_meify((char*)message, -1)) |
|
8af0c81db5b9
[gaim-migrate @ 17071]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
351 | name = g_strdup_printf("*** %s ", who); |
|
8af0c81db5b9
[gaim-migrate @ 17071]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
352 | else |
|
8af0c81db5b9
[gaim-migrate @ 17071]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
353 | name = g_strdup_printf("%s: ", who); |
|
8af0c81db5b9
[gaim-migrate @ 17071]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
354 | |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
355 | gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
356 | name, GNT_TEXT_FLAG_BOLD); |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
357 | g_free(name); |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
358 | } |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
359 | else |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
360 | fl = GNT_TEXT_FLAG_DIM; |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
361 | |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
362 | if (flags & GAIM_MESSAGE_ERROR) |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
363 | fl |= GNT_TEXT_FLAG_BOLD; |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
364 | if (flags & GAIM_MESSAGE_NICK) |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
365 | fl |= GNT_TEXT_FLAG_UNDERLINE; |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
366 | |
|
14073
db4207d73bd7
[gaim-migrate @ 16603]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
367 | /* XXX: Remove this workaround when textview can parse messages. */ |
|
db4207d73bd7
[gaim-migrate @ 16603]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
368 | newline = gaim_strdup_withhtml(message); |
|
db4207d73bd7
[gaim-migrate @ 16603]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
369 | strip = gaim_markup_strip_html(newline); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
370 | gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
371 | strip, fl); |
|
14092
191e12cbe464
[gaim-migrate @ 16632]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
372 | if (pos <= 1) |
|
191e12cbe464
[gaim-migrate @ 16632]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
373 | gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 0); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
374 | |
|
14073
db4207d73bd7
[gaim-migrate @ 16603]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
375 | g_free(newline); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
376 | g_free(strip); |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
377 | |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
378 | if (flags & (GAIM_MESSAGE_RECV | GAIM_MESSAGE_NICK | GAIM_MESSAGE_ERROR)) |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
379 | gnt_widget_set_urgent(ggconv->tv); |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
380 | } |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
381 | |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
382 | static void |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
383 | gg_write_chat(GaimConversation *conv, const char *who, const char *message, |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
384 | GaimMessageFlags flags, time_t mtime) |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
385 | { |
|
14284
6c99565d0f50
[gaim-migrate @ 16903]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14253
diff
changeset
|
386 | gaim_conversation_write(conv, who, message, flags, mtime); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
387 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
388 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
389 | static void |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
390 | gg_write_im(GaimConversation *conv, const char *who, const char *message, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
391 | GaimMessageFlags flags, time_t mtime) |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
392 | { |
| 14070 | 393 | GaimAccount *account = gaim_conversation_get_account(conv); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
394 | if (flags & GAIM_MESSAGE_SEND) |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
395 | { |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
396 | who = gaim_connection_get_display_name(gaim_account_get_connection(account)); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
397 | if (!who) |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
398 | who = gaim_account_get_alias(account); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
399 | if (!who) |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
400 | who = gaim_account_get_username(account); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
401 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
402 | else if (flags & GAIM_MESSAGE_RECV) |
| 14070 | 403 | { |
| 404 | GaimBuddy *buddy; | |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
405 | who = gaim_conversation_get_name(conv); |
| 14070 | 406 | buddy = gaim_find_buddy(account, who); |
| 407 | if (buddy) | |
| 408 | who = gaim_buddy_get_contact_alias(buddy); | |
| 409 | } | |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
410 | |
|
14284
6c99565d0f50
[gaim-migrate @ 16903]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14253
diff
changeset
|
411 | gaim_conversation_write(conv, who, message, flags, mtime); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
412 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
413 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
414 | static void |
|
13948
0015a0bec0a7
[gaim-migrate @ 16366]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13947
diff
changeset
|
415 | gg_write_conv(GaimConversation *conv, const char *who, const char *alias, |
|
0015a0bec0a7
[gaim-migrate @ 16366]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13947
diff
changeset
|
416 | const char *message, GaimMessageFlags flags, time_t mtime) |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
417 | { |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
418 | const char *name; |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
419 | if (alias && *alias) |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
420 | name = alias; |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
421 | else if (who && *who) |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
422 | name = who; |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
423 | else |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
424 | name = NULL; |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
425 | |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
426 | gg_write_common(conv, name, message, flags, mtime); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
427 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
428 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
429 | static void |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
430 | gg_chat_add_users(GaimConversation *conv, GList *users, gboolean new_arrivals) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
431 | { |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
432 | GGConv *ggc = conv->ui_data; |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
433 | GntEntry *entry = GNT_ENTRY(ggc->entry); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
434 | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
435 | if (!new_arrivals) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
436 | { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
437 | /* Print the list of users in the room */ |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
438 | GString *string = g_string_new(_("List of users:\n")); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
439 | GList *iter; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
440 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
441 | for (iter = users; iter; iter = iter->next) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
442 | { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
443 | GaimConvChatBuddy *cbuddy = iter->data; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
444 | char *str; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
445 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
446 | if ((str = cbuddy->alias) == NULL) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
447 | str = cbuddy->name; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
448 | g_string_append_printf(string, "[ %s ]", str); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
449 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
450 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
451 | gaim_conversation_write(conv, NULL, string->str, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
452 | GAIM_MESSAGE_SYSTEM, time(NULL)); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
453 | g_string_free(string, TRUE); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
454 | } |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
455 | |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
456 | for (; users; users = users->next) |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
457 | { |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
458 | GaimConvChatBuddy *cbuddy = users->data; |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
459 | gnt_entry_add_suggest(entry, cbuddy->name); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
460 | gnt_entry_add_suggest(entry, cbuddy->alias); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
461 | } |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
462 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
463 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
464 | static void |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
465 | gg_chat_rename_user(GaimConversation *conv, const char *old, const char *new_n, const char *new_a) |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
466 | { |
|
14318
07aba2cdc261
[gaim-migrate @ 16938]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14296
diff
changeset
|
467 | /* Update the name for string completion */ |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
468 | GGConv *ggc = conv->ui_data; |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
469 | GntEntry *entry = GNT_ENTRY(ggc->entry); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
470 | gnt_entry_remove_suggest(entry, old); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
471 | gnt_entry_add_suggest(entry, new_n); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
472 | gnt_entry_add_suggest(entry, new_a); |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
473 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
474 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
475 | static void |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
476 | gg_chat_remove_user(GaimConversation *conv, GList *list) |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
477 | { |
|
14318
07aba2cdc261
[gaim-migrate @ 16938]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14296
diff
changeset
|
478 | /* Remove the name from string completion */ |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
479 | GGConv *ggc = conv->ui_data; |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
480 | GntEntry *entry = GNT_ENTRY(ggc->entry); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
481 | for (; list; list = list->next) |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
482 | gnt_entry_remove_suggest(entry, list->data); |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
483 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
484 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
485 | static void |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
486 | gg_chat_update_user(GaimConversation *conv, const char *user) |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
487 | { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
488 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
489 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
490 | static GaimConversationUiOps conv_ui_ops = |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
491 | { |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
492 | .create_conversation = gg_create_conversation, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
493 | .destroy_conversation = gg_destroy_conversation, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
494 | .write_chat = gg_write_chat, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
495 | .write_im = gg_write_im, |
|
13948
0015a0bec0a7
[gaim-migrate @ 16366]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13947
diff
changeset
|
496 | .write_conv = gg_write_conv, |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
497 | .chat_add_users = gg_chat_add_users, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
498 | .chat_rename_user = gg_chat_rename_user, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
499 | .chat_remove_users = gg_chat_remove_user, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
500 | .chat_update_user = gg_chat_update_user, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
501 | .present = NULL, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
502 | .has_focus = NULL, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
503 | .custom_smiley_add = NULL, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
504 | .custom_smiley_write = NULL, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
505 | .custom_smiley_close = NULL |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
506 | }; |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
507 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
508 | GaimConversationUiOps *gg_conv_get_ui_ops() |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
509 | { |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
510 | return &conv_ui_ops; |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
511 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
512 | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
513 | /* Xerox */ |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
514 | static GaimCmdRet |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
515 | say_command_cb(GaimConversation *conv, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
516 | const char *cmd, char **args, char **error, void *data) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
517 | { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
518 | if (gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_IM) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
519 | gaim_conv_im_send(GAIM_CONV_IM(conv), args[0]); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
520 | else if (gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_CHAT) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
521 | gaim_conv_chat_send(GAIM_CONV_CHAT(conv), args[0]); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
522 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
523 | return GAIM_CMD_RET_OK; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
524 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
525 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
526 | /* Xerox */ |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
527 | static GaimCmdRet |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
528 | me_command_cb(GaimConversation *conv, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
529 | const char *cmd, char **args, char **error, void *data) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
530 | { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
531 | char *tmp; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
532 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
533 | tmp = g_strdup_printf("/me %s", args[0]); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
534 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
535 | if (gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_IM) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
536 | gaim_conv_im_send(GAIM_CONV_IM(conv), tmp); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
537 | else if (gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_CHAT) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
538 | gaim_conv_chat_send(GAIM_CONV_CHAT(conv), tmp); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
539 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
540 | g_free(tmp); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
541 | return GAIM_CMD_RET_OK; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
542 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
543 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
544 | /* Xerox */ |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
545 | static GaimCmdRet |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
546 | debug_command_cb(GaimConversation *conv, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
547 | const char *cmd, char **args, char **error, void *data) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
548 | { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
549 | char *tmp, *markup; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
550 | GaimCmdStatus status; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
551 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
552 | if (!g_ascii_strcasecmp(args[0], "version")) { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
553 | tmp = g_strdup_printf("me is using %s.", VERSION); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
554 | markup = g_markup_escape_text(tmp, -1); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
555 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
556 | status = gaim_cmd_do_command(conv, tmp, markup, error); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
557 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
558 | g_free(tmp); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
559 | g_free(markup); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
560 | return status; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
561 | } else { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
562 | gaim_conversation_write(conv, NULL, _("Supported debug options are: version"), |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
563 | GAIM_MESSAGE_NO_LOG|GAIM_MESSAGE_ERROR, time(NULL)); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
564 | return GAIM_CMD_STATUS_OK; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
565 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
566 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
567 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
568 | /* Xerox */ |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
569 | static GaimCmdRet |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
570 | clear_command_cb(GaimConversation *conv, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
571 | const char *cmd, char **args, char **error, void *data) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
572 | { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
573 | GGConv *ggconv = conv->ui_data; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
574 | gnt_text_view_clear(GNT_TEXT_VIEW(ggconv->tv)); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
575 | return GAIM_CMD_STATUS_OK; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
576 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
577 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
578 | /* Xerox */ |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
579 | static GaimCmdRet |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
580 | help_command_cb(GaimConversation *conv, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
581 | const char *cmd, char **args, char **error, void *data) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
582 | { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
583 | GList *l, *text; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
584 | GString *s; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
585 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
586 | if (args[0] != NULL) { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
587 | s = g_string_new(""); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
588 | text = gaim_cmd_help(conv, args[0]); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
589 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
590 | if (text) { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
591 | for (l = text; l; l = l->next) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
592 | if (l->next) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
593 | g_string_append_printf(s, "%s\n", (char *)l->data); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
594 | else |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
595 | g_string_append_printf(s, "%s", (char *)l->data); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
596 | } else { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
597 | g_string_append(s, _("No such command (in this context).")); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
598 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
599 | } else { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
600 | s = g_string_new(_("Use \"/help <command>\" for help on a specific command.\n" |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
601 | "The following commands are available in this context:\n")); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
602 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
603 | text = gaim_cmd_list(conv); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
604 | for (l = text; l; l = l->next) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
605 | if (l->next) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
606 | g_string_append_printf(s, "%s, ", (char *)l->data); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
607 | else |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
608 | g_string_append_printf(s, "%s.", (char *)l->data); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
609 | g_list_free(text); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
610 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
611 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
612 | gaim_conversation_write(conv, NULL, s->str, GAIM_MESSAGE_NO_LOG, time(NULL)); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
613 | g_string_free(s, TRUE); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
614 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
615 | return GAIM_CMD_STATUS_OK; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
616 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
617 | |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
618 | static GaimCmdRet |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
619 | cmd_show_window(GaimConversation *conv, const char *cmd, char **args, char **error, gpointer data) |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
620 | { |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
621 | void (*callback)() = data; |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
622 | callback(); |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
623 | return GAIM_CMD_STATUS_OK; |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
624 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
625 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
626 | void gg_conversation_init() |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
627 | { |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
628 | gaim_prefs_add_none(PREF_ROOT); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
629 | gaim_prefs_add_none(PREF_ROOT "/size"); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
630 | gaim_prefs_add_int(PREF_ROOT "/size/width", 70); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
631 | gaim_prefs_add_int(PREF_ROOT "/size/height", 20); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
632 | gaim_prefs_add_none(PREF_ROOT "/position"); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
633 | gaim_prefs_add_int(PREF_ROOT "/position/x", 0); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
634 | gaim_prefs_add_int(PREF_ROOT "/position/y", 0); |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
635 | |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
636 | /* Xerox the commands */ |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
637 | gaim_cmd_register("say", "S", GAIM_CMD_P_DEFAULT, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
638 | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_IM, NULL, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
639 | say_command_cb, _("say <message>: Send a message normally as if you weren't using a command."), NULL); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
640 | gaim_cmd_register("me", "S", GAIM_CMD_P_DEFAULT, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
641 | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_IM, NULL, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
642 | me_command_cb, _("me <action>: Send an IRC style action to a buddy or chat."), NULL); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
643 | gaim_cmd_register("debug", "w", GAIM_CMD_P_DEFAULT, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
644 | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_IM, NULL, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
645 | debug_command_cb, _("debug <option>: Send various debug information to the current conversation."), NULL); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
646 | gaim_cmd_register("clear", "", GAIM_CMD_P_DEFAULT, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
647 | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_IM, NULL, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
648 | clear_command_cb, _("clear: Clears the conversation scrollback."), NULL); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
649 | gaim_cmd_register("help", "w", GAIM_CMD_P_DEFAULT, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
650 | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_ALLOW_WRONG_ARGS, NULL, |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
651 | help_command_cb, _("help <command>: Help on a specific command."), NULL); |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
652 | |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
653 | /* Now some commands to bring up some other windows */ |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
654 | gaim_cmd_register("plugins", "", GAIM_CMD_P_DEFAULT, |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
655 | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_IM, NULL, |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
656 | cmd_show_window, _("plugins: Show the plugins window."), gg_plugins_show_all); |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
657 | gaim_cmd_register("buddylist", "", GAIM_CMD_P_DEFAULT, |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
658 | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_IM, NULL, |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
659 | cmd_show_window, _("buddylist: Show the buddylist."), gg_blist_show); |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
660 | gaim_cmd_register("accounts", "", GAIM_CMD_P_DEFAULT, |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
661 | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_IM, NULL, |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
662 | cmd_show_window, _("accounts: Show the accounts window."), gg_accounts_show_all); |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
663 | gaim_cmd_register("debugwin", "", GAIM_CMD_P_DEFAULT, |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
664 | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_IM, NULL, |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
665 | cmd_show_window, _("debugwin: Show the debug window."), gg_debug_window_show); |
|
14121
3d8804b82150
[gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14109
diff
changeset
|
666 | gaim_cmd_register("prefs", "", GAIM_CMD_P_DEFAULT, |
|
3d8804b82150
[gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14109
diff
changeset
|
667 | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_IM, NULL, |
|
3d8804b82150
[gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14109
diff
changeset
|
668 | cmd_show_window, _("prefs: Show the preference window."), gg_prefs_show_all); |
|
14188
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14153
diff
changeset
|
669 | gaim_cmd_register("status", "", GAIM_CMD_P_DEFAULT, |
|
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14153
diff
changeset
|
670 | GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_IM, NULL, |
|
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14153
diff
changeset
|
671 | cmd_show_window, _("statuses: Show the savedstatuses window."), gg_savedstatus_show_all); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
672 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
673 | |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
674 | void gg_conversation_uninit() |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
675 | { |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
676 | } |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
677 | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
678 | void gg_conversation_set_active(GaimConversation *conv) |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
679 | { |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
680 | GGConv *ggconv = conv->ui_data; |
|
14470
352d47a0724d
[gaim-migrate @ 17116]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14450
diff
changeset
|
681 | GaimAccount *account; |
|
352d47a0724d
[gaim-migrate @ 17116]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14450
diff
changeset
|
682 | char *title; |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
683 | |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
684 | g_return_if_fail(ggconv); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
685 | g_return_if_fail(g_list_find(ggconv->list, conv)); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
686 | |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
687 | ggconv->active_conv = conv; |
|
14470
352d47a0724d
[gaim-migrate @ 17116]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14450
diff
changeset
|
688 | account = gaim_conversation_get_account(conv); |
| 14612 | 689 | title = get_conversation_title(conv, account); |
|
14470
352d47a0724d
[gaim-migrate @ 17116]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14450
diff
changeset
|
690 | gnt_screen_rename_widget(ggconv->window, title); |
|
352d47a0724d
[gaim-migrate @ 17116]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14450
diff
changeset
|
691 | g_free(title); |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
692 | } |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
693 |