Mercurial > pidgin-twitter
comparison pidgin-twitter.c @ 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.
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Mon, 11 Aug 2008 10:17:46 +0900 |
parents | 85484ddf8823 |
children | 9a2d727f39b4 |
comparison
equal
deleted
inserted
replaced
198:85484ddf8823 | 199:5ddf8bee768d |
---|---|
1064 | 1064 |
1065 g_return_if_fail(gtkconv != NULL); | 1065 g_return_if_fail(gtkconv != NULL); |
1066 | 1066 |
1067 switch(service) { | 1067 switch(service) { |
1068 case twitter_service: | 1068 case twitter_service: |
1069 case jisko_service: | |
1070 count = gtk_text_buffer_get_char_count(textbuffer) + | 1069 count = gtk_text_buffer_get_char_count(textbuffer) + |
1071 (unsigned int)g_utf8_strlen(new_text, -1); | 1070 (unsigned int)g_utf8_strlen(new_text, -1); |
1072 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", | 1071 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", |
1073 count <= 140 ? "black" : "red", count); | 1072 count <= 140 ? "black" : "red", count); |
1073 break; | |
1074 case wassr_service: | |
1075 count = gtk_text_buffer_get_char_count(textbuffer) + | |
1076 (unsigned int)g_utf8_strlen(new_text, -1); | |
1077 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", | |
1078 count <= 255 ? "black" : "red", count); | |
1074 break; | 1079 break; |
1075 case identica_service: | 1080 case identica_service: |
1076 gtk_text_buffer_get_start_iter(textbuffer, &head); | 1081 gtk_text_buffer_get_start_iter(textbuffer, &head); |
1077 gtk_text_buffer_get_end_iter(textbuffer, &tail); | 1082 gtk_text_buffer_get_end_iter(textbuffer, &tail); |
1078 | 1083 |
1081 bytes = strlen(text) + new_text_length; | 1086 bytes = strlen(text) + new_text_length; |
1082 g_free(text); | 1087 g_free(text); |
1083 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", | 1088 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", |
1084 bytes <= 140 ? "black" : "red", bytes); | 1089 bytes <= 140 ? "black" : "red", bytes); |
1085 break; | 1090 break; |
1086 case wassr_service: | 1091 case jisko_service: |
1087 count = gtk_text_buffer_get_char_count(textbuffer) + | 1092 gtk_text_buffer_get_start_iter(textbuffer, &head); |
1088 (unsigned int)g_utf8_strlen(new_text, -1); | 1093 gtk_text_buffer_get_end_iter(textbuffer, &tail); |
1094 | |
1095 text = gtk_text_buffer_get_text(textbuffer, &head, &tail, TRUE); | |
1096 if(text) | |
1097 bytes = strlen(text) + new_text_length; | |
1098 g_free(text); | |
1089 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", | 1099 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", |
1090 count <= 255 ? "black" : "red", count); | 1100 bytes >= 5 && bytes <= 140 ? |
1101 "black" : "red", bytes); | |
1091 break; | 1102 break; |
1092 default: | 1103 default: |
1093 twitter_debug("unknown service\n"); | 1104 twitter_debug("unknown service\n"); |
1094 break; | 1105 break; |
1095 } | 1106 } |
1118 | 1129 |
1119 g_return_if_fail(gtkconv != NULL); | 1130 g_return_if_fail(gtkconv != NULL); |
1120 | 1131 |
1121 switch(service) { | 1132 switch(service) { |
1122 case twitter_service: | 1133 case twitter_service: |
1123 case jisko_service: | |
1124 count= gtk_text_buffer_get_char_count(textbuffer) - | 1134 count= gtk_text_buffer_get_char_count(textbuffer) - |
1125 (gtk_text_iter_get_offset(end_pos) - | 1135 (gtk_text_iter_get_offset(end_pos) - |
1126 gtk_text_iter_get_offset(start_pos)); | 1136 gtk_text_iter_get_offset(start_pos)); |
1127 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", | 1137 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", |
1128 count <= 140 ? "black" : "red", count); | 1138 count <= 140 ? "black" : "red", count); |
1129 break; | |
1130 case identica_service: | |
1131 gtk_text_buffer_get_start_iter(textbuffer, &head); | |
1132 gtk_text_buffer_get_end_iter(textbuffer, &tail); | |
1133 | |
1134 text = gtk_text_buffer_get_text(textbuffer, | |
1135 &head, &tail, TRUE); | |
1136 if(text) | |
1137 bytes = strlen(text); | |
1138 g_free(text); | |
1139 | |
1140 text = gtk_text_buffer_get_text(textbuffer, | |
1141 start_pos, end_pos, TRUE); | |
1142 if(text) | |
1143 bytes -= strlen(text); | |
1144 g_free(text); | |
1145 | |
1146 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", | |
1147 bytes <= 140 ? "black" : "red", bytes); | |
1148 break; | 1139 break; |
1149 case wassr_service: | 1140 case wassr_service: |
1150 count= gtk_text_buffer_get_char_count(textbuffer) - | 1141 count= gtk_text_buffer_get_char_count(textbuffer) - |
1151 (gtk_text_iter_get_offset(end_pos) - | 1142 (gtk_text_iter_get_offset(end_pos) - |
1152 gtk_text_iter_get_offset(start_pos)); | 1143 gtk_text_iter_get_offset(start_pos)); |
1153 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", | 1144 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", |
1154 count <= 255 ? "black" : "red", count); | 1145 count <= 255 ? "black" : "red", count); |
1146 break; | |
1147 case identica_service: | |
1148 gtk_text_buffer_get_start_iter(textbuffer, &head); | |
1149 gtk_text_buffer_get_end_iter(textbuffer, &tail); | |
1150 | |
1151 text = gtk_text_buffer_get_text(textbuffer, | |
1152 &head, &tail, TRUE); | |
1153 if(text) | |
1154 bytes = strlen(text); | |
1155 g_free(text); | |
1156 | |
1157 text = gtk_text_buffer_get_text(textbuffer, | |
1158 start_pos, end_pos, TRUE); | |
1159 if(text) | |
1160 bytes -= strlen(text); | |
1161 g_free(text); | |
1162 | |
1163 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", | |
1164 bytes <= 140 ? "black" : "red", bytes); | |
1165 break; | |
1166 case jisko_service: | |
1167 gtk_text_buffer_get_start_iter(textbuffer, &head); | |
1168 gtk_text_buffer_get_end_iter(textbuffer, &tail); | |
1169 | |
1170 text = gtk_text_buffer_get_text(textbuffer, | |
1171 &head, &tail, TRUE); | |
1172 if(text) | |
1173 bytes = strlen(text); | |
1174 g_free(text); | |
1175 | |
1176 text = gtk_text_buffer_get_text(textbuffer, | |
1177 start_pos, end_pos, TRUE); | |
1178 if(text) | |
1179 bytes -= strlen(text); | |
1180 g_free(text); | |
1181 | |
1182 markup = g_markup_printf_escaped("<span color=\"%s\">%u</span>", | |
1183 bytes >= 5 && bytes <= 140 ? | |
1184 "black" : "red", bytes); | |
1155 break; | 1185 break; |
1156 default: | 1186 default: |
1157 twitter_debug("unknown service\n"); | 1187 twitter_debug("unknown service\n"); |
1158 break; | 1188 break; |
1159 } | 1189 } |