Sun, 15 Apr 2007 03:56:08 +0000
propagate from branch 'im.pidgin.rlaager.merging.msnp13-and-sf-1621854-4-rlaager-whitespace' (head df9df972434fafda3e8030977ab3c18d480d8fa8)
to branch 'im.pidgin.rlaager.merging.msnp13-and-pidgin' (head 46933dc6288036763e484bfb1906f1149ada01cf)
|
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 | * |
|
15931
716b5fac1895
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents:
15906
diff
changeset
|
5 | * finch |
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14612
diff
changeset
|
6 | * |
|
15931
716b5fac1895
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents:
15906
diff
changeset
|
7 | * Finch is the legal property of its developers, whose names are too numerous |
|
14620
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> |
|
15821
26ca6a5c7668
Make 'last message sent' idleness work. Should we be doing gaim_idle_touch from somewhere inside libpurple instead?
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15373
diff
changeset
|
28 | #include <idle.h> |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
29 | #include <prefs.h> |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
30 | #include <util.h> |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
31 | |
| 15884 | 32 | #include "finch.h" |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
33 | #include "gntaccount.h" |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
34 | #include "gntblist.h" |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
35 | #include "gntconv.h" |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
36 | #include "gntdebug.h" |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
37 | #include "gntplugin.h" |
|
14121
3d8804b82150
[gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14109
diff
changeset
|
38 | #include "gntprefs.h" |
|
14188
cff503f91616
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14153
diff
changeset
|
39 | #include "gntstatus.h" |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
40 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
41 | #include "gnt.h" |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
42 | #include "gntbox.h" |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
43 | #include "gntentry.h" |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
44 | #include "gnttextview.h" |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
45 | |
| 15884 | 46 | #define PREF_ROOT "/purple/gnt/conversations" |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
47 | |
|
14253
b63ebf84c42b
This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
14188
diff
changeset
|
48 | #include "config.h" |
|
b63ebf84c42b
This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
14188
diff
changeset
|
49 | |
|
15373
8483019d6961
[gaim-migrate @ 18102]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15262
diff
changeset
|
50 | static void |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
51 | send_typing_notification(GntWidget *w, FinchConv *ggconv) |
|
15262
8f97f9047232
[gaim-migrate @ 17990]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15250
diff
changeset
|
52 | { |
|
15373
8483019d6961
[gaim-migrate @ 18102]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15262
diff
changeset
|
53 | const char *text = gnt_entry_get_text(GNT_ENTRY(ggconv->entry)); |
|
8483019d6961
[gaim-migrate @ 18102]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15262
diff
changeset
|
54 | gboolean empty = (!text || !*text); |
| 15884 | 55 | if (purple_prefs_get_bool("/purple/gnt/conversations/notify_typing")) { |
| 56 | PurpleConversation *conv = ggconv->active_conv; | |
| 57 | PurpleConvIm *im = PURPLE_CONV_IM(conv); | |
|
15373
8483019d6961
[gaim-migrate @ 18102]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15262
diff
changeset
|
58 | if (!empty) { |
| 15884 | 59 | gboolean send = (purple_conv_im_get_send_typed_timeout(im) == 0); |
|
15262
8f97f9047232
[gaim-migrate @ 17990]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15250
diff
changeset
|
60 | |
| 15884 | 61 | purple_conv_im_stop_send_typed_timeout(im); |
| 62 | purple_conv_im_start_send_typed_timeout(im); | |
| 63 | if (send || (purple_conv_im_get_type_again(im) != 0 && | |
| 64 | time(NULL) > purple_conv_im_get_type_again(im))) { | |
|
15262
8f97f9047232
[gaim-migrate @ 17990]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15250
diff
changeset
|
65 | unsigned int timeout; |
| 15884 | 66 | timeout = serv_send_typing(purple_conversation_get_gc(conv), |
| 67 | purple_conversation_get_name(conv), | |
| 68 | PURPLE_TYPING); | |
| 69 | purple_conv_im_set_type_again(im, timeout); | |
|
15262
8f97f9047232
[gaim-migrate @ 17990]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15250
diff
changeset
|
70 | } |
|
15373
8483019d6961
[gaim-migrate @ 18102]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15262
diff
changeset
|
71 | } else { |
| 15884 | 72 | purple_conv_im_stop_send_typed_timeout(im); |
|
15373
8483019d6961
[gaim-migrate @ 18102]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15262
diff
changeset
|
73 | |
| 15884 | 74 | serv_send_typing(purple_conversation_get_gc(conv), |
| 75 | purple_conversation_get_name(conv), | |
| 76 | PURPLE_NOT_TYPING); | |
|
15262
8f97f9047232
[gaim-migrate @ 17990]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15250
diff
changeset
|
77 | } |
|
8f97f9047232
[gaim-migrate @ 17990]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15250
diff
changeset
|
78 | } |
|
8f97f9047232
[gaim-migrate @ 17990]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15250
diff
changeset
|
79 | } |
|
8f97f9047232
[gaim-migrate @ 17990]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15250
diff
changeset
|
80 | |
|
8f97f9047232
[gaim-migrate @ 17990]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15250
diff
changeset
|
81 | static gboolean |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
82 | entry_key_pressed(GntWidget *w, const char *key, FinchConv *ggconv) |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
83 | { |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
84 | if (key[0] == '\r' && key[1] == 0) |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
85 | { |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
86 | 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
|
87 | if (*text == '/') |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
88 | { |
| 15884 | 89 | PurpleConversation *conv = ggconv->active_conv; |
| 90 | PurpleCmdStatus status; | |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
91 | const char *cmdline = text + 1; |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
92 | char *error = NULL, *escape; |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
93 | |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
94 | escape = g_markup_escape_text(cmdline, -1); |
| 15884 | 95 | status = purple_cmd_do_command(conv, cmdline, escape, &error); |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
96 | g_free(escape); |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
97 | |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
98 | switch (status) |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
99 | { |
| 15884 | 100 | case PURPLE_CMD_STATUS_OK: |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
101 | break; |
| 15884 | 102 | case PURPLE_CMD_STATUS_NOT_FOUND: |
| 103 | purple_conversation_write(conv, "", _("No such command."), | |
| 104 | PURPLE_MESSAGE_NO_LOG, time(NULL)); | |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
105 | break; |
| 15884 | 106 | case PURPLE_CMD_STATUS_WRONG_ARGS: |
| 107 | purple_conversation_write(conv, "", _("Syntax Error: You typed the wrong number of arguments " | |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
108 | "to that command."), |
| 15884 | 109 | PURPLE_MESSAGE_NO_LOG, time(NULL)); |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
110 | break; |
| 15884 | 111 | case PURPLE_CMD_STATUS_FAILED: |
| 112 | purple_conversation_write(conv, "", error ? error : _("Your command failed for an unknown reason."), | |
| 113 | PURPLE_MESSAGE_NO_LOG, time(NULL)); | |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
114 | break; |
| 15884 | 115 | case PURPLE_CMD_STATUS_WRONG_TYPE: |
| 116 | if(purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) | |
| 117 | purple_conversation_write(conv, "", _("That command only works in chats, not IMs."), | |
| 118 | PURPLE_MESSAGE_NO_LOG, time(NULL)); | |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
119 | else |
| 15884 | 120 | purple_conversation_write(conv, "", _("That command only works in IMs, not chats."), |
| 121 | PURPLE_MESSAGE_NO_LOG, time(NULL)); | |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
122 | break; |
| 15884 | 123 | case PURPLE_CMD_STATUS_WRONG_PRPL: |
| 124 | purple_conversation_write(conv, "", _("That command doesn't work on this protocol."), | |
| 125 | PURPLE_MESSAGE_NO_LOG, time(NULL)); | |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
126 | break; |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
127 | } |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
128 | g_free(error); |
|
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14005
diff
changeset
|
129 | #if 0 |
|
14000
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
130 | 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
|
131 | _("Commands are not supported yet. Message was NOT sent."), |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
132 | GNT_TEXT_FLAG_DIM | GNT_TEXT_FLAG_UNDERLINE); |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
133 | gnt_text_view_next_line(GNT_TEXT_VIEW(ggconv->tv)); |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
134 | 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
|
135 | #endif |
|
14000
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
136 | } |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
137 | else |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
138 | { |
|
14109
1af2b9d5ef3f
[gaim-migrate @ 16660]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14092
diff
changeset
|
139 | char *escape = g_markup_escape_text(text, -1); |
| 15884 | 140 | char *apos = purple_strreplace(escape, "'", "'"); |
|
14884
b84a44f33190
[gaim-migrate @ 17589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14777
diff
changeset
|
141 | g_free(escape); |
|
b84a44f33190
[gaim-migrate @ 17589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14777
diff
changeset
|
142 | escape = apos; |
| 15884 | 143 | switch (purple_conversation_get_type(ggconv->active_conv)) |
|
14000
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
144 | { |
| 15884 | 145 | case PURPLE_CONV_TYPE_IM: |
| 146 | purple_conv_im_send_with_flags(PURPLE_CONV_IM(ggconv->active_conv), escape, PURPLE_MESSAGE_SEND); | |
|
14000
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
147 | break; |
| 15884 | 148 | case PURPLE_CONV_TYPE_CHAT: |
| 149 | purple_conv_chat_send(PURPLE_CONV_CHAT(ggconv->active_conv), escape); | |
|
14000
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
150 | break; |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
151 | default: |
|
14109
1af2b9d5ef3f
[gaim-migrate @ 16660]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14092
diff
changeset
|
152 | g_free(escape); |
|
14000
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
153 | g_return_val_if_reached(FALSE); |
|
aab306afdc43
[gaim-migrate @ 16469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13993
diff
changeset
|
154 | } |
|
14109
1af2b9d5ef3f
[gaim-migrate @ 16660]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14092
diff
changeset
|
155 | g_free(escape); |
| 15884 | 156 | purple_idle_touch(); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
157 | } |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
158 | gnt_entry_add_to_history(GNT_ENTRY(ggconv->entry), text); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
159 | gnt_entry_clear(GNT_ENTRY(ggconv->entry)); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
160 | return TRUE; |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
161 | } |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
162 | else if (key[0] == 27) |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
163 | { |
|
14939
7ec81b1b7bba
[gaim-migrate @ 17646]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14923
diff
changeset
|
164 | if (strcmp(key, GNT_KEY_DOWN) == 0) |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
165 | gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 1); |
|
14939
7ec81b1b7bba
[gaim-migrate @ 17646]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14923
diff
changeset
|
166 | else if (strcmp(key, GNT_KEY_UP) == 0) |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
167 | gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), -1); |
|
14939
7ec81b1b7bba
[gaim-migrate @ 17646]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14923
diff
changeset
|
168 | else if (strcmp(key, GNT_KEY_PGDOWN) == 0) |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
169 | gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), ggconv->tv->priv.height - 2); |
|
14939
7ec81b1b7bba
[gaim-migrate @ 17646]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14923
diff
changeset
|
170 | else if (strcmp(key, GNT_KEY_PGUP) == 0) |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
171 | 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
|
172 | else |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
173 | return FALSE; |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
174 | return TRUE; |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13949
diff
changeset
|
175 | } |
|
15249
d9d3254976ba
[gaim-migrate @ 17976]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15233
diff
changeset
|
176 | else |
|
d9d3254976ba
[gaim-migrate @ 17976]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15233
diff
changeset
|
177 | { |
|
d9d3254976ba
[gaim-migrate @ 17976]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15233
diff
changeset
|
178 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
179 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
180 | return FALSE; |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
181 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
182 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
183 | static void |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
184 | closing_window(GntWidget *window, FinchConv *ggconv) |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
185 | { |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
186 | GList *list = ggconv->list; |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
187 | ggconv->window = NULL; |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
188 | while (list) { |
| 15884 | 189 | PurpleConversation *conv = list->data; |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
190 | list = list->next; |
| 15884 | 191 | purple_conversation_destroy(conv); |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
192 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
193 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
194 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
195 | static void |
|
14923
ccb42b285510
[gaim-migrate @ 17630]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14884
diff
changeset
|
196 | size_changed_cb(GntWidget *widget, int width, int height) |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
197 | { |
|
14923
ccb42b285510
[gaim-migrate @ 17630]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14884
diff
changeset
|
198 | int w, h; |
|
ccb42b285510
[gaim-migrate @ 17630]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14884
diff
changeset
|
199 | gnt_widget_get_size(widget, &w, &h); |
| 15884 | 200 | purple_prefs_set_int(PREF_ROOT "/size/width", w); |
| 201 | purple_prefs_set_int(PREF_ROOT "/size/height", h); | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
202 | } |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
203 | |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
204 | static void |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
205 | save_position_cb(GntWidget *w, int x, int y) |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
206 | { |
| 15884 | 207 | purple_prefs_set_int(PREF_ROOT "/position/x", x); |
| 208 | purple_prefs_set_int(PREF_ROOT "/position/y", y); | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
209 | } |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
210 | |
| 15884 | 211 | static PurpleConversation * |
| 212 | find_conv_with_contact(PurpleConversation *conv) | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
213 | { |
| 15884 | 214 | PurpleBlistNode *node; |
| 215 | PurpleBuddy *buddy = purple_find_buddy(conv->account, conv->name); | |
| 216 | PurpleConversation *ret = NULL; | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
217 | |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
218 | if (!buddy) |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
219 | return NULL; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
220 | |
| 15884 | 221 | for (node = ((PurpleBlistNode*)buddy)->parent->child; node; node = node->next) { |
| 222 | if (node == (PurpleBlistNode*)buddy) | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
223 | continue; |
| 15884 | 224 | if ((ret = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, |
| 225 | ((PurpleBuddy*)node)->name, ((PurpleBuddy*)node)->account)) != NULL) | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
226 | break; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
227 | } |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
228 | return ret; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
229 | } |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
230 | |
| 14612 | 231 | static char * |
| 15884 | 232 | get_conversation_title(PurpleConversation *conv, PurpleAccount *account) |
| 14612 | 233 | { |
| 15884 | 234 | return g_strdup_printf(_("%s (%s -- %s)"), purple_conversation_get_title(conv), |
| 235 | purple_account_get_username(account), purple_account_get_protocol_name(account)); | |
| 14612 | 236 | } |
| 237 | ||
| 238 | static void | |
| 15884 | 239 | update_buddy_typing(PurpleAccount *account, const char *who, gpointer null) |
| 14612 | 240 | { |
| 15884 | 241 | PurpleConversation *conv; |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
242 | FinchConv *ggc; |
| 15884 | 243 | PurpleConvIm *im = NULL; |
|
15233
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
244 | char *title, *str; |
| 14612 | 245 | |
| 15884 | 246 | conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, who, account); |
| 14612 | 247 | |
| 248 | if (!conv) | |
| 249 | return; | |
| 250 | ||
| 15884 | 251 | im = PURPLE_CONV_IM(conv); |
|
15233
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
252 | ggc = conv->ui_data; |
|
14750
1dad59ae254d
[gaim-migrate @ 17440]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
14620
diff
changeset
|
253 | |
| 15884 | 254 | if (purple_conv_im_get_typing_state(im) == PURPLE_TYPING) { |
|
15233
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
255 | int scroll; |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
256 | str = get_conversation_title(conv, account); |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
257 | title = g_strdup_printf(_("%s [%s]"), str, |
| 14612 | 258 | gnt_ascii_only() ? "T" : "\342\243\277"); |
|
15233
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
259 | g_free(str); |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
260 | |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
261 | scroll = gnt_text_view_get_lines_below(GNT_TEXT_VIEW(ggc->tv)); |
| 15884 | 262 | str = g_strdup_printf(_("\n%s is typing..."), purple_conversation_get_name(conv)); |
|
15262
8f97f9047232
[gaim-migrate @ 17990]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15250
diff
changeset
|
263 | /* Updating is a little buggy. So just remove and add a new one */ |
|
8f97f9047232
[gaim-migrate @ 17990]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15250
diff
changeset
|
264 | gnt_text_view_tag_change(GNT_TEXT_VIEW(ggc->tv), "typing", NULL, TRUE); |
|
8f97f9047232
[gaim-migrate @ 17990]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15250
diff
changeset
|
265 | gnt_text_view_append_text_with_tag(GNT_TEXT_VIEW(ggc->tv), |
|
8f97f9047232
[gaim-migrate @ 17990]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15250
diff
changeset
|
266 | str, GNT_TEXT_FLAG_DIM, "typing"); |
|
15233
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
267 | g_free(str); |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
268 | if (scroll <= 1) |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
269 | gnt_text_view_scroll(GNT_TEXT_VIEW(ggc->tv), 0); |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
270 | } else { |
| 14612 | 271 | title = get_conversation_title(conv, account); |
|
15233
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
272 | gnt_text_view_tag_change(GNT_TEXT_VIEW(ggc->tv), "typing", NULL, TRUE); |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
273 | } |
| 14612 | 274 | gnt_screen_rename_widget(ggc->window, title); |
| 275 | g_free(title); | |
| 276 | } | |
| 277 | ||
| 278 | static gpointer | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
279 | finch_conv_get_handle() |
| 14612 | 280 | { |
| 281 | static int handle; | |
| 282 | return &handle; | |
| 283 | } | |
| 284 | ||
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
285 | static void |
| 15884 | 286 | finch_create_conversation(PurpleConversation *conv) |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
287 | { |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
288 | FinchConv *ggc = conv->ui_data; |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
289 | char *title; |
| 15884 | 290 | PurpleConversationType type; |
| 291 | PurpleConversation *cc; | |
| 292 | PurpleAccount *account; | |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
293 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
294 | if (ggc) |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
295 | return; |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
296 | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
297 | cc = find_conv_with_contact(conv); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
298 | if (cc && cc->ui_data) |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
299 | ggc = cc->ui_data; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
300 | else |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
301 | ggc = g_new0(FinchConv, 1); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
302 | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
303 | ggc->list = g_list_prepend(ggc->list, conv); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
304 | ggc->active_conv = conv; |
|
14047
764a70ebfdc5
[gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14033
diff
changeset
|
305 | conv->ui_data = ggc; |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
306 | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
307 | if (cc && cc->ui_data) { |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
308 | finch_conversation_set_active(conv); |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
309 | return; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
310 | } |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
311 | |
| 15884 | 312 | account = purple_conversation_get_account(conv); |
| 313 | type = purple_conversation_get_type(conv); | |
| 14612 | 314 | title = get_conversation_title(conv, account); |
| 315 | ||
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14000
diff
changeset
|
316 | ggc->window = gnt_box_new(FALSE, TRUE); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
317 | gnt_box_set_title(GNT_BOX(ggc->window), title); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
318 | gnt_box_set_toplevel(GNT_BOX(ggc->window), TRUE); |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
319 | gnt_box_set_pad(GNT_BOX(ggc->window), 0); |
|
14413
bd998fe17d82
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14318
diff
changeset
|
320 | gnt_widget_set_name(ggc->window, "conversation-window"); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
321 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
322 | ggc->tv = gnt_text_view_new(); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
323 | gnt_box_add_widget(GNT_BOX(ggc->window), ggc->tv); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
324 | gnt_widget_set_name(ggc->tv, "conversation-window-textview"); |
| 15884 | 325 | gnt_widget_set_size(ggc->tv, purple_prefs_get_int(PREF_ROOT "/size/width"), |
| 326 | purple_prefs_get_int(PREF_ROOT "/size/height")); | |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
327 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
328 | ggc->entry = gnt_entry_new(NULL); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
329 | gnt_box_add_widget(GNT_BOX(ggc->window), ggc->entry); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
330 | gnt_widget_set_name(ggc->entry, "conversation-window-entry"); |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
331 | gnt_entry_set_history_length(GNT_ENTRY(ggc->entry), -1); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
332 | gnt_entry_set_word_suggest(GNT_ENTRY(ggc->entry), TRUE); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
333 | gnt_entry_set_always_suggest(GNT_ENTRY(ggc->entry), FALSE); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
334 | |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
335 | 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
|
336 | 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
|
337 | |
| 15884 | 338 | gnt_widget_set_position(ggc->window, purple_prefs_get_int(PREF_ROOT "/position/x"), |
| 339 | purple_prefs_get_int(PREF_ROOT "/position/y")); | |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
340 | gnt_widget_show(ggc->window); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
341 | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
342 | 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
|
343 | 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
|
344 | |
| 15884 | 345 | if (type == PURPLE_CONV_TYPE_IM) { |
|
15841
f2c4347c1597
Typing notifications are relevant only for IMs.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15821
diff
changeset
|
346 | g_signal_connect(G_OBJECT(ggc->entry), "text_changed", G_CALLBACK(send_typing_notification), ggc); |
| 15884 | 347 | purple_signal_connect(purple_conversations_get_handle(), "buddy-typing", finch_conv_get_handle(), |
| 348 | PURPLE_CALLBACK(update_buddy_typing), NULL); | |
| 349 | purple_signal_connect(purple_conversations_get_handle(), "buddy-typing-stopped", finch_conv_get_handle(), | |
| 350 | PURPLE_CALLBACK(update_buddy_typing), NULL); | |
|
15841
f2c4347c1597
Typing notifications are relevant only for IMs.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15821
diff
changeset
|
351 | } |
| 14612 | 352 | |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
353 | g_free(title); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
354 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
355 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
356 | static void |
| 15884 | 357 | finch_destroy_conversation(PurpleConversation *conv) |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
358 | { |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
359 | /* do stuff here */ |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
360 | FinchConv *ggc = conv->ui_data; |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
361 | ggc->list = g_list_remove(ggc->list, conv); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
362 | if (ggc->list && conv == ggc->active_conv) |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
363 | ggc->active_conv = ggc->list->data; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
364 | |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
365 | if (ggc->list == NULL) { |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
366 | gnt_widget_destroy(ggc->window); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
367 | g_free(ggc); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
368 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
369 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
370 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
371 | static void |
| 15884 | 372 | finch_write_common(PurpleConversation *conv, const char *who, const char *message, |
| 373 | PurpleMessageFlags flags, time_t mtime) | |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
374 | { |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
375 | FinchConv *ggconv = conv->ui_data; |
|
14073
db4207d73bd7
[gaim-migrate @ 16603]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
376 | char *strip, *newline; |
|
13993
8c12e7d15b40
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
377 | GntTextFormatFlags fl = 0; |
|
14092
191e12cbe464
[gaim-migrate @ 16632]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14086
diff
changeset
|
378 | int pos; |
|
15233
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
379 | gboolean notify; |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
380 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
381 | g_return_if_fail(ggconv != NULL); |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
382 | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
383 | if (ggconv->active_conv != conv) { |
| 15884 | 384 | if (flags & (PURPLE_MESSAGE_SEND | PURPLE_MESSAGE_RECV)) |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
385 | finch_conversation_set_active(conv); |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
386 | else |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
387 | return; |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
388 | } |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
389 | |
|
14284
6c99565d0f50
[gaim-migrate @ 16903]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14253
diff
changeset
|
390 | 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
|
391 | |
|
15233
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
392 | notify = !!gnt_text_view_tag_change(GNT_TEXT_VIEW(ggconv->tv), "typing", NULL, TRUE); |
|
14777
c0ad17caf8ad
[gaim-migrate @ 17469]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14750
diff
changeset
|
393 | 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
|
394 | |
|
14296
ac12fbad24f7
[gaim-migrate @ 16916]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14284
diff
changeset
|
395 | /* Unnecessary to print the timestamp for delayed message */ |
| 15884 | 396 | if (!(flags & PURPLE_MESSAGE_DELAYED) && |
| 397 | purple_prefs_get_bool("/purple/gnt/conversations/timestamps")) | |
|
14122
daf2aaa61829
[gaim-migrate @ 16678]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
398 | gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), |
| 15884 | 399 | purple_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
|
400 | |
| 15884 | 401 | if (flags & PURPLE_MESSAGE_AUTO_RESP) |
|
14483
82b73e12ce27
[gaim-migrate @ 17129]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14470
diff
changeset
|
402 | 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
|
403 | _("<AUTO-REPLY> "), GNT_TEXT_FLAG_BOLD); |
|
82b73e12ce27
[gaim-migrate @ 17129]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14470
diff
changeset
|
404 | |
| 15884 | 405 | if (who && *who && (flags & (PURPLE_MESSAGE_SEND | PURPLE_MESSAGE_RECV))) |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
406 | { |
|
14427
8af0c81db5b9
[gaim-migrate @ 17071]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
407 | char * name = NULL; |
|
8af0c81db5b9
[gaim-migrate @ 17071]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
408 | |
| 15884 | 409 | if (purple_message_meify((char*)message, -1)) |
|
14427
8af0c81db5b9
[gaim-migrate @ 17071]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
410 | name = g_strdup_printf("*** %s ", who); |
|
8af0c81db5b9
[gaim-migrate @ 17071]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
411 | else |
|
8af0c81db5b9
[gaim-migrate @ 17071]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
412 | name = g_strdup_printf("%s: ", who); |
|
8af0c81db5b9
[gaim-migrate @ 17071]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
413 | |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
414 | 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
|
415 | name, GNT_TEXT_FLAG_BOLD); |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
416 | g_free(name); |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
417 | } |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
418 | else |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
419 | fl = GNT_TEXT_FLAG_DIM; |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
420 | |
| 15884 | 421 | if (flags & PURPLE_MESSAGE_ERROR) |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
422 | fl |= GNT_TEXT_FLAG_BOLD; |
| 15884 | 423 | if (flags & PURPLE_MESSAGE_NICK) |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
424 | fl |= GNT_TEXT_FLAG_UNDERLINE; |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
425 | |
|
14073
db4207d73bd7
[gaim-migrate @ 16603]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
426 | /* XXX: Remove this workaround when textview can parse messages. */ |
| 15884 | 427 | newline = purple_strdup_withhtml(message); |
| 428 | strip = purple_markup_strip_html(newline); | |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
429 | 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
|
430 | strip, fl); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
431 | |
|
14073
db4207d73bd7
[gaim-migrate @ 16603]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14072
diff
changeset
|
432 | g_free(newline); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
433 | g_free(strip); |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
434 | |
|
15233
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
435 | if (notify) { |
| 15884 | 436 | strip = g_strdup_printf(_("\n%s is typing..."), purple_conversation_get_name(conv)); |
|
15233
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
437 | gnt_text_view_append_text_with_tag(GNT_TEXT_VIEW(ggconv->tv), |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
438 | strip, GNT_TEXT_FLAG_DIM, "typing"); |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
439 | g_free(strip); |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
440 | } |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
441 | |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
442 | if (pos <= 1) |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
443 | gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 0); |
|
fdd9e78534ad
[gaim-migrate @ 17957]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14939
diff
changeset
|
444 | |
| 15884 | 445 | if (flags & (PURPLE_MESSAGE_RECV | PURPLE_MESSAGE_NICK | PURPLE_MESSAGE_ERROR)) |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
446 | gnt_widget_set_urgent(ggconv->tv); |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
447 | } |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
448 | |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
449 | static void |
| 15884 | 450 | finch_write_chat(PurpleConversation *conv, const char *who, const char *message, |
| 451 | PurpleMessageFlags flags, time_t mtime) | |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
452 | { |
| 15884 | 453 | purple_conversation_write(conv, who, message, flags, mtime); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
454 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
455 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
456 | static void |
| 15884 | 457 | finch_write_im(PurpleConversation *conv, const char *who, const char *message, |
| 458 | PurpleMessageFlags flags, time_t mtime) | |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
459 | { |
| 15884 | 460 | PurpleAccount *account = purple_conversation_get_account(conv); |
| 461 | if (flags & PURPLE_MESSAGE_SEND) | |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
462 | { |
| 15884 | 463 | who = purple_connection_get_display_name(purple_account_get_connection(account)); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
464 | if (!who) |
| 15884 | 465 | who = purple_account_get_alias(account); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
466 | if (!who) |
| 15884 | 467 | who = purple_account_get_username(account); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
468 | } |
| 15884 | 469 | else if (flags & PURPLE_MESSAGE_RECV) |
| 14070 | 470 | { |
| 15884 | 471 | PurpleBuddy *buddy; |
| 472 | who = purple_conversation_get_name(conv); | |
| 473 | buddy = purple_find_buddy(account, who); | |
| 14070 | 474 | if (buddy) |
| 15884 | 475 | who = purple_buddy_get_contact_alias(buddy); |
| 14070 | 476 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
477 | |
| 15884 | 478 | purple_conversation_write(conv, who, message, flags, mtime); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
479 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
480 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
481 | static void |
| 15884 | 482 | finch_write_conv(PurpleConversation *conv, const char *who, const char *alias, |
| 483 | const char *message, PurpleMessageFlags flags, time_t mtime) | |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
484 | { |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
485 | const char *name; |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
486 | if (alias && *alias) |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
487 | name = alias; |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
488 | else if (who && *who) |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
489 | name = who; |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
490 | else |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
491 | name = NULL; |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
492 | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
493 | finch_write_common(conv, name, message, flags, mtime); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
494 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
495 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
496 | static void |
| 15884 | 497 | finch_chat_add_users(PurpleConversation *conv, GList *users, gboolean new_arrivals) |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
498 | { |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
499 | FinchConv *ggc = conv->ui_data; |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
500 | GntEntry *entry = GNT_ENTRY(ggc->entry); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
501 | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
502 | if (!new_arrivals) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
503 | { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
504 | /* Print the list of users in the room */ |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
505 | GString *string = g_string_new(_("List of users:\n")); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
506 | GList *iter; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
507 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
508 | for (iter = users; iter; iter = iter->next) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
509 | { |
| 15884 | 510 | PurpleConvChatBuddy *cbuddy = iter->data; |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
511 | char *str; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
512 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
513 | if ((str = cbuddy->alias) == NULL) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
514 | str = cbuddy->name; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
515 | g_string_append_printf(string, "[ %s ]", str); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
516 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
517 | |
| 15884 | 518 | purple_conversation_write(conv, NULL, string->str, |
| 519 | PURPLE_MESSAGE_SYSTEM, time(NULL)); | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
520 | g_string_free(string, TRUE); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
521 | } |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
522 | |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
523 | for (; users; users = users->next) |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
524 | { |
| 15884 | 525 | PurpleConvChatBuddy *cbuddy = users->data; |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
526 | gnt_entry_add_suggest(entry, cbuddy->name); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
527 | gnt_entry_add_suggest(entry, cbuddy->alias); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
528 | } |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
529 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
530 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
531 | static void |
| 15884 | 532 | finch_chat_rename_user(PurpleConversation *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
|
533 | { |
|
14318
07aba2cdc261
[gaim-migrate @ 16938]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14296
diff
changeset
|
534 | /* Update the name for string completion */ |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
535 | FinchConv *ggc = conv->ui_data; |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
536 | GntEntry *entry = GNT_ENTRY(ggc->entry); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
537 | gnt_entry_remove_suggest(entry, old); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
538 | gnt_entry_add_suggest(entry, new_n); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
539 | gnt_entry_add_suggest(entry, new_a); |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
540 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
541 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
542 | static void |
| 15884 | 543 | finch_chat_remove_user(PurpleConversation *conv, GList *list) |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
544 | { |
|
14318
07aba2cdc261
[gaim-migrate @ 16938]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14296
diff
changeset
|
545 | /* Remove the name from string completion */ |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
546 | FinchConv *ggc = conv->ui_data; |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
547 | GntEntry *entry = GNT_ENTRY(ggc->entry); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
548 | for (; list; list = list->next) |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14122
diff
changeset
|
549 | gnt_entry_remove_suggest(entry, list->data); |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
550 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
551 | |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
552 | static void |
| 15884 | 553 | finch_chat_update_user(PurpleConversation *conv, const char *user) |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
554 | { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
555 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
556 | |
| 15884 | 557 | static PurpleConversationUiOps conv_ui_ops = |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
558 | { |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
559 | .create_conversation = finch_create_conversation, |
|
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
560 | .destroy_conversation = finch_destroy_conversation, |
|
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
561 | .write_chat = finch_write_chat, |
|
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
562 | .write_im = finch_write_im, |
|
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
563 | .write_conv = finch_write_conv, |
|
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
564 | .chat_add_users = finch_chat_add_users, |
|
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
565 | .chat_rename_user = finch_chat_rename_user, |
|
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
566 | .chat_remove_users = finch_chat_remove_user, |
|
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
567 | .chat_update_user = finch_chat_update_user, |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
568 | .present = NULL, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
569 | .has_focus = NULL, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
570 | .custom_smiley_add = NULL, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
571 | .custom_smiley_write = NULL, |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
572 | .custom_smiley_close = NULL |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
573 | }; |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
574 | |
| 15884 | 575 | PurpleConversationUiOps *finch_conv_get_ui_ops() |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
576 | { |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
577 | return &conv_ui_ops; |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
578 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
579 | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
580 | /* Xerox */ |
| 15884 | 581 | static PurpleCmdRet |
| 582 | say_command_cb(PurpleConversation *conv, | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
583 | const char *cmd, char **args, char **error, void *data) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
584 | { |
| 15884 | 585 | if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) |
| 586 | purple_conv_im_send(PURPLE_CONV_IM(conv), args[0]); | |
| 587 | else if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) | |
| 588 | purple_conv_chat_send(PURPLE_CONV_CHAT(conv), args[0]); | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
589 | |
| 15884 | 590 | return PURPLE_CMD_RET_OK; |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
591 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
592 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
593 | /* Xerox */ |
| 15884 | 594 | static PurpleCmdRet |
| 595 | me_command_cb(PurpleConversation *conv, | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
596 | const char *cmd, char **args, char **error, void *data) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
597 | { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
598 | char *tmp; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
599 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
600 | tmp = g_strdup_printf("/me %s", args[0]); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
601 | |
| 15884 | 602 | if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) |
| 603 | purple_conv_im_send(PURPLE_CONV_IM(conv), tmp); | |
| 604 | else if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) | |
| 605 | purple_conv_chat_send(PURPLE_CONV_CHAT(conv), tmp); | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
606 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
607 | g_free(tmp); |
| 15884 | 608 | return PURPLE_CMD_RET_OK; |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
609 | } |
|
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 | /* Xerox */ |
| 15884 | 612 | static PurpleCmdRet |
| 613 | debug_command_cb(PurpleConversation *conv, | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
614 | const char *cmd, char **args, char **error, void *data) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
615 | { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
616 | char *tmp, *markup; |
| 15884 | 617 | PurpleCmdStatus status; |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
618 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
619 | if (!g_ascii_strcasecmp(args[0], "version")) { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
620 | tmp = g_strdup_printf("me is using %s.", VERSION); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
621 | markup = g_markup_escape_text(tmp, -1); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
622 | |
| 15884 | 623 | status = purple_cmd_do_command(conv, tmp, markup, error); |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
624 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
625 | g_free(tmp); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
626 | g_free(markup); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
627 | return status; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
628 | } else { |
| 15884 | 629 | purple_conversation_write(conv, NULL, _("Supported debug options are: version"), |
| 630 | PURPLE_MESSAGE_NO_LOG|PURPLE_MESSAGE_ERROR, time(NULL)); | |
| 631 | return PURPLE_CMD_STATUS_OK; | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
632 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
633 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
634 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
635 | /* Xerox */ |
| 15884 | 636 | static PurpleCmdRet |
| 637 | clear_command_cb(PurpleConversation *conv, | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
638 | const char *cmd, char **args, char **error, void *data) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
639 | { |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
640 | FinchConv *ggconv = conv->ui_data; |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
641 | gnt_text_view_clear(GNT_TEXT_VIEW(ggconv->tv)); |
| 15884 | 642 | return PURPLE_CMD_STATUS_OK; |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
643 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
644 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
645 | /* Xerox */ |
| 15884 | 646 | static PurpleCmdRet |
| 647 | help_command_cb(PurpleConversation *conv, | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
648 | const char *cmd, char **args, char **error, void *data) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
649 | { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
650 | GList *l, *text; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
651 | GString *s; |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
652 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
653 | if (args[0] != NULL) { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
654 | s = g_string_new(""); |
| 15884 | 655 | text = purple_cmd_help(conv, args[0]); |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
656 | |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
657 | if (text) { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
658 | for (l = text; l; l = l->next) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
659 | if (l->next) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
660 | g_string_append_printf(s, "%s\n", (char *)l->data); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
661 | else |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
662 | g_string_append_printf(s, "%s", (char *)l->data); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
663 | } else { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
664 | g_string_append(s, _("No such command (in this context).")); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
665 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
666 | } else { |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
667 | 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
|
668 | "The following commands are available in this context:\n")); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
669 | |
| 15884 | 670 | text = purple_cmd_list(conv); |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
671 | for (l = text; l; l = l->next) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
672 | if (l->next) |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
673 | g_string_append_printf(s, "%s, ", (char *)l->data); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
674 | else |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
675 | g_string_append_printf(s, "%s.", (char *)l->data); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
676 | g_list_free(text); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
677 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
678 | |
| 15884 | 679 | purple_conversation_write(conv, NULL, s->str, PURPLE_MESSAGE_NO_LOG, time(NULL)); |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
680 | g_string_free(s, TRUE); |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
681 | |
| 15884 | 682 | return PURPLE_CMD_STATUS_OK; |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
683 | } |
|
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
684 | |
| 15884 | 685 | static PurpleCmdRet |
| 686 | cmd_show_window(PurpleConversation *conv, const char *cmd, char **args, char **error, gpointer data) | |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
687 | { |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
688 | void (*callback)() = data; |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
689 | callback(); |
| 15884 | 690 | return PURPLE_CMD_STATUS_OK; |
|
14086
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
691 | } |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
692 | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
693 | void finch_conversation_init() |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
694 | { |
| 15884 | 695 | purple_prefs_add_none(PREF_ROOT); |
| 696 | purple_prefs_add_none(PREF_ROOT "/size"); | |
| 697 | purple_prefs_add_int(PREF_ROOT "/size/width", 70); | |
| 698 | purple_prefs_add_int(PREF_ROOT "/size/height", 20); | |
| 699 | purple_prefs_add_none(PREF_ROOT "/position"); | |
| 700 | purple_prefs_add_int(PREF_ROOT "/position/x", 0); | |
| 701 | purple_prefs_add_int(PREF_ROOT "/position/y", 0); | |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
702 | |
|
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14070
diff
changeset
|
703 | /* Xerox the commands */ |
| 15884 | 704 | purple_cmd_register("say", "S", PURPLE_CMD_P_DEFAULT, |
| 705 | PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM, NULL, | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
706 | say_command_cb, _("say <message>: Send a message normally as if you weren't using a command."), NULL); |
| 15884 | 707 | purple_cmd_register("me", "S", PURPLE_CMD_P_DEFAULT, |
| 708 | PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM, NULL, | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
709 | me_command_cb, _("me <action>: Send an IRC style action to a buddy or chat."), NULL); |
| 15884 | 710 | purple_cmd_register("debug", "w", PURPLE_CMD_P_DEFAULT, |
| 711 | PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM, NULL, | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
712 | debug_command_cb, _("debug <option>: Send various debug information to the current conversation."), NULL); |
| 15884 | 713 | purple_cmd_register("clear", "", PURPLE_CMD_P_DEFAULT, |
| 714 | PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM, NULL, | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
715 | clear_command_cb, _("clear: Clears the conversation scrollback."), NULL); |
| 15884 | 716 | purple_cmd_register("help", "w", PURPLE_CMD_P_DEFAULT, |
| 717 | PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS, NULL, | |
|
14033
127990de806d
[gaim-migrate @ 16529]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
718 | 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
|
719 | |
|
732c14687955
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14073
diff
changeset
|
720 | /* Now some commands to bring up some other windows */ |
| 15884 | 721 | purple_cmd_register("plugins", "", PURPLE_CMD_P_DEFAULT, |
| 722 | PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM, NULL, | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
723 | cmd_show_window, _("plugins: Show the plugins window."), finch_plugins_show_all); |
| 15884 | 724 | purple_cmd_register("buddylist", "", PURPLE_CMD_P_DEFAULT, |
| 725 | PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM, NULL, | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
726 | cmd_show_window, _("buddylist: Show the buddylist."), finch_blist_show); |
| 15884 | 727 | purple_cmd_register("accounts", "", PURPLE_CMD_P_DEFAULT, |
| 728 | PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM, NULL, | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
729 | cmd_show_window, _("accounts: Show the accounts window."), finch_accounts_show_all); |
| 15884 | 730 | purple_cmd_register("debugwin", "", PURPLE_CMD_P_DEFAULT, |
| 731 | PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM, NULL, | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
732 | cmd_show_window, _("debugwin: Show the debug window."), finch_debug_window_show); |
| 15884 | 733 | purple_cmd_register("prefs", "", PURPLE_CMD_P_DEFAULT, |
| 734 | PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM, NULL, | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
735 | cmd_show_window, _("prefs: Show the preference window."), finch_prefs_show_all); |
| 15884 | 736 | purple_cmd_register("status", "", PURPLE_CMD_P_DEFAULT, |
| 737 | PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM, NULL, | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
738 | cmd_show_window, _("statuses: Show the savedstatuses window."), finch_savedstatus_show_all); |
|
13947
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
739 | } |
|
a77f6f615c20
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
740 | |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
741 | void finch_conversation_uninit() |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
742 | { |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
743 | } |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
744 | |
| 15884 | 745 | void finch_conversation_set_active(PurpleConversation *conv) |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
746 | { |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15841
diff
changeset
|
747 | FinchConv *ggconv = conv->ui_data; |
| 15884 | 748 | PurpleAccount *account; |
|
14470
352d47a0724d
[gaim-migrate @ 17116]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14450
diff
changeset
|
749 | char *title; |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
750 | |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
751 | g_return_if_fail(ggconv); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
752 | g_return_if_fail(g_list_find(ggconv->list, conv)); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
753 | |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
754 | ggconv->active_conv = conv; |
| 15884 | 755 | account = purple_conversation_get_account(conv); |
| 14612 | 756 | title = get_conversation_title(conv, account); |
|
14470
352d47a0724d
[gaim-migrate @ 17116]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14450
diff
changeset
|
757 | gnt_screen_rename_widget(ggconv->window, title); |
|
352d47a0724d
[gaim-migrate @ 17116]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14450
diff
changeset
|
758 | g_free(title); |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
759 | } |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14427
diff
changeset
|
760 |