Mercurial > pidgin-twitter
annotate main.c @ 337:9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Thu, 15 Oct 2009 15:49:12 +0900 |
parents | 8de140bc8d13 |
children | 6ee1ed15688c |
rev | line source |
---|---|
0 | 1 /* |
2 * Pidgin-Twitter plugin. | |
3 * | |
4 * This program is free software; you can redistribute it and/or | |
5 * modify it under the terms of the GNU General Public License as | |
6 * published by the Free Software Foundation; either version 2 of the | |
7 * License, or (at your option) any later version. | |
8 * | |
9 * This program is distributed in the hope that it will be useful, but | |
10 * WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
12 * General Public License for more details. | |
13 * | |
14 * You should have received a copy of the GNU General Public License | |
15 * along with this program; if not, write to the Free Software | |
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | |
17 * 02111-1307, USA. | |
18 */ | |
19 #define PURPLE_PLUGINS 1 | |
20 | |
64
da37857f3033
- separated header things into pidgin-twitter.h
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
63
diff
changeset
|
21 #include "pidgin-twitter.h" |
164 | 22 |
119
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
23 /***********/ |
0 | 24 /* globals */ |
119
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
25 /***********/ |
254
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
26 GRegex *regp[NUM_REGPS]; |
265
c2944685ac8e
- update README to meet 0.8.1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
262
diff
changeset
|
27 GHashTable *icon_hash[NUM_SERVICES]; |
c2944685ac8e
- update README to meet 0.8.1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
262
diff
changeset
|
28 source_t source; |
36
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
29 static gboolean suppress_oops = FALSE; |
94
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
30 static GHashTable *conv_hash = NULL; |
220
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
31 static GList *wassr_parrot_list = NULL; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
32 static GList *identica_parrot_list = NULL; |
302 | 33 static GList *ffeed_parrot_list = NULL; |
330
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
34 guint64 reply_to_msgid = 0; |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
35 PurpleAccount *account_for_twitter = NULL; |
214
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
36 #ifdef _WIN32 |
260
d973f9debe86
Fix Win32 compile error
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
259
diff
changeset
|
37 gboolean blink_state = FALSE; |
d973f9debe86
Fix Win32 compile error
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
259
diff
changeset
|
38 gboolean blink_modified = FALSE; |
214
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
39 #endif |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
40 |
259 | 41 /**************/ |
254
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
42 /* prototypes */ |
259 | 43 /**************/ |
254
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
44 static void cleanup_hash_entry_func(gpointer key, gpointer value, gpointer user_data); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
45 static void init_plugin(PurplePlugin *plugin); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
46 static gboolean load_plugin(PurplePlugin *plugin); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
47 static gboolean unload_plugin(PurplePlugin *plugin); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
48 static gboolean sending_im_cb(PurpleAccount *account, char *recipient, char **buffer, void *data); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
49 static gboolean eval(const GMatchInfo *match_info, GString *result, gpointer user_data); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
50 static void translate(gchar **str, gint which, gint service); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
51 static void playsound(gchar **str, gint which); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
52 static gboolean writing_im_cb(PurpleAccount *account, char *sender, char **buffer, PurpleConversation *conv, int flags, void *data); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
53 static void insert_text_cb(GtkTextBuffer *textbuffer, GtkTextIter *position, gchar *new_text, gint new_text_length, gpointer user_data); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
54 static void delete_text_cb(GtkTextBuffer *textbuffer, GtkTextIter *start_pos, GtkTextIter *end_pos, gpointer user_data); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
55 static void detach_from_conv(PurpleConversation *conv, gpointer null); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
56 static void delete_requested_icon_marks(PidginConversation *gtkconv, GHashTable *table); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
57 static void attach_to_conv(PurpleConversation *conv, gpointer null); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
58 static void conv_created_cb(PurpleConversation *conv, gpointer null); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
59 static void deleting_conv_cb(PurpleConversation *conv); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
60 static gboolean receiving_im_cb(PurpleAccount *account, char **sender, char **buffer, PurpleConversation *conv, PurpleMessageFlags *flags, void *data); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
61 static void remove_marks_func(gpointer key, gpointer value, gpointer user_data); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
62 static void cancel_fetch_func(gpointer key, gpointer value, gpointer user_data); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
63 static gboolean displaying_im_cb(PurpleAccount *account, const char *who, char **message, PurpleConversation *conv, PurpleMessageFlags flags, void *data); |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
64 static void displayed_im_cb(PurpleAccount *account, const char *who, char *message, PurpleConversation *conv, PurpleMessageFlags flags); |
259 | 65 #ifndef _WIN32 |
66 extern gchar *sanitize_utf(const gchar *msg, gsize len, gsize *newlen) __attribute__ ((weak)); | |
67 #endif | |
330
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
68 gboolean pt_uri_handler(const char *proto, const char *cmd, GHashTable *params); |
254
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
69 |
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
70 |
119
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
71 /*************/ |
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
72 /* functions */ |
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
73 /*************/ |
20
4c236a7a128f
- now escape feature works
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
19
diff
changeset
|
74 static gboolean |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
75 sending_im_cb(PurpleAccount *account, char *recipient, char **buffer, |
20
4c236a7a128f
- now escape feature works
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
19
diff
changeset
|
76 void *data) |
4c236a7a128f
- now escape feature works
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
19
diff
changeset
|
77 { |
45
746ff3b54c10
trying another way to strip markups. in this revision, all markups are striped with strip_html_markup() on sending a message.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
44
diff
changeset
|
78 int utflen, bytes; |
268
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
79 int service = get_service_type_by_account(account, recipient); |
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
80 gchar *tmp, *plain; |
302 | 81 gchar *ffeed_tmp; |
268
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
82 gsize dummy; |
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
83 |
45
746ff3b54c10
trying another way to strip markups. in this revision, all markups are striped with strip_html_markup() on sending a message.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
44
diff
changeset
|
84 twitter_debug("called\n"); |
746ff3b54c10
trying another way to strip markups. in this revision, all markups are striped with strip_html_markup() on sending a message.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
44
diff
changeset
|
85 |
268
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
86 if(service == unknown_service) |
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
87 return FALSE; |
88
090e28908f09
apply strip_markup() to wassr too.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
87
diff
changeset
|
88 |
136
e67b0231ba56
completely re-wrote strip_html_markup(). new function permits non-tag strings surrounded by <>.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
135
diff
changeset
|
89 /* strip all markups */ |
268
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
90 tmp = strip_html_markup(*buffer); |
210
00e26402de03
apply sanitize_utf() if it is available.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
209
diff
changeset
|
91 |
217
55908ee1467f
workaround for that mingw's ld does not support weak declaration.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
215
diff
changeset
|
92 #ifndef _WIN32 |
268
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
93 if(sanitize_utf) { |
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
94 plain = sanitize_utf(tmp, -1, &dummy); |
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
95 g_free(tmp); |
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
96 } |
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
97 else |
217
55908ee1467f
workaround for that mingw's ld does not support weak declaration.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
215
diff
changeset
|
98 #endif |
268
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
99 plain = tmp; |
207
0eac0abcc0aa
improved parrot blocker. the string to be pushed should not be escaped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
205
diff
changeset
|
100 |
271
7aad61f56c48
someone broke parrot blocker. yes, it's me!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
269
diff
changeset
|
101 switch(service) { |
7aad61f56c48
someone broke parrot blocker. yes, it's me!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
269
diff
changeset
|
102 case wassr_service: |
268
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
103 /* store sending message to address parrot problem */ |
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
104 wassr_parrot_list = |
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
105 g_list_prepend(wassr_parrot_list, g_strdup(plain)); |
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
106 twitter_debug("wassr parrot pushed:%s\n", plain); |
271
7aad61f56c48
someone broke parrot blocker. yes, it's me!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
269
diff
changeset
|
107 break; |
7aad61f56c48
someone broke parrot blocker. yes, it's me!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
269
diff
changeset
|
108 case identica_service: |
268
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
109 /* store sending message to address parrot problem */ |
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
110 identica_parrot_list = |
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
111 g_list_prepend(identica_parrot_list, g_strdup(plain)); |
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
112 twitter_debug("identica parrot pushed:%s\n", plain); |
271
7aad61f56c48
someone broke parrot blocker. yes, it's me!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
269
diff
changeset
|
113 break; |
302 | 114 case ffeed_service: |
115 /* store sending message to address parrot problem */ | |
116 ffeed_parrot_list = | |
117 g_list_prepend(ffeed_parrot_list, g_strdup(plain)); | |
118 twitter_debug("ffeed parrot pushed:%s\n", plain); | |
119 | |
120 /* prepend @me */ | |
121 ffeed_tmp = g_strdup_printf("@me %s", plain); | |
122 g_free(plain); | |
123 plain = ffeed_tmp; | |
124 break; | |
271
7aad61f56c48
someone broke parrot blocker. yes, it's me!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
269
diff
changeset
|
125 default: |
7aad61f56c48
someone broke parrot blocker. yes, it's me!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
269
diff
changeset
|
126 break; |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
127 } |
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
128 |
268
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
129 g_free(*buffer); |
290
6a206fbc6e46
do not apply xml escape to sending message.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
289
diff
changeset
|
130 *buffer = plain; |
268
0926fa46afe0
simplify sending_im_cb() a bit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
265
diff
changeset
|
131 |
88
090e28908f09
apply strip_markup() to wassr too.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
87
diff
changeset
|
132 /* return here if the message is not to twitter */ |
274
934c4b053247
fixed a breakage which had prevented post to twitter.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
271
diff
changeset
|
133 if(service != twitter_service) |
44 | 134 return FALSE; |
135 | |
136 /* escape pseudo command */ | |
274
934c4b053247
fixed a breakage which had prevented post to twitter.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
271
diff
changeset
|
137 if(service == twitter_service && |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
138 purple_prefs_get_bool(OPT_ESCAPE_PSEUDO)) { |
44 | 139 escape(buffer); |
140 } | |
40
e60e6cbdc4c4
- added is_twitter_account().
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
39
diff
changeset
|
141 |
72
af4f31bce461
Support API base message posting
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
71
diff
changeset
|
142 /* update status with Twitter API instead of IM protocol */ |
af4f31bce461
Support API base message posting
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
71
diff
changeset
|
143 if (purple_prefs_get_bool(OPT_API_BASE_POST)) { |
af4f31bce461
Support API base message posting
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
71
diff
changeset
|
144 if (buffer && *buffer) { |
af4f31bce461
Support API base message posting
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
71
diff
changeset
|
145 post_status_with_api(account, buffer); |
af4f31bce461
Support API base message posting
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
71
diff
changeset
|
146 (*buffer)[0] = '\0'; |
af4f31bce461
Support API base message posting
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
71
diff
changeset
|
147 } |
af4f31bce461
Support API base message posting
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
71
diff
changeset
|
148 return FALSE; |
af4f31bce461
Support API base message posting
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
71
diff
changeset
|
149 } |
74
6b9593d1ffed
quick hack to suppress annoying completion message from wassr.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
73
diff
changeset
|
150 |
44 | 151 /* try to suppress oops message */ |
45
746ff3b54c10
trying another way to strip markups. in this revision, all markups are striped with strip_html_markup() on sending a message.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
44
diff
changeset
|
152 utflen = g_utf8_strlen(*buffer, -1); |
746ff3b54c10
trying another way to strip markups. in this revision, all markups are striped with strip_html_markup() on sending a message.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
44
diff
changeset
|
153 bytes = strlen(*buffer); |
44 | 154 twitter_debug("utflen = %d bytes = %d\n", utflen, bytes); |
155 if(bytes > 140 && utflen <= 140) | |
156 suppress_oops = TRUE; | |
40
e60e6cbdc4c4
- added is_twitter_account().
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
39
diff
changeset
|
157 |
20
4c236a7a128f
- now escape feature works
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
19
diff
changeset
|
158 return FALSE; |
4c236a7a128f
- now escape feature works
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
19
diff
changeset
|
159 } |
4c236a7a128f
- now escape feature works
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
19
diff
changeset
|
160 |
1 | 161 static gboolean |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
162 eval(const GMatchInfo *match_info, GString *result, gpointer user_data) |
1 | 163 { |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
164 eval_data *data = (eval_data *)user_data; |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
165 gint which = data->which; |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
166 gint service = data->service; |
222
b168502b73c3
expanded size of substitution buffer to 32KB. 128 bytes were not sufficient if both user name and channel name are rather long. tenforward reported this problem and umq pointed out the cause.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
221
diff
changeset
|
167 gchar sub[SUBST_BUF_SIZE]; |
1 | 168 |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
169 twitter_debug("which = %d service = %d\n", which, service); |
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
170 |
48
42869098eda3
adapted for msn style option (or new line plugin).
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
46
diff
changeset
|
171 if(which == RECIPIENT) { |
223
c3efae72f72a
tweaked the recipient pattern to allow mail addresses or some special strings such as "idolm@ster."
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
222
diff
changeset
|
172 gchar *match1 = g_match_info_fetch(match_info, 1); /* preceding \s */ |
c3efae72f72a
tweaked the recipient pattern to allow mail addresses or some special strings such as "idolm@ster."
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
222
diff
changeset
|
173 gchar *match2 = g_match_info_fetch(match_info, 2); /* recipient */ |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
174 const gchar *format = NULL; |
223
c3efae72f72a
tweaked the recipient pattern to allow mail addresses or some special strings such as "idolm@ster."
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
222
diff
changeset
|
175 |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
176 switch(service) { |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
177 case twitter_service: |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
178 format = RECIPIENT_FORMAT_TWITTER; |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
179 break; |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
180 case wassr_service: |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
181 format = RECIPIENT_FORMAT_WASSR; |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
182 break; |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
183 case identica_service: |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
184 format = RECIPIENT_FORMAT_IDENTICA; |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
185 break; |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
186 case jisko_service: |
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
187 format = RECIPIENT_FORMAT_JISKO; |
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
188 break; |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
189 case ffeed_service: |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
190 format = RECIPIENT_FORMAT_FFEED; |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
191 break; |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
192 default: |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
193 twitter_debug("unknown service\n"); |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
194 break; |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
195 } |
223
c3efae72f72a
tweaked the recipient pattern to allow mail addresses or some special strings such as "idolm@ster."
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
222
diff
changeset
|
196 g_snprintf(sub, SUBST_BUF_SIZE, format, match1 ? match1: "", match2, match2); |
c3efae72f72a
tweaked the recipient pattern to allow mail addresses or some special strings such as "idolm@ster."
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
222
diff
changeset
|
197 g_free(match1); |
c3efae72f72a
tweaked the recipient pattern to allow mail addresses or some special strings such as "idolm@ster."
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
222
diff
changeset
|
198 g_free(match2); |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
199 } |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
200 else if(which == SENDER) { |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
201 gchar *match1 = g_match_info_fetch(match_info, 1); /* preceding CR|LF */ |
148
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
202 gchar *match2 = g_match_info_fetch(match_info, 2); /* sender */ |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
203 const gchar *format = NULL; |
10
4bd8c89b4749
now it plays sound when sender of message is in the userlist.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
9
diff
changeset
|
204 |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
205 switch(service) { |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
206 case twitter_service: |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
207 format = SENDER_FORMAT_TWITTER; |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
208 break; |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
209 case wassr_service: |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
210 format = SENDER_FORMAT_WASSR; |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
211 break; |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
212 case identica_service: |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
213 format = SENDER_FORMAT_IDENTICA; |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
214 break; |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
215 case jisko_service: |
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
216 format = SENDER_FORMAT_JISKO; |
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
217 break; |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
218 default: |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
219 twitter_debug("unknown service\n"); |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
220 break; |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
221 } |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
222 |
222
b168502b73c3
expanded size of substitution buffer to 32KB. 128 bytes were not sufficient if both user name and channel name are rather long. tenforward reported this problem and umq pointed out the cause.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
221
diff
changeset
|
223 g_snprintf(sub, SUBST_BUF_SIZE, format, match1 ? match1: "", match2, match2); |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
224 |
48
42869098eda3
adapted for msn style option (or new line plugin).
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
46
diff
changeset
|
225 g_free(match1); |
42869098eda3
adapted for msn style option (or new line plugin).
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
46
diff
changeset
|
226 g_free(match2); |
42869098eda3
adapted for msn style option (or new line plugin).
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
46
diff
changeset
|
227 } |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
228 else if(which == SENDER_FFEED) { |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
229 gchar *match1 = g_match_info_fetch(match_info, 1); /* preceding CR|LF */ |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
230 gchar *match2 = g_match_info_fetch(match_info, 2); /* sender */ |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
231 const gchar *format = NULL; |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
232 |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
233 format = SENDER_FORMAT_FFEED; |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
234 g_snprintf(sub, SUBST_BUF_SIZE, format, match1 ? match1: "", match2, match2); |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
235 |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
236 g_free(match1); |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
237 g_free(match2); |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
238 } |
203
6c6fe6375ce4
revised identi.ca tag support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
202
diff
changeset
|
239 else if(which == CHANNEL_WASSR && service == wassr_service) { |
286
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
240 gchar *match1 = g_match_info_fetch(match_info, 1); /* before channel */ |
148
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
241 gchar *match2 = g_match_info_fetch(match_info, 2); /* channel */ |
97
24ad534e438e
linkfy #channelname per user configuration.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
96
diff
changeset
|
242 const gchar *format = CHANNEL_FORMAT_WASSR; |
24ad534e438e
linkfy #channelname per user configuration.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
96
diff
changeset
|
243 |
222
b168502b73c3
expanded size of substitution buffer to 32KB. 128 bytes were not sufficient if both user name and channel name are rather long. tenforward reported this problem and umq pointed out the cause.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
221
diff
changeset
|
244 g_snprintf(sub, SUBST_BUF_SIZE, format, match1 ? match1: "", match2, match2); |
97
24ad534e438e
linkfy #channelname per user configuration.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
96
diff
changeset
|
245 |
98
e460e1978ca3
- fixed a bug introduced in r97.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
97
diff
changeset
|
246 g_free(match1); |
e460e1978ca3
- fixed a bug introduced in r97.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
97
diff
changeset
|
247 g_free(match2); |
97
24ad534e438e
linkfy #channelname per user configuration.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
96
diff
changeset
|
248 } |
297
e07f28bed8a8
experimental support for search tags in twitter.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
290
diff
changeset
|
249 else if(which == TAG_TWITTER && service == twitter_service) { |
299
d68ed289ef69
#tag should be interpreted as search tag only if it appears in the beginning of line or it is separated by white space.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
297
diff
changeset
|
250 gchar *match1 = g_match_info_fetch(match_info, 1); /* white space */ |
d68ed289ef69
#tag should be interpreted as search tag only if it appears in the beginning of line or it is separated by white space.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
297
diff
changeset
|
251 gchar *match2 = g_match_info_fetch(match_info, 2); /* search tag */ |
d68ed289ef69
#tag should be interpreted as search tag only if it appears in the beginning of line or it is separated by white space.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
297
diff
changeset
|
252 const gchar *format = TAG_FORMAT_TWITTER; |
d68ed289ef69
#tag should be interpreted as search tag only if it appears in the beginning of line or it is separated by white space.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
297
diff
changeset
|
253 g_snprintf(sub, SUBST_BUF_SIZE, format, match1 ? match1: "", match2, match2); |
d68ed289ef69
#tag should be interpreted as search tag only if it appears in the beginning of line or it is separated by white space.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
297
diff
changeset
|
254 g_free(match1); |
d68ed289ef69
#tag should be interpreted as search tag only if it appears in the beginning of line or it is separated by white space.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
297
diff
changeset
|
255 g_free(match2); |
297
e07f28bed8a8
experimental support for search tags in twitter.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
290
diff
changeset
|
256 } |
203
6c6fe6375ce4
revised identi.ca tag support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
202
diff
changeset
|
257 else if(which == TAG_IDENTICA && service == identica_service) { |
6c6fe6375ce4
revised identi.ca tag support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
202
diff
changeset
|
258 gchar *match = g_match_info_fetch(match_info, 1); |
229
29c741b1b921
supports identi.ca's quirky tag notation.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
228
diff
changeset
|
259 gchar *link = g_ascii_strdown(match, -1); |
231
a93a85623a92
identi.ca tag requires '-' to be stripped as well.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
229
diff
changeset
|
260 purple_str_strip_char(link, '-'); |
229
29c741b1b921
supports identi.ca's quirky tag notation.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
228
diff
changeset
|
261 purple_str_strip_char(link, '_'); |
286
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
262 g_snprintf(sub, SUBST_BUF_SIZE, TAG_FORMAT_IDENTICA, link, match); |
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
263 g_free(match); |
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
264 g_free(link); |
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
265 } |
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
266 else if(which == GROUP_IDENTICA && service == identica_service) { |
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
267 gchar *match = g_match_info_fetch(match_info, 1); |
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
268 gchar *link = g_ascii_strdown(match, -1); |
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
269 purple_str_strip_char(link, '-'); |
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
270 purple_str_strip_char(link, '_'); |
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
271 g_snprintf(sub, SUBST_BUF_SIZE, GROUP_FORMAT_IDENTICA, link, match); |
203
6c6fe6375ce4
revised identi.ca tag support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
202
diff
changeset
|
272 g_free(match); |
229
29c741b1b921
supports identi.ca's quirky tag notation.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
228
diff
changeset
|
273 g_free(link); |
202
67d8eaba446d
preliminary identi.ca tag support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
201
diff
changeset
|
274 } |
239
e3a24c98772d
added a new feature that strips excessive consecutive new line characters.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
232
diff
changeset
|
275 else if(which == EXCESS_LF) { |
243 | 276 g_snprintf(sub, SUBST_BUF_SIZE, "%s", "\n"); |
239
e3a24c98772d
added a new feature that strips excessive consecutive new line characters.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
232
diff
changeset
|
277 } |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
278 else if(which == TRAIL_HASH) { |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
279 g_snprintf(sub, SUBST_BUF_SIZE, "%s", ""); /* xxx --yaz */ |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
280 } |
48
42869098eda3
adapted for msn style option (or new line plugin).
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
46
diff
changeset
|
281 |
42869098eda3
adapted for msn style option (or new line plugin).
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
46
diff
changeset
|
282 g_string_append(result, sub); |
6 | 283 twitter_debug("sub = %s\n", sub); |
1 | 284 |
285 return FALSE; | |
286 } | |
0 | 287 |
8 | 288 static void |
239
e3a24c98772d
added a new feature that strips excessive consecutive new line characters.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
232
diff
changeset
|
289 translate(gchar **str, gint regp_id, gint service) |
0 | 290 { |
1 | 291 gchar *newstr; |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
292 eval_data *data = g_new0(eval_data, 1); |
239
e3a24c98772d
added a new feature that strips excessive consecutive new line characters.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
232
diff
changeset
|
293 |
e3a24c98772d
added a new feature that strips excessive consecutive new line characters.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
232
diff
changeset
|
294 data->which = regp_id; |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
295 data->service = service; |
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
296 |
148
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
297 newstr = g_regex_replace_eval(regp[regp_id], /* compiled regex */ |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
298 *str, /* subject string */ |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
299 -1, /* length of the subject string */ |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
300 0, /* start position */ |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
301 0, /* match options */ |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
302 eval, /* function to be called for each match */ |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
303 data, /* user data */ |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
304 NULL); /* error handler */ |
1 | 305 |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
306 g_free(data); data = NULL; |
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
307 |
239
e3a24c98772d
added a new feature that strips excessive consecutive new line characters.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
232
diff
changeset
|
308 twitter_debug("which = %d *str = %s newstr = %s\n", regp_id, *str, newstr); |
1 | 309 |
310 g_free(*str); | |
311 *str = newstr; | |
312 } | |
0 | 313 |
8 | 314 static void |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
315 playsound(gchar **str, gint which) |
1 | 316 { |
317 GMatchInfo *match_info; | |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
318 const gchar *list = NULL; |
7
44a66c52b190
- userlist no longer uses string list. now ' ,:;' separated string is used instead.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
6
diff
changeset
|
319 gchar **candidates = NULL, **candidate = NULL; |
0 | 320 |
31 | 321 list = purple_prefs_get_string(which ? OPT_USERLIST_SENDER : |
322 OPT_USERLIST_RECIPIENT); | |
5
6ac1867d7e8e
string list should be initialized with NULL
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
2
diff
changeset
|
323 g_return_if_fail(list != NULL); |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
324 if(strstr(list, DEFAULT_LIST)) |
7
44a66c52b190
- userlist no longer uses string list. now ' ,:;' separated string is used instead.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
6
diff
changeset
|
325 return; |
44a66c52b190
- userlist no longer uses string list. now ' ,:;' separated string is used instead.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
6
diff
changeset
|
326 |
44a66c52b190
- userlist no longer uses string list. now ' ,:;' separated string is used instead.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
6
diff
changeset
|
327 candidates = g_strsplit_set(list, " ,:;", 0); |
20
4c236a7a128f
- now escape feature works
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
19
diff
changeset
|
328 g_return_if_fail(candidates != NULL); |
1 | 329 |
10
4bd8c89b4749
now it plays sound when sender of message is in the userlist.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
9
diff
changeset
|
330 g_regex_match(regp[which], *str, 0, &match_info); |
6 | 331 while(g_match_info_matches(match_info)) { |
52
ac1259fde1d0
due to adaptation to msn style, username of sender has been carried down by one.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
51
diff
changeset
|
332 gchar *user = NULL; |
ac1259fde1d0
due to adaptation to msn style, username of sender has been carried down by one.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
51
diff
changeset
|
333 if(which == RECIPIENT) |
244
c6c2bb8039ce
fixed a breakage of playing sound for the recipients.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
243
diff
changeset
|
334 user = g_match_info_fetch(match_info, 2); |
52
ac1259fde1d0
due to adaptation to msn style, username of sender has been carried down by one.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
51
diff
changeset
|
335 else if(which == SENDER) |
ac1259fde1d0
due to adaptation to msn style, username of sender has been carried down by one.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
51
diff
changeset
|
336 user = g_match_info_fetch(match_info, 2); |
1 | 337 twitter_debug("user = %s\n", user); |
0 | 338 |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
339 for(candidate = candidates; *candidate; candidate++) { |
7
44a66c52b190
- userlist no longer uses string list. now ' ,:;' separated string is used instead.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
6
diff
changeset
|
340 if(!strcmp(*candidate, "")) |
44a66c52b190
- userlist no longer uses string list. now ' ,:;' separated string is used instead.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
6
diff
changeset
|
341 continue; |
44a66c52b190
- userlist no longer uses string list. now ' ,:;' separated string is used instead.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
6
diff
changeset
|
342 twitter_debug("candidate = %s\n", *candidate); |
9
c6b80f47d4df
added capability to translate sender name into link
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
8
diff
changeset
|
343 if(!strcmp(user, *candidate)) { |
1 | 344 twitter_debug("match. play sound\n"); |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
345 purple_sound_play_event(purple_prefs_get_int |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
346 (which ? OPT_SOUNDID_SENDER : |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
347 OPT_SOUNDID_RECIPIENT), NULL); |
7
44a66c52b190
- userlist no longer uses string list. now ' ,:;' separated string is used instead.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
6
diff
changeset
|
348 break; |
1 | 349 } |
350 } | |
6 | 351 g_free(user); |
352 g_match_info_next(match_info, NULL); | |
1 | 353 } |
7
44a66c52b190
- userlist no longer uses string list. now ' ,:;' separated string is used instead.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
6
diff
changeset
|
354 g_strfreev(candidates); |
6 | 355 g_match_info_free(match_info); |
0 | 356 } |
357 | |
1 | 358 static gboolean |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
359 writing_im_cb(PurpleAccount *account, char *sender, char **buffer, |
91
2b7ef3538cd3
- Fix type of 'flag' of writing_im_cb
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
85
diff
changeset
|
360 PurpleConversation *conv, int flags, void *data) |
0 | 361 { |
45
746ff3b54c10
trying another way to strip markups. in this revision, all markups are striped with strip_html_markup() on sending a message.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
44
diff
changeset
|
362 twitter_debug("called\n"); |
746ff3b54c10
trying another way to strip markups. in this revision, all markups are striped with strip_html_markup() on sending a message.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
44
diff
changeset
|
363 |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
364 gint service = get_service_type(conv); |
331
b4c846870b3c
improved handling of RT string
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
330
diff
changeset
|
365 gchar *linkstr = NULL, *tmpstr = NULL; |
337
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
366 gchar *escaped = NULL; |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
367 |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
368 /* check if the conversation is between twitter */ |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
369 if(service == unknown_service) |
44 | 370 return FALSE; |
371 | |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
372 /* add screen_name if the current message is posted by myself */ |
91
2b7ef3538cd3
- Fix type of 'flag' of writing_im_cb
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
85
diff
changeset
|
373 if (flags & PURPLE_MESSAGE_SEND) { |
2b7ef3538cd3
- Fix type of 'flag' of writing_im_cb
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
85
diff
changeset
|
374 gchar *m = NULL; |
145
f220da0c089e
screen_name should be initialized.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
142
diff
changeset
|
375 const char *screen_name = NULL; |
110
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
376 |
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
377 switch(service) { |
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
378 case twitter_service: |
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
379 screen_name = purple_prefs_get_string(OPT_SCREEN_NAME_TWITTER); |
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
380 break; |
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
381 case wassr_service: |
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
382 screen_name = purple_prefs_get_string(OPT_SCREEN_NAME_WASSR); |
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
383 break; |
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
384 case identica_service: |
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
385 screen_name = purple_prefs_get_string(OPT_SCREEN_NAME_IDENTICA); |
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
386 break; |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
387 case jisko_service: |
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
388 screen_name = purple_prefs_get_string(OPT_SCREEN_NAME_JISKO); |
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
389 break; |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
390 case ffeed_service: |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
391 screen_name = purple_prefs_get_string(OPT_SCREEN_NAME_FFEED); |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
392 break; |
110
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
393 } |
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
394 |
91
2b7ef3538cd3
- Fix type of 'flag' of writing_im_cb
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
85
diff
changeset
|
395 if (screen_name) { |
2b7ef3538cd3
- Fix type of 'flag' of writing_im_cb
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
85
diff
changeset
|
396 m = g_strdup_printf("%s: %s", screen_name, *buffer); |
2b7ef3538cd3
- Fix type of 'flag' of writing_im_cb
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
85
diff
changeset
|
397 g_free(*buffer); |
2b7ef3538cd3
- Fix type of 'flag' of writing_im_cb
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
85
diff
changeset
|
398 *buffer = m; |
2b7ef3538cd3
- Fix type of 'flag' of writing_im_cb
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
85
diff
changeset
|
399 } |
330
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
400 } /* send */ |
91
2b7ef3538cd3
- Fix type of 'flag' of writing_im_cb
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
85
diff
changeset
|
401 |
337
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
402 |
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
403 /* note: |
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
404 link string needs stripped plain text. |
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
405 displaying needs markup-escaped that text. */ |
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
406 |
45
746ff3b54c10
trying another way to strip markups. in this revision, all markups are striped with strip_html_markup() on sending a message.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
44
diff
changeset
|
407 /* strip all markups */ |
331
b4c846870b3c
improved handling of RT string
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
330
diff
changeset
|
408 strip_markup(buffer, FALSE); |
10
4bd8c89b4749
now it plays sound when sender of message is in the userlist.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
9
diff
changeset
|
409 |
337
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
410 /* make R F RT link string */ |
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
411 if(service == twitter_service) |
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
412 linkstr = twitter_rip_link_string(buffer); |
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
413 |
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
414 /* entity markup for displaying */ |
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
415 escaped = g_markup_escape_text(*buffer, -1); |
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
416 g_free(*buffer); |
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
417 *buffer = escaped; |
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
418 |
9f78fb6bfc76
gtkimhtml easily be fooled if the buffer is not entity markuped.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
336
diff
changeset
|
419 |
44 | 420 /* playsound */ |
421 if(purple_prefs_get_bool(OPT_PLAYSOUND_SENDER)) { | |
422 playsound(buffer, SENDER); | |
423 } | |
424 if(purple_prefs_get_bool(OPT_PLAYSOUND_RECIPIENT)) { | |
425 playsound(buffer, RECIPIENT); | |
426 } | |
41
0a81ccfa1941
strip excessive markup where it is not needed. (work in progress)
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
40
diff
changeset
|
427 |
44 | 428 /* translate */ |
429 if(purple_prefs_get_bool(OPT_TRANSLATE_SENDER)) { | |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
430 if(service == ffeed_service) |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
431 translate(buffer, SENDER_FFEED, service); |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
432 else |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
433 translate(buffer, SENDER, service); |
44 | 434 } |
202
67d8eaba446d
preliminary identi.ca tag support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
201
diff
changeset
|
435 if(purple_prefs_get_bool(OPT_TRANSLATE_RECIPIENT)) { |
67d8eaba446d
preliminary identi.ca tag support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
201
diff
changeset
|
436 translate(buffer, RECIPIENT, service); |
67d8eaba446d
preliminary identi.ca tag support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
201
diff
changeset
|
437 } |
97
24ad534e438e
linkfy #channelname per user configuration.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
96
diff
changeset
|
438 if(service == wassr_service && |
24ad534e438e
linkfy #channelname per user configuration.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
96
diff
changeset
|
439 purple_prefs_get_bool(OPT_TRANSLATE_CHANNEL)) { |
203
6c6fe6375ce4
revised identi.ca tag support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
202
diff
changeset
|
440 translate(buffer, CHANNEL_WASSR, service); |
97
24ad534e438e
linkfy #channelname per user configuration.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
96
diff
changeset
|
441 } |
202
67d8eaba446d
preliminary identi.ca tag support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
201
diff
changeset
|
442 if(service == identica_service && |
67d8eaba446d
preliminary identi.ca tag support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
201
diff
changeset
|
443 purple_prefs_get_bool(OPT_TRANSLATE_CHANNEL)) { |
203
6c6fe6375ce4
revised identi.ca tag support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
202
diff
changeset
|
444 translate(buffer, TAG_IDENTICA, service); |
98
e460e1978ca3
- fixed a bug introduced in r97.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
97
diff
changeset
|
445 } |
297
e07f28bed8a8
experimental support for search tags in twitter.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
290
diff
changeset
|
446 if(service == twitter_service && |
e07f28bed8a8
experimental support for search tags in twitter.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
290
diff
changeset
|
447 purple_prefs_get_bool(OPT_TRANSLATE_CHANNEL)) { |
e07f28bed8a8
experimental support for search tags in twitter.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
290
diff
changeset
|
448 translate(buffer, TAG_TWITTER, service); |
e07f28bed8a8
experimental support for search tags in twitter.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
290
diff
changeset
|
449 } |
286
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
450 if(service == identica_service && |
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
451 purple_prefs_get_bool(OPT_TRANSLATE_CHANNEL)) { |
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
452 translate(buffer, GROUP_IDENTICA, service); |
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
453 } |
44 | 454 |
330
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
455 if(service == twitter_service) { |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
456 /* escape pseudo command (to show the same result as |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
457 sending message) */ |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
458 if(purple_prefs_get_bool(OPT_ESCAPE_PSEUDO)) { |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
459 escape(buffer); |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
460 } |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
461 |
331
b4c846870b3c
improved handling of RT string
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
330
diff
changeset
|
462 tmpstr = g_strconcat(*buffer, linkstr, NULL); |
b4c846870b3c
improved handling of RT string
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
330
diff
changeset
|
463 g_free(linkstr); |
b4c846870b3c
improved handling of RT string
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
330
diff
changeset
|
464 g_free(*buffer); |
b4c846870b3c
improved handling of RT string
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
330
diff
changeset
|
465 *buffer = tmpstr; |
44 | 466 } |
467 | |
239
e3a24c98772d
added a new feature that strips excessive consecutive new line characters.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
232
diff
changeset
|
468 if(purple_prefs_get_bool(OPT_STRIP_EXCESS_LF)) { |
e3a24c98772d
added a new feature that strips excessive consecutive new line characters.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
232
diff
changeset
|
469 translate(buffer, EXCESS_LF, service); |
e3a24c98772d
added a new feature that strips excessive consecutive new line characters.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
232
diff
changeset
|
470 } |
e3a24c98772d
added a new feature that strips excessive consecutive new line characters.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
232
diff
changeset
|
471 |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
472 if(service == ffeed_service) { |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
473 translate(buffer, TRAIL_HASH, service); |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
474 } |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
475 |
19
0d7cbc984570
escape pseudo command feature has been added
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
16
diff
changeset
|
476 return FALSE; |
0d7cbc984570
escape pseudo command feature has been added
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
16
diff
changeset
|
477 } |
0d7cbc984570
escape pseudo command feature has been added
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
16
diff
changeset
|
478 |
31 | 479 static void |
480 insert_text_cb(GtkTextBuffer *textbuffer, GtkTextIter *position, | |
481 gchar *new_text, gint new_text_length, gpointer user_data) | |
482 { | |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
483 PurpleConversation *conv = (PurpleConversation *)user_data; |
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
484 PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv); |
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
485 |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
486 GtkWidget *box, *counter = NULL; |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
487 gchar *markup = NULL; |
102
55c466028d48
changed letter counter for identi.ca to count in byte.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
101
diff
changeset
|
488 gint service = get_service_type(conv); |
45
746ff3b54c10
trying another way to strip markups. in this revision, all markups are striped with strip_html_markup() on sending a message.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
44
diff
changeset
|
489 guint count; |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
490 |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
491 g_return_if_fail(gtkconv != NULL); |
31 | 492 |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
493 switch(service) { |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
494 case twitter_service: |
208
5d1b8528e144
changed length limit for identi.ca from 140 bytes to 140 characters.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
207
diff
changeset
|
495 case identica_service: |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
496 case jisko_service: |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
497 case ffeed_service: |
102
55c466028d48
changed letter counter for identi.ca to count in byte.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
101
diff
changeset
|
498 count = gtk_text_buffer_get_char_count(textbuffer) + |
55c466028d48
changed letter counter for identi.ca to count in byte.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
101
diff
changeset
|
499 (unsigned int)g_utf8_strlen(new_text, -1); |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
500 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", |
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
501 count <= 140 ? "black" : "red", count); |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
502 break; |
199
5ddf8bee768d
according to mojin, jisko limits each post to 140 bytes and requires at least 5 bytes. now letter counter for jisko takes account of this limit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
198
diff
changeset
|
503 case wassr_service: |
5ddf8bee768d
according to mojin, jisko limits each post to 140 bytes and requires at least 5 bytes. now letter counter for jisko takes account of this limit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
198
diff
changeset
|
504 count = gtk_text_buffer_get_char_count(textbuffer) + |
5ddf8bee768d
according to mojin, jisko limits each post to 140 bytes and requires at least 5 bytes. now letter counter for jisko takes account of this limit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
198
diff
changeset
|
505 (unsigned int)g_utf8_strlen(new_text, -1); |
5ddf8bee768d
according to mojin, jisko limits each post to 140 bytes and requires at least 5 bytes. now letter counter for jisko takes account of this limit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
198
diff
changeset
|
506 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", |
5ddf8bee768d
according to mojin, jisko limits each post to 140 bytes and requires at least 5 bytes. now letter counter for jisko takes account of this limit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
198
diff
changeset
|
507 count <= 255 ? "black" : "red", count); |
5ddf8bee768d
according to mojin, jisko limits each post to 140 bytes and requires at least 5 bytes. now letter counter for jisko takes account of this limit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
198
diff
changeset
|
508 break; |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
509 default: |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
510 twitter_debug("unknown service\n"); |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
511 break; |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
512 } |
31 | 513 |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
514 box = gtkconv->toolbar; |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
515 counter = g_object_get_data(G_OBJECT(box), PLUGIN_ID "-counter"); |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
516 if(counter) |
31 | 517 gtk_label_set_markup(GTK_LABEL(counter), markup); |
518 | |
519 g_free(markup); | |
520 } | |
521 | |
522 static void | |
523 delete_text_cb(GtkTextBuffer *textbuffer, GtkTextIter *start_pos, | |
524 GtkTextIter *end_pos, gpointer user_data) | |
525 { | |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
526 PurpleConversation *conv = (PurpleConversation *)user_data; |
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
527 PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv); |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
528 GtkWidget *box, *counter = NULL; |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
529 gchar *markup = NULL; |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
530 gint service = get_service_type(conv); |
102
55c466028d48
changed letter counter for identi.ca to count in byte.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
101
diff
changeset
|
531 guint count = 0; |
31 | 532 |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
533 g_return_if_fail(gtkconv != NULL); |
31 | 534 |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
535 switch(service) { |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
536 case twitter_service: |
208
5d1b8528e144
changed length limit for identi.ca from 140 bytes to 140 characters.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
207
diff
changeset
|
537 case identica_service: |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
538 case jisko_service: |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
539 case ffeed_service: |
102
55c466028d48
changed letter counter for identi.ca to count in byte.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
101
diff
changeset
|
540 count= gtk_text_buffer_get_char_count(textbuffer) - |
55c466028d48
changed letter counter for identi.ca to count in byte.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
101
diff
changeset
|
541 (gtk_text_iter_get_offset(end_pos) - |
55c466028d48
changed letter counter for identi.ca to count in byte.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
101
diff
changeset
|
542 gtk_text_iter_get_offset(start_pos)); |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
543 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", |
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
544 count <= 140 ? "black" : "red", count); |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
545 break; |
199
5ddf8bee768d
according to mojin, jisko limits each post to 140 bytes and requires at least 5 bytes. now letter counter for jisko takes account of this limit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
198
diff
changeset
|
546 case wassr_service: |
5ddf8bee768d
according to mojin, jisko limits each post to 140 bytes and requires at least 5 bytes. now letter counter for jisko takes account of this limit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
198
diff
changeset
|
547 count= gtk_text_buffer_get_char_count(textbuffer) - |
5ddf8bee768d
according to mojin, jisko limits each post to 140 bytes and requires at least 5 bytes. now letter counter for jisko takes account of this limit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
198
diff
changeset
|
548 (gtk_text_iter_get_offset(end_pos) - |
5ddf8bee768d
according to mojin, jisko limits each post to 140 bytes and requires at least 5 bytes. now letter counter for jisko takes account of this limit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
198
diff
changeset
|
549 gtk_text_iter_get_offset(start_pos)); |
5ddf8bee768d
according to mojin, jisko limits each post to 140 bytes and requires at least 5 bytes. now letter counter for jisko takes account of this limit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
198
diff
changeset
|
550 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", |
5ddf8bee768d
according to mojin, jisko limits each post to 140 bytes and requires at least 5 bytes. now letter counter for jisko takes account of this limit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
198
diff
changeset
|
551 count <= 255 ? "black" : "red", count); |
5ddf8bee768d
according to mojin, jisko limits each post to 140 bytes and requires at least 5 bytes. now letter counter for jisko takes account of this limit.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
198
diff
changeset
|
552 break; |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
553 default: |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
554 twitter_debug("unknown service\n"); |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
555 break; |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
556 } |
31 | 557 |
330
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
558 if(count == 0) |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
559 reply_to_msgid = 0; |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
560 |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
561 box = gtkconv->toolbar; |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
562 counter = g_object_get_data(G_OBJECT(box), PLUGIN_ID "-counter"); |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
563 if(counter) |
31 | 564 gtk_label_set_markup(GTK_LABEL(counter), markup); |
565 | |
566 g_free(markup); | |
567 } | |
568 | |
254
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
569 void |
31 | 570 detach_from_window(void) |
571 { | |
572 GList *list; | |
573 | |
40
e60e6cbdc4c4
- added is_twitter_account().
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
39
diff
changeset
|
574 /* find twitter conv window out and detach from that */ |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
575 for(list = pidgin_conv_windows_get_list(); list; list = list->next) { |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
576 PidginWindow *win = list->data; |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
577 PurpleConversation *conv = |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
578 pidgin_conv_window_get_active_conversation(win); |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
579 gint service = get_service_type(conv); |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
580 switch(service) { |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
581 case twitter_service: |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
582 case wassr_service: |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
583 case identica_service: |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
584 case jisko_service: |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
585 case ffeed_service: |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
586 detach_from_conv(conv, NULL); |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
587 break; |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
588 default: |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
589 twitter_debug("unknown service\n"); |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
590 break; |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
591 } |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
592 } |
31 | 593 } |
594 | |
595 static void | |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
596 detach_from_conv(PurpleConversation *conv, gpointer null) |
31 | 597 { |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
598 PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv); |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
599 GtkWidget *box, *counter = NULL, *sep = NULL; |
31 | 600 |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
601 g_signal_handlers_disconnect_by_func(G_OBJECT(gtkconv->entry_buffer), |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
602 (GFunc) insert_text_cb, conv); |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
603 g_signal_handlers_disconnect_by_func(G_OBJECT(gtkconv->entry_buffer), |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
604 (GFunc) delete_text_cb, conv); |
31 | 605 |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
606 box = gtkconv->toolbar; |
31 | 607 |
608 /* remove counter */ | |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
609 counter = g_object_get_data(G_OBJECT(box), PLUGIN_ID "-counter"); |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
610 if(counter) { |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
611 gtk_container_remove(GTK_CONTAINER(box), counter); |
31 | 612 g_object_unref(counter); |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
613 g_object_set_data(G_OBJECT(box), PLUGIN_ID "-counter", NULL); |
31 | 614 } |
37
bafe2abf2d3b
- made suppress oops configurable
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
36
diff
changeset
|
615 |
31 | 616 /* remove separator */ |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
617 sep = g_object_get_data(G_OBJECT(box), PLUGIN_ID "-sep"); |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
618 if(sep) { |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
619 gtk_container_remove(GTK_CONTAINER(box), sep); |
31 | 620 g_object_unref(sep); |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
621 g_object_set_data(G_OBJECT(box), PLUGIN_ID "-sep", NULL); |
31 | 622 } |
623 | |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
624 gtk_widget_queue_draw(pidgin_conv_get_window(gtkconv)->window); |
31 | 625 } |
626 | |
627 static void | |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
628 remove_marks_func(gpointer key, gpointer value, gpointer user_data) |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
629 { |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
630 icon_data *data = (icon_data *)value; |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
631 GtkTextBuffer *text_buffer = (GtkTextBuffer *)user_data; |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
632 GList *mark_list = NULL; |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
633 GList *current; |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
634 |
111
799b28f181f8
added UI for icon size.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
110
diff
changeset
|
635 if(!data) |
799b28f181f8
added UI for icon size.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
110
diff
changeset
|
636 return; |
799b28f181f8
added UI for icon size.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
110
diff
changeset
|
637 |
799b28f181f8
added UI for icon size.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
110
diff
changeset
|
638 if(data->request_list) |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
639 mark_list = data->request_list; |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
640 |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
641 /* remove the marks in its GtkTextBuffers */ |
220
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
642 current = g_list_first(mark_list); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
643 while(current) { |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
644 GtkTextMark *current_mark = current->data; |
220
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
645 GtkTextBuffer *current_text_buffer = |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
646 gtk_text_mark_get_buffer(current_mark); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
647 GList *next; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
648 |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
649 next = g_list_next(current); |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
650 |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
651 if(!current_text_buffer) |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
652 continue; |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
653 |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
654 if(text_buffer) { |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
655 if(current_text_buffer == text_buffer) { |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
656 /* the mark will be freed in this function */ |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
657 gtk_text_buffer_delete_mark(current_text_buffer, |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
658 current_mark); |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
659 current->data = NULL; |
220
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
660 mark_list = g_list_delete_link(mark_list, current); |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
661 } |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
662 } |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
663 else { |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
664 gtk_text_buffer_delete_mark(current_text_buffer, current_mark); |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
665 current->data = NULL; |
220
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
666 mark_list = g_list_delete_link(mark_list, current); |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
667 } |
220
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
668 |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
669 current = next; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
670 } |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
671 |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
672 data->request_list = mark_list; |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
673 } |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
674 |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
675 static void |
84
0c1f63882b8a
preliminary wassr icon support. not yet completed.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
83
diff
changeset
|
676 delete_requested_icon_marks(PidginConversation *conv, GHashTable *table) { |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
677 GtkTextBuffer *text_buffer = gtk_text_view_get_buffer( |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
678 GTK_TEXT_VIEW(conv->imhtml)); |
64
da37857f3033
- separated header things into pidgin-twitter.h
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
63
diff
changeset
|
679 |
84
0c1f63882b8a
preliminary wassr icon support. not yet completed.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
83
diff
changeset
|
680 g_hash_table_foreach(table, |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
681 (GHFunc)remove_marks_func, |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
682 (gpointer)text_buffer); |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
683 } |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
684 |
254
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
685 void |
31 | 686 attach_to_window(void) |
687 { | |
688 GList *list; | |
689 | |
119
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
690 twitter_debug("called\n"); |
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
691 |
40
e60e6cbdc4c4
- added is_twitter_account().
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
39
diff
changeset
|
692 /* find twitter conv window out and attach to that */ |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
693 for(list = pidgin_conv_windows_get_list(); list; list = list->next) { |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
694 PidginWindow *win = list->data; |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
695 PurpleConversation *conv = |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
696 pidgin_conv_window_get_active_conversation(win); |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
697 gint service = get_service_type(conv); |
51
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
698 /* only attach to twitter conversation window */ |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
699 switch(service) { |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
700 case twitter_service: |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
701 case wassr_service: |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
702 case identica_service: |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
703 case jisko_service: |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
704 case ffeed_service: |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
705 attach_to_conv(conv, NULL); |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
706 break; |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
707 default: |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
708 twitter_debug("unknown service\n"); |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
709 break; |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
710 } |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
711 } |
31 | 712 } |
713 | |
714 static void | |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
715 attach_to_conv(PurpleConversation *conv, gpointer null) |
31 | 716 { |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
717 PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv); |
50
3e0d4fd75b03
added that to disable widgets that decorate or link text.
mikanbako <maoutwo@gmail.com>
parents:
49
diff
changeset
|
718 GtkWidget *box, *sep, *counter, *menus; |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
719 GtkIMHtml *imhtml; |
31 | 720 |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
721 box = gtkconv->toolbar; |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
722 imhtml = GTK_IMHTML(gtkconv->imhtml); |
51
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
723 |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
724 /* Disable widgets that decorate or add link to composing text |
53 | 725 * because Twitter cannot receive marked up string. For lean-view |
51
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
726 * and wide-view, see pidgin/gtkimhtmltoolbar.c. |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
727 */ |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
728 menus = g_object_get_data(G_OBJECT(box), "lean-view"); |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
729 if(menus) { |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
730 gtk_widget_set_sensitive(GTK_WIDGET(menus), FALSE); |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
731 } |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
732 menus = g_object_get_data(G_OBJECT(box), "wide-view"); |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
733 if(menus) { |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
734 gtk_widget_set_sensitive(GTK_WIDGET(menus), FALSE); |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
735 } |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
736 |
51
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
737 purple_conversation_set_features( |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
738 gtkconv->active_conv, |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
739 purple_conversation_get_features(gtkconv->active_conv) & |
64
da37857f3033
- separated header things into pidgin-twitter.h
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
63
diff
changeset
|
740 ~PURPLE_CONNECTION_HTML); |
51
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
741 |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
742 /* check if the counter is enabled */ |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
743 if(!purple_prefs_get_bool(OPT_COUNTER)) |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
744 return; |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
745 |
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
746 /* get counter object */ |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
747 counter = g_object_get_data(G_OBJECT(box), PLUGIN_ID "-counter"); |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
748 g_return_if_fail(counter == NULL); |
31 | 749 |
750 /* make counter object */ | |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
751 counter = gtk_label_new(NULL); |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
752 gtk_widget_set_name(counter, "counter_label"); |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
753 gtk_label_set_text(GTK_LABEL(counter), "0"); |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
754 gtk_box_pack_end(GTK_BOX(box), counter, FALSE, FALSE, 0); |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
755 gtk_widget_show_all(counter); |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
756 g_object_set_data(G_OBJECT(box), PLUGIN_ID "-counter", counter); |
31 | 757 |
758 /* make separator object */ | |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
759 sep = gtk_vseparator_new(); |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
760 gtk_box_pack_end(GTK_BOX(box), sep, FALSE, FALSE, 0); |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
761 gtk_widget_show_all(sep); |
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
762 g_object_set_data(G_OBJECT(box), PLUGIN_ID "-sep", sep); |
31 | 763 |
51
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
764 /* connect to signals */ |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
765 g_signal_connect(G_OBJECT(gtkconv->entry_buffer), "insert_text", |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
766 G_CALLBACK(insert_text_cb), conv); |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
767 g_signal_connect(G_OBJECT(gtkconv->entry_buffer), "delete_range", |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
768 G_CALLBACK(delete_text_cb), conv); |
31 | 769 |
770 /* redraw window */ | |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
771 gtk_widget_queue_draw(pidgin_conv_get_window(gtkconv)->window); |
31 | 772 } |
773 | |
774 static void | |
775 conv_created_cb(PurpleConversation *conv, gpointer null) | |
776 { | |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
777 PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv); |
119
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
778 |
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
779 twitter_debug("called\n"); |
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
780 |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
781 g_return_if_fail(gtkconv != NULL); |
31 | 782 |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
783 gint service = get_service_type(conv); |
31 | 784 /* only attach to twitter conversation window */ |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
785 switch(service) { |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
786 case twitter_service: |
158
ae09f0d93b17
fixed a bug that get_status_with_api() will never be called if pidgin-twitter started with api_based_post disabled. it must be submitted to main loop regardless of configuration.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
157
diff
changeset
|
787 get_status_with_api((gpointer)conv); |
ae09f0d93b17
fixed a bug that get_status_with_api() will never be called if pidgin-twitter started with api_based_post disabled. it must be submitted to main loop regardless of configuration.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
157
diff
changeset
|
788 source.id = g_timeout_add_seconds( |
ae09f0d93b17
fixed a bug that get_status_with_api() will never be called if pidgin-twitter started with api_based_post disabled. it must be submitted to main loop regardless of configuration.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
157
diff
changeset
|
789 purple_prefs_get_int(OPT_API_BASE_GET_INTERVAL), |
ae09f0d93b17
fixed a bug that get_status_with_api() will never be called if pidgin-twitter started with api_based_post disabled. it must be submitted to main loop regardless of configuration.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
157
diff
changeset
|
790 get_status_with_api, (gpointer)conv); |
ae09f0d93b17
fixed a bug that get_status_with_api() will never be called if pidgin-twitter started with api_based_post disabled. it must be submitted to main loop regardless of configuration.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
157
diff
changeset
|
791 source.conv = conv; |
115
7d0dd0e1dbd0
very preliminary twitter API get status feature.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
113
diff
changeset
|
792 attach_to_conv(conv, NULL); |
330
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
793 account_for_twitter = conv->account; /* xxx */ |
115
7d0dd0e1dbd0
very preliminary twitter API get status feature.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
113
diff
changeset
|
794 break; |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
795 case wassr_service: |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
796 case identica_service: |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
797 case jisko_service: |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
798 case ffeed_service: |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
799 attach_to_conv(conv, NULL); |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
800 break; |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
801 default: |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
802 twitter_debug("unknown service\n"); |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
803 break; |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
804 } |
31 | 805 } |
806 | |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
807 static void |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
808 deleting_conv_cb(PurpleConversation *conv) |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
809 { |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
810 PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv); |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
811 |
119
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
812 twitter_debug("called\n"); |
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
813 |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
814 g_return_if_fail(gtkconv != NULL); |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
815 |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
816 gint service = get_service_type(conv); |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
817 GHashTable *hash = NULL; |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
818 |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
819 /* only attach to twitter conversation window */ |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
820 switch(service) { |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
821 case twitter_service: |
156
e65f81211340
now interval setting from UI takes effect immediately.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
155
diff
changeset
|
822 if(purple_prefs_get_bool(OPT_API_BASE_POST)) { |
119
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
823 g_source_remove_by_user_data((gpointer)conv); |
156
e65f81211340
now interval setting from UI takes effect immediately.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
155
diff
changeset
|
824 source.id = 0; |
e65f81211340
now interval setting from UI takes effect immediately.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
155
diff
changeset
|
825 source.conv = NULL; |
e65f81211340
now interval setting from UI takes effect immediately.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
155
diff
changeset
|
826 } |
262 | 827 hash = icon_hash[service]; |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
828 break; |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
829 case wassr_service: |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
830 case identica_service: |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
831 case jisko_service: |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
832 case ffeed_service: |
262 | 833 hash = icon_hash[service]; |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
834 break; |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
835 default: |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
836 twitter_debug("unknown service\n"); |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
837 break; |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
838 } |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
839 |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
840 if(hash) |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
841 delete_requested_icon_marks(gtkconv, hash); |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
842 } |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
843 |
254
c2620a99622b
- divided the source file into several parts.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
253
diff
changeset
|
844 void |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
845 apply_filter(gchar **sender, gchar **buffer, PurpleMessageFlags *flags, int service) |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
846 { |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
847 GMatchInfo *match_info; |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
848 const gchar *list = NULL; |
215
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
849 gchar *screen_name = NULL; |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
850 gchar **candidates = NULL, **candidate = NULL; |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
851 |
212
8670e1572be8
fix for a bug that apply_filter() would crash if both sender and buffer have been cleared.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
211
diff
changeset
|
852 g_return_if_fail(*sender != NULL); |
8670e1572be8
fix for a bug that apply_filter() would crash if both sender and buffer have been cleared.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
211
diff
changeset
|
853 g_return_if_fail(*buffer != NULL); |
8670e1572be8
fix for a bug that apply_filter() would crash if both sender and buffer have been cleared.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
211
diff
changeset
|
854 |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
855 gchar *plain = strip_html_markup(*buffer); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
856 |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
857 switch(service) { |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
858 case twitter_service: |
219
739ed7a4426c
revised receiving_im_cb(). conv may be NULL so that filter might not work for messages which arrived at before conversation has been established.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
218
diff
changeset
|
859 default: |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
860 list = purple_prefs_get_string(OPT_FILTER_TWITTER); |
215
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
861 screen_name = g_strdup_printf("@%s", purple_prefs_get_string(OPT_SCREEN_NAME_TWITTER)); |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
862 break; |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
863 case wassr_service: |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
864 list = purple_prefs_get_string(OPT_FILTER_WASSR); |
215
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
865 screen_name = g_strdup_printf("@%s", purple_prefs_get_string(OPT_SCREEN_NAME_WASSR)); |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
866 break; |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
867 case identica_service: |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
868 list = purple_prefs_get_string(OPT_FILTER_IDENTICA); |
215
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
869 screen_name = g_strdup_printf("@%s", purple_prefs_get_string(OPT_SCREEN_NAME_IDENTICA)); |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
870 break; |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
871 case jisko_service: |
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
872 list = purple_prefs_get_string(OPT_FILTER_JISKO); |
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
873 screen_name = g_strdup_printf("@%s", purple_prefs_get_string(OPT_SCREEN_NAME_JISKO)); |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
874 case ffeed_service: |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
875 list = purple_prefs_get_string(OPT_FILTER_FFEED); |
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
876 screen_name = g_strdup_printf("@%s", purple_prefs_get_string(OPT_SCREEN_NAME_FFEED)); |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
877 break; |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
878 } |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
879 g_return_if_fail(list != NULL); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
880 if(strstr(list, DEFAULT_LIST)) |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
881 return; |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
882 |
215
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
883 /* find @myself */ |
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
884 if(purple_prefs_get_bool(OPT_FILTER_EXCLUDE_REPLY) && |
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
885 strstr(plain, screen_name)) { |
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
886 g_free(plain); |
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
887 g_free(screen_name); |
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
888 return; |
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
889 } |
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
890 else |
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
891 g_free(screen_name); |
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
892 |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
893 candidates = g_strsplit_set(list, " ,:;", 0); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
894 g_return_if_fail(candidates != NULL); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
895 |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
896 g_regex_match(regp[SENDER], plain, 0, &match_info); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
897 while(g_match_info_matches(match_info)) { |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
898 gchar *user = NULL; |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
899 user = g_match_info_fetch(match_info, 2); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
900 twitter_debug("user = %s\n", user); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
901 |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
902 for(candidate = candidates; *candidate; candidate++) { |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
903 if(!strcmp(*candidate, "")) |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
904 continue; |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
905 twitter_debug("candidate = %s\n", *candidate); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
906 if(!strcmp(user, *candidate)) { |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
907 twitter_debug("match. filter %s\n", user); |
215
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
908 /* pidgin should handle this flag properly --yaz */ |
219
739ed7a4426c
revised receiving_im_cb(). conv may be NULL so that filter might not work for messages which arrived at before conversation has been established.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
218
diff
changeset
|
909 // *flags |= PURPLE_MESSAGE_INVISIBLE; |
215
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
910 |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
911 /* temporal workaround */ |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
912 g_free(*sender); *sender = NULL; |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
913 g_free(*buffer); *buffer = NULL; |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
914 break; |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
915 } |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
916 } |
212
8670e1572be8
fix for a bug that apply_filter() would crash if both sender and buffer have been cleared.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
211
diff
changeset
|
917 |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
918 g_free(user); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
919 g_match_info_next(match_info, NULL); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
920 } |
215
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
921 |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
922 g_free(plain); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
923 g_strfreev(candidates); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
924 g_match_info_free(match_info); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
925 } |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
926 |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
927 |
8 | 928 static gboolean |
36
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
929 receiving_im_cb(PurpleAccount *account, char **sender, char **buffer, |
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
930 PurpleConversation *conv, PurpleMessageFlags *flags, void *data) |
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
931 { |
45
746ff3b54c10
trying another way to strip markups. in this revision, all markups are striped with strip_html_markup() on sending a message.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
44
diff
changeset
|
932 twitter_debug("called\n"); |
39
2ac81c0afb53
- new debug macro. it includes function name and line number.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
38
diff
changeset
|
933 twitter_debug("buffer = %s suppress_oops = %d\n", *buffer, suppress_oops); |
36
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
934 |
219
739ed7a4426c
revised receiving_im_cb(). conv may be NULL so that filter might not work for messages which arrived at before conversation has been established.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
218
diff
changeset
|
935 gint service; |
739ed7a4426c
revised receiving_im_cb(). conv may be NULL so that filter might not work for messages which arrived at before conversation has been established.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
218
diff
changeset
|
936 |
739ed7a4426c
revised receiving_im_cb(). conv may be NULL so that filter might not work for messages which arrived at before conversation has been established.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
218
diff
changeset
|
937 service = get_service_type_by_account(account, *sender); |
739ed7a4426c
revised receiving_im_cb(). conv may be NULL so that filter might not work for messages which arrived at before conversation has been established.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
218
diff
changeset
|
938 twitter_debug("service = %d\n", service); |
138
eaf5d2c4ada0
temporal fix for identi.ca problems:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
137
diff
changeset
|
939 |
214
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
940 #ifdef _WIN32 |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
941 /* suppress notification of incoming messages. */ |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
942 if(service != unknown_service && |
214
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
943 purple_prefs_get_bool(OPT_PREVENT_NOTIFICATION)) { |
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
944 if(!blink_modified) { |
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
945 blink_modified = TRUE; |
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
946 blink_state = purple_prefs_get_bool(OPT_PIDGIN_BLINK_IM); |
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
947 purple_prefs_set_bool(OPT_PIDGIN_BLINK_IM, FALSE); |
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
948 } |
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
949 } |
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
950 else { |
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
951 if(blink_modified) { |
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
952 purple_prefs_set_bool(OPT_PIDGIN_BLINK_IM, blink_state); |
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
953 blink_modified = FALSE; |
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
954 } |
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
955 } |
148fa8a8be8e
- trying a new way to suppress window blinking in WIN32
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
212
diff
changeset
|
956 #endif |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
957 |
138
eaf5d2c4ada0
temporal fix for identi.ca problems:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
137
diff
changeset
|
958 if(service == wassr_service) { |
218
27651b73a638
fix for a bug that post to wassr's channel which contains entity reference got through parrot blocker.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
217
diff
changeset
|
959 gchar *stripped = strip_html_markup(*buffer); |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
960 /* suppress annoying completion message from wassr */ |
221
b5fa0c295ff5
pushed message must be matched with received message, otherwise it leaks.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
220
diff
changeset
|
961 if(strstr(*buffer, "<body>チャンネル投稿完了:")) { |
b5fa0c295ff5
pushed message must be matched with received message, otherwise it leaks.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
220
diff
changeset
|
962 twitter_debug("clearing channel parrot message\n"); |
74
6b9593d1ffed
quick hack to suppress annoying completion message from wassr.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
73
diff
changeset
|
963 g_free(*sender); *sender = NULL; |
6b9593d1ffed
quick hack to suppress annoying completion message from wassr.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
73
diff
changeset
|
964 g_free(*buffer); *buffer = NULL; |
6b9593d1ffed
quick hack to suppress annoying completion message from wassr.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
73
diff
changeset
|
965 } |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
966 /* discard parrot message */ |
220
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
967 else { |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
968 GList *current = g_list_first(wassr_parrot_list); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
969 while(current) { |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
970 GList *next = g_list_next(current); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
971 |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
972 if(strstr(stripped, current->data)) { |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
973 twitter_debug("parrot clearing: buf = %s post = %s\n", |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
974 *buffer, (char *)current->data); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
975 g_free(*sender); *sender = NULL; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
976 g_free(*buffer); *buffer = NULL; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
977 g_free(current->data); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
978 current->data = NULL; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
979 wassr_parrot_list = |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
980 g_list_delete_link(wassr_parrot_list, current); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
981 break; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
982 } |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
983 |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
984 current = next; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
985 } |
82
c9600d64781a
work in progress adaptation to wassr service. cleanups required:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
81
diff
changeset
|
986 } |
218
27651b73a638
fix for a bug that post to wassr's channel which contains entity reference got through parrot blocker.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
217
diff
changeset
|
987 g_free(stripped); |
74
6b9593d1ffed
quick hack to suppress annoying completion message from wassr.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
73
diff
changeset
|
988 } |
302 | 989 else if(service == identica_service) { |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
990 /* discard parrot message */ |
201
0aeeafe37ef7
revised parrot blocker for identi.ca. now it compares stripped text and the stored message.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
200
diff
changeset
|
991 gchar *stripped = strip_html_markup(*buffer); |
220
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
992 GList *current = g_list_first(identica_parrot_list); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
993 while(current) { |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
994 GList *next = g_list_next(current); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
995 |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
996 if(strstr(stripped, current->data)) { |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
997 twitter_debug("identica parrot clearing: buf = %s post = %s\n", |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
998 *buffer, (char *)current->data); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
999 g_free(*sender); *sender = NULL; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1000 g_free(*buffer); *buffer = NULL; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1001 g_free(current->data); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1002 current->data = NULL; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1003 identica_parrot_list = |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1004 g_list_delete_link(identica_parrot_list, current); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1005 break; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1006 } |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1007 |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1008 current = next; |
138
eaf5d2c4ada0
temporal fix for identi.ca problems:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
137
diff
changeset
|
1009 } |
201
0aeeafe37ef7
revised parrot blocker for identi.ca. now it compares stripped text and the stored message.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
200
diff
changeset
|
1010 g_free(stripped); |
138
eaf5d2c4ada0
temporal fix for identi.ca problems:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
137
diff
changeset
|
1011 } |
302 | 1012 else if(service == ffeed_service) { |
1013 /* discard parrot message */ | |
1014 gchar *stripped = strip_html_markup(*buffer); | |
1015 GList *current = g_list_first(ffeed_parrot_list); | |
1016 while(current) { | |
1017 GList *next = g_list_next(current); | |
1018 | |
1019 if(strstr(stripped, current->data)) { | |
1020 twitter_debug("ffeed parrot clearing: buf = %s post = %s\n", | |
1021 *buffer, (char *)current->data); | |
1022 g_free(*sender); *sender = NULL; | |
1023 g_free(*buffer); *buffer = NULL; | |
1024 g_free(current->data); | |
1025 current->data = NULL; | |
1026 ffeed_parrot_list = | |
1027 g_list_delete_link(ffeed_parrot_list, current); | |
1028 break; | |
1029 } | |
1030 | |
1031 current = next; | |
1032 } | |
1033 g_free(stripped); | |
1034 } | |
138
eaf5d2c4ada0
temporal fix for identi.ca problems:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
137
diff
changeset
|
1035 |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
1036 /* filtering */ |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
1037 if(purple_prefs_get_bool(OPT_FILTER)) { |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
1038 apply_filter(sender, buffer, flags, service); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
1039 } |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
1040 |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
1041 /* return here if it is not twitter */ |
138
eaf5d2c4ada0
temporal fix for identi.ca problems:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
137
diff
changeset
|
1042 if(service != twitter_service) { |
61
a44d15cfd8a2
trying to fix changeset 60:ddd164e74312: clash when a message received and this plugin loaded after unloaded
mikanbako <maoutwo@gmail.com>
parents:
60
diff
changeset
|
1043 return FALSE; |
a44d15cfd8a2
trying to fix changeset 60:ddd164e74312: clash when a message received and this plugin loaded after unloaded
mikanbako <maoutwo@gmail.com>
parents:
60
diff
changeset
|
1044 } |
a44d15cfd8a2
trying to fix changeset 60:ddd164e74312: clash when a message received and this plugin loaded after unloaded
mikanbako <maoutwo@gmail.com>
parents:
60
diff
changeset
|
1045 |
194
1495b478680b
tentative support for jisko.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
183
diff
changeset
|
1046 /* if we use api, discard all incoming IM messages. */ |
115
7d0dd0e1dbd0
very preliminary twitter API get status feature.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
113
diff
changeset
|
1047 if(purple_prefs_get_bool(OPT_API_BASE_POST)) { |
119
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
1048 g_free(*sender); *sender = NULL; |
0c4a83f734cd
- duplication avoidance for the posted messages has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
118
diff
changeset
|
1049 g_free(*buffer); *buffer = NULL; |
115
7d0dd0e1dbd0
very preliminary twitter API get status feature.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
113
diff
changeset
|
1050 } |
7d0dd0e1dbd0
very preliminary twitter API get status feature.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
113
diff
changeset
|
1051 |
37
bafe2abf2d3b
- made suppress oops configurable
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
36
diff
changeset
|
1052 if(!suppress_oops || !purple_prefs_get_bool(OPT_SUPPRESS_OOPS)) |
36
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
1053 return FALSE; |
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
1054 |
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
1055 if(strstr(*buffer, OOPS_MESSAGE)) { |
39
2ac81c0afb53
- new debug macro. it includes function name and line number.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
38
diff
changeset
|
1056 twitter_debug("clearing sender and buffer\n"); |
65
4949d4eb34ec
- revised store icon feature
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
64
diff
changeset
|
1057 g_free(*sender); *sender = NULL; |
4949d4eb34ec
- revised store icon feature
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
64
diff
changeset
|
1058 g_free(*buffer); *buffer = NULL; |
36
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
1059 suppress_oops = FALSE; |
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
1060 } |
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
1061 return FALSE; |
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
1062 } |
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
1063 |
78
0b93dd0e0de1
fixed the data structure of marks that are positions of inserting user's icons.
mikanbako <maoutwo@gmail.com>
parents:
76
diff
changeset
|
1064 |
94
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1065 static gboolean |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1066 displaying_im_cb(PurpleAccount *account, const char *who, char **message, |
148
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1067 PurpleConversation *conv, PurpleMessageFlags flags, |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1068 void *unused) |
94
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1069 { |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1070 GtkIMHtml *imhtml; |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1071 GtkTextBuffer *text_buffer; |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1072 gint service = get_service_type(conv); |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1073 gint linenumber = 0; |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1074 |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1075 twitter_debug("called\n"); |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1076 |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1077 if(service == unknown_service) { |
222
b168502b73c3
expanded size of substitution buffer to 32KB. 128 bytes were not sufficient if both user name and channel name are rather long. tenforward reported this problem and umq pointed out the cause.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
221
diff
changeset
|
1078 twitter_debug("neither twitter nor wassr conv\n"); |
94
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1079 return FALSE; |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1080 } |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1081 |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1082 /* get text buffer */ |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1083 imhtml = GTK_IMHTML(PIDGIN_CONVERSATION(conv)->imhtml); |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1084 text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(imhtml)); |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1085 |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1086 /* store number of lines */ |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1087 linenumber = gtk_text_buffer_get_line_count(text_buffer); |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1088 g_hash_table_insert(conv_hash, conv, GINT_TO_POINTER(linenumber)); |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1089 twitter_debug("conv = %p linenumber = %d\n", conv, linenumber); |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1090 |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1091 return FALSE; |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1092 } |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1093 |
78
0b93dd0e0de1
fixed the data structure of marks that are positions of inserting user's icons.
mikanbako <maoutwo@gmail.com>
parents:
76
diff
changeset
|
1094 static void |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1095 displayed_im_cb(PurpleAccount *account, const char *who, char *message, |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1096 PurpleConversation *conv, PurpleMessageFlags flags) |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1097 { |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1098 GMatchInfo *match_info = NULL; |
70
74524f379440
trying simple search in insert_requested_icon() due to malfunction under linux environment.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
69
diff
changeset
|
1099 gchar *user_name = NULL; |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1100 GtkIMHtml *imhtml; |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1101 GtkTextBuffer *text_buffer; |
94
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1102 GtkTextIter insertion_point; |
86 | 1103 gint service = get_service_type(conv); |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
1104 icon_data *data = NULL; |
94
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1105 gint linenumber; |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
1106 GHashTable *hash = NULL; |
152
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1107 gboolean renew = FALSE; |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1108 |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
1109 twitter_debug("called\n"); |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
1110 |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
1111 if(service == unknown_service) { |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
1112 twitter_debug("unknown service\n"); |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1113 return; |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1114 } |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1115 |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1116 /* get user's name */ |
226
8da85ae0aa2c
tweaked user pattern and channel pattern so that they can be matched regardless of surrounding anchor markups.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
223
diff
changeset
|
1117 g_regex_match(regp[USER], message, 0, &match_info); |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1118 if(!g_match_info_matches(match_info)) { |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1119 twitter_debug("message was not matched : %s\n", message); |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1120 g_match_info_free(match_info); |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1121 return; |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1122 } |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1123 |
61
a44d15cfd8a2
trying to fix changeset 60:ddd164e74312: clash when a message received and this plugin loaded after unloaded
mikanbako <maoutwo@gmail.com>
parents:
60
diff
changeset
|
1124 user_name = g_match_info_fetch(match_info, 1); |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1125 g_match_info_free(match_info); |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1126 |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1127 /* insert icon */ |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1128 imhtml = GTK_IMHTML(PIDGIN_CONVERSATION(conv)->imhtml); |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1129 text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(imhtml)); |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1130 |
94
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1131 /* get GtkTextIter in the target line */ |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1132 linenumber = GPOINTER_TO_INT(g_hash_table_lookup(conv_hash, conv)); |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1133 gtk_text_buffer_get_iter_at_line(text_buffer, |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1134 &insertion_point, |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1135 linenumber); |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1136 |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
1137 switch(service) { |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
1138 case twitter_service: |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
1139 case wassr_service: |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
1140 case identica_service: |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
1141 case jisko_service: |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
1142 case ffeed_service: |
262 | 1143 hash = icon_hash[service]; |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
1144 break; |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
1145 default: |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
1146 twitter_debug("unknown service\n"); |
85
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
1147 break; |
fb9831fae969
- fixed the bug that icons didn't appear correctly for wassr conversation.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
84
diff
changeset
|
1148 } |
84
0c1f63882b8a
preliminary wassr icon support. not yet completed.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
83
diff
changeset
|
1149 |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
1150 if(hash) |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
1151 data = g_hash_table_lookup(hash, user_name); |
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
1152 |
152
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1153 if(data) { |
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1154 /* check validity of icon */ |
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1155 int count_thres = purple_prefs_get_int(OPT_ICON_MAX_COUNT); |
259 | 1156 int days_thres = |
1157 DAYS_TO_SECONDS(purple_prefs_get_int(OPT_ICON_MAX_DAYS)); | |
152
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1158 |
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1159 if(data->use_count > count_thres || |
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1160 (data->mtime && ((time(NULL) - data->mtime)) > days_thres)) { |
167
10516b7b05a9
- ceased use of purple_imgstore_*
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
166
diff
changeset
|
1161 twitter_debug("count=%d mtime=%d\n", |
10516b7b05a9
- ceased use of purple_imgstore_*
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
166
diff
changeset
|
1162 data->use_count, (int)(data->mtime)); |
152
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1163 renew = TRUE; |
198
85484ddf8823
- changed the way of fetching icons for wassr. now pidgin-twitter downloads html first even for wassr.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
196
diff
changeset
|
1164 request_icon(user_name, service, renew); |
152
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1165 } |
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1166 } |
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1167 |
94
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1168 /* if we don't have the icon for this user, put a mark instead and |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1169 * request the icon */ |
167
10516b7b05a9
- ceased use of purple_imgstore_*
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
166
diff
changeset
|
1170 if(!data || !data->pixbuf) { |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1171 twitter_debug("%s's icon is not in memory.\n", user_name); |
78
0b93dd0e0de1
fixed the data structure of marks that are positions of inserting user's icons.
mikanbako <maoutwo@gmail.com>
parents:
76
diff
changeset
|
1172 mark_icon_for_user(gtk_text_buffer_create_mark( |
95
ab612180e7d0
- added identica support. linkfy and character counter work. icon support has not implemented yet.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
94
diff
changeset
|
1173 text_buffer, NULL, &insertion_point, FALSE), |
84
0c1f63882b8a
preliminary wassr icon support. not yet completed.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
83
diff
changeset
|
1174 user_name, service); |
78
0b93dd0e0de1
fixed the data structure of marks that are positions of inserting user's icons.
mikanbako <maoutwo@gmail.com>
parents:
76
diff
changeset
|
1175 /* request to attach icon to the buffer */ |
152
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1176 request_icon(user_name, service, renew); |
70
74524f379440
trying simple search in insert_requested_icon() due to malfunction under linux environment.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
69
diff
changeset
|
1177 g_free(user_name); user_name = NULL; |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1178 return; |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1179 } |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1180 |
259 | 1181 /* if we have the icon for this user, insert the icon immediately */ |
104
084e1c6de8ca
icon scaling feature has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
103
diff
changeset
|
1182 if(purple_prefs_get_bool(OPT_SHOW_ICON)) { |
084e1c6de8ca
icon scaling feature has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
103
diff
changeset
|
1183 gtk_text_buffer_insert_pixbuf(text_buffer, |
084e1c6de8ca
icon scaling feature has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
103
diff
changeset
|
1184 &insertion_point, |
167
10516b7b05a9
- ceased use of purple_imgstore_*
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
166
diff
changeset
|
1185 data->pixbuf); |
152
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1186 data->use_count++; |
104
084e1c6de8ca
icon scaling feature has been implemented.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
103
diff
changeset
|
1187 } |
70
74524f379440
trying simple search in insert_requested_icon() due to malfunction under linux environment.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
69
diff
changeset
|
1188 g_free(user_name); user_name = NULL; |
72
af4f31bce461
Support API base message posting
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
71
diff
changeset
|
1189 |
af4f31bce461
Support API base message posting
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
71
diff
changeset
|
1190 twitter_debug("reach end of function\n"); |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1191 } |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1192 |
36
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
1193 static gboolean |
330
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1194 pt_url_clicked_cb(GtkIMHtml *imhtml, GtkIMHtmlLink *link) |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1195 { |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1196 const gchar * url = gtk_imhtml_link_get_url(link); |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1197 |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1198 purple_got_protocol_handler_uri(url); |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1199 |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1200 return TRUE; |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1201 } |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1202 |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1203 static gboolean |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1204 pt_url_context_menu_cb(GtkIMHtml *imhtml, GtkIMHtmlLink *link, GtkWidget *menu) |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1205 { |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1206 return TRUE; |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1207 } |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1208 |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1209 static gboolean |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
1210 load_plugin(PurplePlugin *plugin) |
0 | 1211 { |
148
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1212 int i; |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1213 |
6 | 1214 /* connect to signal */ |
259 | 1215 purple_signal_connect(purple_conversations_get_handle(), |
1216 "writing-im-msg", | |
19
0d7cbc984570
escape pseudo command feature has been added
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
16
diff
changeset
|
1217 plugin, PURPLE_CALLBACK(writing_im_cb), NULL); |
259 | 1218 purple_signal_connect(purple_conversations_get_handle(), |
1219 "sending-im-msg", | |
19
0d7cbc984570
escape pseudo command feature has been added
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
16
diff
changeset
|
1220 plugin, PURPLE_CALLBACK(sending_im_cb), NULL); |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
1221 purple_signal_connect(purple_conversations_get_handle(), |
31 | 1222 "conversation-created", |
1223 plugin, PURPLE_CALLBACK(conv_created_cb), NULL); | |
259 | 1224 purple_signal_connect(purple_conversations_get_handle(), |
1225 "receiving-im-msg", | |
36
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
1226 plugin, PURPLE_CALLBACK(receiving_im_cb), NULL); |
259 | 1227 purple_signal_connect(pidgin_conversations_get_handle(), |
1228 "displaying-im-msg", | |
94
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1229 plugin, PURPLE_CALLBACK(displaying_im_cb), NULL); |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1230 |
259 | 1231 purple_signal_connect(pidgin_conversations_get_handle(), |
1232 "displayed-im-msg", | |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1233 plugin, PURPLE_CALLBACK(displayed_im_cb), NULL); |
61
a44d15cfd8a2
trying to fix changeset 60:ddd164e74312: clash when a message received and this plugin loaded after unloaded
mikanbako <maoutwo@gmail.com>
parents:
60
diff
changeset
|
1234 purple_signal_connect(purple_conversations_get_handle(), |
a44d15cfd8a2
trying to fix changeset 60:ddd164e74312: clash when a message received and this plugin loaded after unloaded
mikanbako <maoutwo@gmail.com>
parents:
60
diff
changeset
|
1235 "deleting-conversation", |
a44d15cfd8a2
trying to fix changeset 60:ddd164e74312: clash when a message received and this plugin loaded after unloaded
mikanbako <maoutwo@gmail.com>
parents:
60
diff
changeset
|
1236 plugin, PURPLE_CALLBACK(deleting_conv_cb), NULL); |
259 | 1237 purple_signal_connect(purple_connections_get_handle(), |
1238 "signed-on", | |
118
8b097fcb9243
Add function that opens twitter's conversation window automatically when the
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
117
diff
changeset
|
1239 plugin, PURPLE_CALLBACK(signed_on_cb), NULL); |
8b097fcb9243
Add function that opens twitter's conversation window automatically when the
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
117
diff
changeset
|
1240 |
330
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1241 gtk_imhtml_class_register_protocol("PT://", |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1242 pt_url_clicked_cb, |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1243 pt_url_context_menu_cb); |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1244 purple_signal_connect(purple_get_core(), |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1245 "uri-handler", |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1246 plugin, |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1247 PURPLE_CALLBACK(pt_uri_handler), NULL); |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1248 |
0 | 1249 |
28
73e817be3267
- Fixed a crash bug. Each unload/reload cycle caused crash due to unrefed regp.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
25
diff
changeset
|
1250 /* compile regex */ |
45
746ff3b54c10
trying another way to strip markups. in this revision, all markups are striped with strip_html_markup() on sending a message.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
44
diff
changeset
|
1251 regp[RECIPIENT] = g_regex_new(P_RECIPIENT, 0, 0, NULL); |
746ff3b54c10
trying another way to strip markups. in this revision, all markups are striped with strip_html_markup() on sending a message.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
44
diff
changeset
|
1252 regp[SENDER] = g_regex_new(P_SENDER, 0, 0, NULL); |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
1253 regp[SENDER_FFEED] = g_regex_new(P_SENDER_FFEED, 0, 0, NULL); |
45
746ff3b54c10
trying another way to strip markups. in this revision, all markups are striped with strip_html_markup() on sending a message.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
44
diff
changeset
|
1254 regp[COMMAND] = g_regex_new(P_COMMAND, G_REGEX_RAW, 0, NULL); |
746ff3b54c10
trying another way to strip markups. in this revision, all markups are striped with strip_html_markup() on sending a message.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
44
diff
changeset
|
1255 regp[PSEUDO] = g_regex_new(P_PSEUDO, G_REGEX_RAW, 0, NULL); |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1256 regp[USER] = g_regex_new(P_USER, 0, 0, NULL); |
203
6c6fe6375ce4
revised identi.ca tag support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
202
diff
changeset
|
1257 regp[CHANNEL_WASSR] = g_regex_new(P_CHANNEL, 0, 0, NULL); |
336
8de140bc8d13
better handling of non-ascii tag. now it properly handles tags in which the first ascii latter occurs in the beginning or mid of a non-ascii word.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
334
diff
changeset
|
1258 regp[TAG_TWITTER] = g_regex_new(P_TAG_TWITTER, G_REGEX_RAW, 0, NULL); |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
1259 regp[TAG_IDENTICA] = g_regex_new(P_TAG_IDENTICA, 0, 0, NULL); |
286
6d0bb66fedc7
added group support for identi.ca.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
284
diff
changeset
|
1260 regp[GROUP_IDENTICA] = g_regex_new(P_GROUP_IDENTICA, 0, 0, NULL); |
198
85484ddf8823
- changed the way of fetching icons for wassr. now pidgin-twitter downloads html first even for wassr.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
196
diff
changeset
|
1261 regp[IMAGE_TWITTER] = g_regex_new(P_IMAGE_TWITTER, 0, 0, NULL); |
85484ddf8823
- changed the way of fetching icons for wassr. now pidgin-twitter downloads html first even for wassr.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
196
diff
changeset
|
1262 regp[IMAGE_WASSR] = g_regex_new(P_IMAGE_WASSR, 0, 0, NULL); |
134
9e80267fe566
- changed the way of retrieving icons from twitter. now pidgin-twitter retrieves icon which is embedded in user page.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
130
diff
changeset
|
1263 regp[IMAGE_IDENTICA] = g_regex_new(P_IMAGE_IDENTICA, 0, 0, NULL); |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
1264 regp[IMAGE_JISKO] = g_regex_new(P_IMAGE_JISKO, 0, 0, NULL); |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
1265 regp[IMAGE_FFEED] = g_regex_new(P_IMAGE_FFEED, 0, 0, NULL); |
205
bc1448e72b1b
workaround for that wassr sometimes provides 128 pixel icon with broad white borders.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
204
diff
changeset
|
1266 regp[SIZE_128_WASSR] = g_regex_new(P_SIZE_128_WASSR, 0, 0, NULL); |
239
e3a24c98772d
added a new feature that strips excessive consecutive new line characters.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
232
diff
changeset
|
1267 regp[EXCESS_LF] = g_regex_new(P_EXCESS_LF, 0, 0, NULL); |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
1268 regp[TRAIL_HASH] = g_regex_new(P_TRAIL_HASH, 0, 0, NULL); |
330
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1269 regp[MESSAGE_ID] = g_regex_new(P_MESSAGE_ID, 0, 0, NULL); |
97
24ad534e438e
linkfy #channelname per user configuration.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
96
diff
changeset
|
1270 |
194
1495b478680b
tentative support for jisko.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
183
diff
changeset
|
1271 for(i = twitter_service; i < NUM_SERVICES; i++) { |
148
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1272 icon_hash[i] = g_hash_table_new_full(g_str_hash, g_str_equal, |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1273 g_free, NULL); |
148
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1274 } |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1275 |
94
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1276 conv_hash = g_hash_table_new_full(g_direct_hash, g_direct_equal, |
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1277 NULL, NULL); |
28
73e817be3267
- Fixed a crash bug. Each unload/reload cycle caused crash due to unrefed regp.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
25
diff
changeset
|
1278 |
148
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1279 |
37
bafe2abf2d3b
- made suppress oops configurable
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
36
diff
changeset
|
1280 /* attach counter to the existing twitter window */ |
51
d5f251b37f6b
- make sure that disabling markup widgets works even if counter is disabled.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
50
diff
changeset
|
1281 if(purple_prefs_get_bool(OPT_COUNTER)) { |
31 | 1282 attach_to_window(); |
1283 } | |
1284 | |
6 | 1285 return TRUE; |
0 | 1286 } |
1287 | |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1288 static void |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1289 cancel_fetch_func(gpointer key, gpointer value, gpointer user_data) |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1290 { |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1291 icon_data *data = (icon_data *)value; |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1292 |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1293 if(!data) |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1294 return; |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1295 |
227
ed227c5765a2
fix for a problem that cancel_fetch_func() sometimes triggered double free caused by a design flaw in purple_proxy_connect_*().
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
226
diff
changeset
|
1296 if(data->requested) { |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1297 purple_util_fetch_url_cancel(data->fetch_data); |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1298 data->fetch_data = NULL; |
227
ed227c5765a2
fix for a problem that cancel_fetch_func() sometimes triggered double free caused by a design flaw in purple_proxy_connect_*().
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
226
diff
changeset
|
1299 data->requested = FALSE; |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1300 } |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1301 |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1302 if(data->request_list) { |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1303 twitter_debug("somehow, request_list != NULL\n"); |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1304 } |
148
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1305 } |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1306 |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1307 static void |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1308 cleanup_hash_entry_func(gpointer key, gpointer value, gpointer user_data) |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1309 { |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1310 remove_marks_func(key, value, user_data); |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1311 cancel_fetch_func(key, value, user_data); |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1312 } |
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1313 |
8 | 1314 static gboolean |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
1315 unload_plugin(PurplePlugin *plugin) |
0 | 1316 { |
148
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1317 int i; |
220
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1318 GList *current; |
148
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1319 |
39
2ac81c0afb53
- new debug macro. it includes function name and line number.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
38
diff
changeset
|
1320 twitter_debug("called\n"); |
0 | 1321 |
31 | 1322 /* disconnect from signal */ |
1323 purple_signal_disconnect(purple_conversations_get_handle(), | |
1324 "writing-im-msg", | |
1325 plugin, PURPLE_CALLBACK(writing_im_cb)); | |
1326 purple_signal_disconnect(purple_conversations_get_handle(), | |
1327 "sending-im-msg", | |
1328 plugin, PURPLE_CALLBACK(sending_im_cb)); | |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
1329 purple_signal_disconnect(purple_conversations_get_handle(), |
31 | 1330 "conversation-created", |
1331 plugin, PURPLE_CALLBACK(conv_created_cb)); | |
61
a44d15cfd8a2
trying to fix changeset 60:ddd164e74312: clash when a message received and this plugin loaded after unloaded
mikanbako <maoutwo@gmail.com>
parents:
60
diff
changeset
|
1332 purple_signal_disconnect(pidgin_conversations_get_handle(), |
135
cae8d5dd24d0
disconnect displaying_im_cb when unload.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
134
diff
changeset
|
1333 "displaying-im-msg", |
cae8d5dd24d0
disconnect displaying_im_cb when unload.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
134
diff
changeset
|
1334 plugin, PURPLE_CALLBACK(displaying_im_cb)); |
cae8d5dd24d0
disconnect displaying_im_cb when unload.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
134
diff
changeset
|
1335 purple_signal_disconnect(pidgin_conversations_get_handle(), |
61
a44d15cfd8a2
trying to fix changeset 60:ddd164e74312: clash when a message received and this plugin loaded after unloaded
mikanbako <maoutwo@gmail.com>
parents:
60
diff
changeset
|
1336 "displayed-im-msg", |
a44d15cfd8a2
trying to fix changeset 60:ddd164e74312: clash when a message received and this plugin loaded after unloaded
mikanbako <maoutwo@gmail.com>
parents:
60
diff
changeset
|
1337 plugin, PURPLE_CALLBACK(displayed_im_cb)); |
a44d15cfd8a2
trying to fix changeset 60:ddd164e74312: clash when a message received and this plugin loaded after unloaded
mikanbako <maoutwo@gmail.com>
parents:
60
diff
changeset
|
1338 purple_signal_disconnect(purple_conversations_get_handle(), |
a44d15cfd8a2
trying to fix changeset 60:ddd164e74312: clash when a message received and this plugin loaded after unloaded
mikanbako <maoutwo@gmail.com>
parents:
60
diff
changeset
|
1339 "receiving-im-msg", |
a44d15cfd8a2
trying to fix changeset 60:ddd164e74312: clash when a message received and this plugin loaded after unloaded
mikanbako <maoutwo@gmail.com>
parents:
60
diff
changeset
|
1340 plugin, PURPLE_CALLBACK(receiving_im_cb)); |
36
ae1d059fa6fe
added oops message suppression functionality. it discards oops message if a sent message is more than 140 bytes and less than 140 letters.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
35
diff
changeset
|
1341 purple_signal_disconnect(purple_conversations_get_handle(), |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1342 "deleting-conversation", |
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1343 plugin, PURPLE_CALLBACK(deleting_conv_cb)); |
259 | 1344 purple_signal_disconnect(purple_connections_get_handle(), |
118
8b097fcb9243
Add function that opens twitter's conversation window automatically when the
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
117
diff
changeset
|
1345 "signed-on", |
8b097fcb9243
Add function that opens twitter's conversation window automatically when the
Konosuke Watanabe <sasugaanija@gmail.com>
parents:
117
diff
changeset
|
1346 plugin, PURPLE_CALLBACK(signed_on_cb)); |
31 | 1347 |
330
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1348 gtk_imhtml_class_register_protocol("PT://", NULL, NULL); |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1349 |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1350 /* should do? --yaz */ |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1351 purple_signal_disconnect(purple_get_core(), |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1352 "uri-handler", |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1353 plugin, PURPLE_CALLBACK(pt_uri_handler)); |
cc41ee1f5d3a
implemented reply, favorite, retweet functionalities. these are quite raw, be careful!
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
326
diff
changeset
|
1354 |
31 | 1355 /* unreference regp */ |
196
b436d72447e8
make use of got_page_cb to obtain icons for jisko.
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
194
diff
changeset
|
1356 for(i = 0; i < NUM_REGPS; i++) { |
122
a37dd74c8355
- adapted to identi.ca changes.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
121
diff
changeset
|
1357 g_regex_unref(regp[i]); |
a37dd74c8355
- adapted to identi.ca changes.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
121
diff
changeset
|
1358 } |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1359 |
80
e0bf37c105eb
work in progress one hash table code:
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
79
diff
changeset
|
1360 /* remove mark list in each hash entry */ |
60
ddd164e74312
trying to show user's icon. in this revision, the default icon of twitter is showed.
mikanbako <maoutwo@gmail.com>
parents:
59
diff
changeset
|
1361 /* cancel request that has not been finished yet */ |
194
1495b478680b
tentative support for jisko.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
183
diff
changeset
|
1362 for(i = twitter_service; i < NUM_SERVICES; i++) { |
148
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1363 /* delete mark list and stop requeset for each hash table */ |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1364 g_hash_table_foreach(icon_hash[i], |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1365 (GHFunc)cleanup_hash_entry_func, NULL); |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1366 /* destroy hash table for icon_data */ |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1367 g_hash_table_destroy(icon_hash[i]); |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1368 } |
4e9d0fd93fb6
- in saving icon file for twitter, proper extension is used.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
147
diff
changeset
|
1369 |
94
31cddb2c2acc
fix icon position when the displaying message contains new line character. try 1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
93
diff
changeset
|
1370 g_hash_table_destroy(conv_hash); |
9
c6b80f47d4df
added capability to translate sender name into link
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
8
diff
changeset
|
1371 |
31 | 1372 /* detach from twitter window */ |
1373 detach_from_window(); | |
1374 | |
220
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1375 /* free wassr_parrot_list */ |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1376 current = g_list_first(wassr_parrot_list); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1377 while(current) { |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1378 GList *next; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1379 |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1380 next = g_list_next(current); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1381 g_free(current->data); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1382 wassr_parrot_list = |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1383 g_list_delete_link(wassr_parrot_list, current); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1384 |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1385 current = next; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1386 } |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1387 g_list_free(wassr_parrot_list); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1388 wassr_parrot_list = NULL; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1389 |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1390 /* free identica_parot_list */ |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1391 current = g_list_first(identica_parrot_list); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1392 while(current) { |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1393 GList *next; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1394 |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1395 next = g_list_next(current); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1396 g_free(current->data); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1397 identica_parrot_list = |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1398 g_list_delete_link(identica_parrot_list, current); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1399 |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1400 current = next; |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1401 } |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1402 g_list_free(identica_parrot_list); |
1ebef23bbccb
- made parrot buffers lists so that delayed echo back message can be properly blocked.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
219
diff
changeset
|
1403 identica_parrot_list = NULL; |
138
eaf5d2c4ada0
temporal fix for identi.ca problems:
Yoshiki Yazawa <yaz@honeyplnaet.jp>
parents:
137
diff
changeset
|
1404 |
6 | 1405 return TRUE; |
0 | 1406 } |
1407 | |
126
bac987852e66
switched to native gtk preferences dialog.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
125
diff
changeset
|
1408 static PidginPluginUiInfo ui_info = { |
bac987852e66
switched to native gtk preferences dialog.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
125
diff
changeset
|
1409 prefs_get_frame, |
256
9fb8f597adf3
- moved is_*_account() functions to util.c.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
254
diff
changeset
|
1410 0, /* page number - reserved */ |
9fb8f597adf3
- moved is_*_account() functions to util.c.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
254
diff
changeset
|
1411 NULL, /* reserved 1 */ |
9fb8f597adf3
- moved is_*_account() functions to util.c.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
254
diff
changeset
|
1412 NULL, /* reserved 2 */ |
9fb8f597adf3
- moved is_*_account() functions to util.c.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
254
diff
changeset
|
1413 NULL, /* reserved 3 */ |
9fb8f597adf3
- moved is_*_account() functions to util.c.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
254
diff
changeset
|
1414 NULL /* reserved 4 */ |
126
bac987852e66
switched to native gtk preferences dialog.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
125
diff
changeset
|
1415 }; |
0 | 1416 |
6 | 1417 static PurplePluginInfo info = { |
1418 PURPLE_PLUGIN_MAGIC, | |
1419 PURPLE_MAJOR_VERSION, | |
1420 PURPLE_MINOR_VERSION, | |
1421 PURPLE_PLUGIN_STANDARD, /**< type */ | |
147
3abee459c81c
removed old prefs stuff.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
146
diff
changeset
|
1422 PIDGIN_PLUGIN_TYPE, /**< ui_req */ |
19
0d7cbc984570
escape pseudo command feature has been added
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
16
diff
changeset
|
1423 0, /**< flags */ |
0d7cbc984570
escape pseudo command feature has been added
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
16
diff
changeset
|
1424 NULL, /**< deps */ |
6 | 1425 PURPLE_PRIORITY_DEFAULT, /**< priority */ |
232
1c85aa4acb9d
- bumped version to 0.8.0b1.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
231
diff
changeset
|
1426 PLUGIN_ID, /**< id */ |
6 | 1427 "Pidgin-Twitter", /**< name */ |
334 | 1428 "0.9.0", /**< version */ |
76
63bd9ca28be0
- added nosuke and iratqq to the authors.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
74
diff
changeset
|
1429 "provides useful features for twitter", /** summary */ |
63bd9ca28be0
- added nosuke and iratqq to the authors.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
74
diff
changeset
|
1430 "provides useful features for twitter", /** desc */ |
183 | 1431 "Yoshiki Yazawa, mikanbako, \nKonosuke Watanabe, IWATA Ray, \nmojin, umq, \nthe pidging-twitter team", /**< author */ |
164 | 1432 "http://www.honeyplanet.jp/pidgin-twitter/", /**< homepage */ |
19
0d7cbc984570
escape pseudo command feature has been added
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
16
diff
changeset
|
1433 load_plugin, /**< load */ |
0d7cbc984570
escape pseudo command feature has been added
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
16
diff
changeset
|
1434 unload_plugin, /**< unload */ |
6 | 1435 NULL, /**< destroy */ |
269 | 1436 &ui_info, /**< ui_info */ |
126
bac987852e66
switched to native gtk preferences dialog.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
125
diff
changeset
|
1437 NULL, /**< extra_info */ |
bac987852e66
switched to native gtk preferences dialog.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
125
diff
changeset
|
1438 NULL, /**< pref info */ |
6 | 1439 NULL |
0 | 1440 }; |
1441 | |
8 | 1442 static void |
38
625e385036c3
applied indent to fix indentations
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
37
diff
changeset
|
1443 init_plugin(PurplePlugin *plugin) |
0 | 1444 { |
64
da37857f3033
- separated header things into pidgin-twitter.h
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
63
diff
changeset
|
1445 char *dirname = NULL; |
da37857f3033
- separated header things into pidgin-twitter.h
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
63
diff
changeset
|
1446 |
6 | 1447 g_type_init(); |
67
000575bce35d
path should not be hard-coded. windows uses another delimiter.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
66
diff
changeset
|
1448 dirname = g_build_filename(purple_user_dir(), "pidgin-twitter", "icons", NULL); |
64
da37857f3033
- separated header things into pidgin-twitter.h
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
63
diff
changeset
|
1449 if(dirname) |
da37857f3033
- separated header things into pidgin-twitter.h
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
63
diff
changeset
|
1450 purple_prefs_add_string(OPT_ICON_DIR, dirname); |
da37857f3033
- separated header things into pidgin-twitter.h
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
63
diff
changeset
|
1451 g_free(dirname); |
0 | 1452 |
6 | 1453 /* add plugin preferences */ |
1454 purple_prefs_add_none(OPT_PIDGINTWITTER); | |
9
c6b80f47d4df
added capability to translate sender name into link
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
8
diff
changeset
|
1455 purple_prefs_add_bool(OPT_TRANSLATE_RECIPIENT, TRUE); |
c6b80f47d4df
added capability to translate sender name into link
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
8
diff
changeset
|
1456 purple_prefs_add_bool(OPT_TRANSLATE_SENDER, TRUE); |
97
24ad534e438e
linkfy #channelname per user configuration.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
96
diff
changeset
|
1457 purple_prefs_add_bool(OPT_TRANSLATE_CHANNEL, TRUE); |
19
0d7cbc984570
escape pseudo command feature has been added
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
16
diff
changeset
|
1458 purple_prefs_add_bool(OPT_ESCAPE_PSEUDO, TRUE); |
239
e3a24c98772d
added a new feature that strips excessive consecutive new line characters.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
232
diff
changeset
|
1459 purple_prefs_add_bool(OPT_STRIP_EXCESS_LF, TRUE); |
9
c6b80f47d4df
added capability to translate sender name into link
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
8
diff
changeset
|
1460 |
10
4bd8c89b4749
now it plays sound when sender of message is in the userlist.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
9
diff
changeset
|
1461 purple_prefs_add_bool(OPT_PLAYSOUND_RECIPIENT, TRUE); |
15
6be35fe9d18c
changed default value of playsound for sender. now it is enabled by default.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
14
diff
changeset
|
1462 purple_prefs_add_bool(OPT_PLAYSOUND_SENDER, TRUE); |
11
7ea2a717af42
now sender list and sender sound can be set in independent of recipient settings.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
10
diff
changeset
|
1463 purple_prefs_add_int(OPT_SOUNDID_RECIPIENT, PURPLE_SOUND_POUNCE_DEFAULT); |
7ea2a717af42
now sender list and sender sound can be set in independent of recipient settings.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
10
diff
changeset
|
1464 purple_prefs_add_string(OPT_USERLIST_RECIPIENT, DEFAULT_LIST); |
16
728c068534d1
default soundid for sender has been changed to pounce default since anything other may be disabled by configuration so that it may be confusing.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
15
diff
changeset
|
1465 purple_prefs_add_int(OPT_SOUNDID_SENDER, PURPLE_SOUND_POUNCE_DEFAULT); |
11
7ea2a717af42
now sender list and sender sound can be set in independent of recipient settings.
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
10
diff
changeset
|
1466 purple_prefs_add_string(OPT_USERLIST_SENDER, DEFAULT_LIST); |
31 | 1467 |
1468 purple_prefs_add_bool(OPT_COUNTER, TRUE); | |
37
bafe2abf2d3b
- made suppress oops configurable
Yoshiki Yazawa <yaz@cc.rim.or.jp>
parents:
36
diff
changeset
|
1469 purple_prefs_add_bool(OPT_SUPPRESS_OOPS, TRUE); |
99
f207cc8da6cd
quick hack to make show icon configurable
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
98
diff
changeset
|
1470 purple_prefs_add_bool(OPT_PREVENT_NOTIFICATION, FALSE); |
59
3f9148c1dc60
added that to prevent notifications of incoming messages from twitter.com.
mikanbako <maoutwo@gmail.com>
parents:
56
diff
changeset
|
1471 |
258
2145f975ef69
- fixed a glitch in identi.ca icon pattern
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
256
diff
changeset
|
1472 purple_prefs_add_bool(OPT_API_BASE_POST, TRUE); |
153
07cedffb1c63
implemented UI for configuring icon update.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
152
diff
changeset
|
1473 purple_prefs_add_int(OPT_API_BASE_GET_INTERVAL, TWITTER_DEFAULT_INTERVAL); |
284
2d559555875f
now message count can be specified in twitter API access.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
274
diff
changeset
|
1474 purple_prefs_add_int(OPT_RETRIEVE_COUNT, TWITTER_DEFAULT_RETRIEVE_COUNT); |
110
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
1475 purple_prefs_add_string(OPT_SCREEN_NAME_TWITTER, EMPTY); |
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
1476 purple_prefs_add_string(OPT_PASSWORD_TWITTER, EMPTY); |
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
1477 purple_prefs_add_string(OPT_SCREEN_NAME_WASSR, EMPTY); |
8b98a26f44ce
made screen name for each service configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
109
diff
changeset
|
1478 purple_prefs_add_string(OPT_SCREEN_NAME_IDENTICA, EMPTY); |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
1479 purple_prefs_add_string(OPT_SCREEN_NAME_JISKO, EMPTY); |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
1480 purple_prefs_add_string(OPT_SCREEN_NAME_FFEED, EMPTY); |
153
07cedffb1c63
implemented UI for configuring icon update.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
152
diff
changeset
|
1481 |
07cedffb1c63
implemented UI for configuring icon update.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
152
diff
changeset
|
1482 purple_prefs_add_bool(OPT_SHOW_ICON, TRUE); |
07cedffb1c63
implemented UI for configuring icon update.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
152
diff
changeset
|
1483 purple_prefs_add_int(OPT_ICON_SIZE, DEFAULT_ICON_SIZE); |
07cedffb1c63
implemented UI for configuring icon update.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
152
diff
changeset
|
1484 purple_prefs_add_bool(OPT_UPDATE_ICON, TRUE); |
152
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1485 purple_prefs_add_int(OPT_ICON_MAX_COUNT, DEFAULT_ICON_MAX_COUNT); |
588da540685a
work in progress icon update feature. the default thresholds have been set to 5 times or 1 day for testing.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
151
diff
changeset
|
1486 purple_prefs_add_int(OPT_ICON_MAX_DAYS, DEFAULT_ICON_MAX_DAYS); |
168
56e3873e58a8
made log output configurable.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
167
diff
changeset
|
1487 purple_prefs_add_bool(OPT_LOG_OUTPUT, FALSE); |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
1488 |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
1489 purple_prefs_add_bool(OPT_FILTER, TRUE); |
215
6b258bdd9c49
added a feature of excluding reply to me from filter application.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
214
diff
changeset
|
1490 purple_prefs_add_bool(OPT_FILTER_EXCLUDE_REPLY, TRUE); |
211
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
1491 purple_prefs_add_string(OPT_FILTER_TWITTER, DEFAULT_LIST); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
1492 purple_prefs_add_string(OPT_FILTER_WASSR, DEFAULT_LIST); |
e13103257b33
implemented filtering functionality.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
210
diff
changeset
|
1493 purple_prefs_add_string(OPT_FILTER_IDENTICA, DEFAULT_LIST); |
240
405f8b880142
restored jisko support.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
239
diff
changeset
|
1494 purple_prefs_add_string(OPT_FILTER_JISKO, DEFAULT_LIST); |
300
42cdddf0f747
added preliminary support for friendfeed.
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
299
diff
changeset
|
1495 purple_prefs_add_string(OPT_FILTER_FFEED, DEFAULT_LIST); |
0 | 1496 } |
1497 | |
1498 PURPLE_INIT_PLUGIN(pidgin_twitter, init_plugin, info) |