Mercurial > pidgin-twitter
comparison pidgin-twitter.h @ 194:1495b478680b
tentative support for jisko.
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Sat, 09 Aug 2008 04:47:18 +0900 |
parents | 7a3ed2b113c5 |
children | 3e459b078788 |
comparison
equal
deleted
inserted
replaced
192:c76cd73cd2e6 | 194:1495b478680b |
---|---|
41 /* service id */ | 41 /* service id */ |
42 enum { | 42 enum { |
43 unknown_service = -1, | 43 unknown_service = -1, |
44 twitter_service, | 44 twitter_service, |
45 wassr_service, | 45 wassr_service, |
46 identica_service | 46 identica_service, |
47 jisko_service | |
47 }; | 48 }; |
48 | 49 |
49 /* container to hold icon data */ | 50 /* container to hold icon data */ |
50 typedef struct _icon_data { | 51 typedef struct _icon_data { |
51 GdkPixbuf *pixbuf; /* icon pixmap */ | 52 GdkPixbuf *pixbuf; /* icon pixmap */ |
107 #define OPT_ICON_DIR OPT_PIDGINTWITTER "/icon_dir" | 108 #define OPT_ICON_DIR OPT_PIDGINTWITTER "/icon_dir" |
108 #define OPT_API_BASE_POST OPT_PIDGINTWITTER "/api_base_post" | 109 #define OPT_API_BASE_POST OPT_PIDGINTWITTER "/api_base_post" |
109 #define OPT_SCREEN_NAME_TWITTER OPT_PIDGINTWITTER "/screen_name_twitter" | 110 #define OPT_SCREEN_NAME_TWITTER OPT_PIDGINTWITTER "/screen_name_twitter" |
110 #define OPT_SCREEN_NAME_WASSR OPT_PIDGINTWITTER "/screen_name_wassr" | 111 #define OPT_SCREEN_NAME_WASSR OPT_PIDGINTWITTER "/screen_name_wassr" |
111 #define OPT_SCREEN_NAME_IDENTICA OPT_PIDGINTWITTER "/screen_name_identica" | 112 #define OPT_SCREEN_NAME_IDENTICA OPT_PIDGINTWITTER "/screen_name_identica" |
113 #define OPT_SCREEN_NAME_JISKO OPT_PIDGINTWITTER "/screen_name_jisko" | |
112 #define OPT_PASSWORD_TWITTER OPT_PIDGINTWITTER "/password_twitter" | 114 #define OPT_PASSWORD_TWITTER OPT_PIDGINTWITTER "/password_twitter" |
113 #define OPT_SHOW_ICON OPT_PIDGINTWITTER "/show_icon" | 115 #define OPT_SHOW_ICON OPT_PIDGINTWITTER "/show_icon" |
114 #define OPT_ICON_SIZE OPT_PIDGINTWITTER "/icon_size" | 116 #define OPT_ICON_SIZE OPT_PIDGINTWITTER "/icon_size" |
115 #define OPT_UPDATE_ICON OPT_PIDGINTWITTER "/update_icon" | 117 #define OPT_UPDATE_ICON OPT_PIDGINTWITTER "/update_icon" |
116 #define OPT_ICON_MAX_COUNT OPT_PIDGINTWITTER "/icon_max_count" | 118 #define OPT_ICON_MAX_COUNT OPT_PIDGINTWITTER "/icon_max_count" |
123 #define SENDER_FORMAT_TWITTER "%s<a href='http://twitter.com/%s'>%s</a>: " | 125 #define SENDER_FORMAT_TWITTER "%s<a href='http://twitter.com/%s'>%s</a>: " |
124 #define RECIPIENT_FORMAT_WASSR "@<a href='http://wassr.jp/user/%s'>%s</a>" | 126 #define RECIPIENT_FORMAT_WASSR "@<a href='http://wassr.jp/user/%s'>%s</a>" |
125 #define SENDER_FORMAT_WASSR "%s<a href='http://wassr.jp/user/%s'>%s</a>: " | 127 #define SENDER_FORMAT_WASSR "%s<a href='http://wassr.jp/user/%s'>%s</a>: " |
126 #define RECIPIENT_FORMAT_IDENTICA "@<a href='http://identi.ca/%s'>%s</a>" | 128 #define RECIPIENT_FORMAT_IDENTICA "@<a href='http://identi.ca/%s'>%s</a>" |
127 #define SENDER_FORMAT_IDENTICA "%s<a href='http://identi.ca/%s'>%s</a>: " | 129 #define SENDER_FORMAT_IDENTICA "%s<a href='http://identi.ca/%s'>%s</a>: " |
130 #define RECIPIENT_FORMAT_JISKO "@<a href='http://jisko.net/%s'>%s</a>" | |
131 #define SENDER_FORMAT_JISKO "%s<a href='http://jisko.net/%s'>%s</a>: " | |
128 #define CHANNEL_FORMAT_WASSR "%s<a href='http://wassr.jp/channel/%s'>%s</a> " | 132 #define CHANNEL_FORMAT_WASSR "%s<a href='http://wassr.jp/channel/%s'>%s</a> " |
129 #define DEFAULT_LIST "(list of users: separated with ' ,:;')" | 133 #define DEFAULT_LIST "(list of users: separated with ' ,:;')" |
130 #define OOPS_MESSAGE "<body>Oops! Your update was over 140 characters. We sent the short version to your friends (they can view the entire update on the web).<BR></body>" | 134 #define OOPS_MESSAGE "<body>Oops! Your update was over 140 characters. We sent the short version to your friends (they can view the entire update on the web).<BR></body>" |
131 #define EMPTY "" | 135 #define EMPTY "" |
132 | 136 |
133 /* patterns */ | 137 /* patterns */ |
134 #define P_RECIPIENT "@([A-Za-z0-9_]+)" | 138 #define P_RECIPIENT "@([A-Za-z0-9_]+)" |
135 #define P_SENDER "^(\\r?\\n?)\\s*([A-Za-z0-9_]+): " | 139 #define P_SENDER "^(\\r?\\n?)\\s*([A-Za-z0-9_]+)(?:\\(.+\\))?: " |
136 #define P_COMMAND "^(?:\\s*)([dDfFgGlLmMnNtTwW]{1}\\s+[A-Za-z0-9_]+)(?:\\s*\\Z)" | 140 #define P_COMMAND "^(?:\\s*)([dDfFgGlLmMnNtTwW]{1}\\s+[A-Za-z0-9_]+)(?:\\s*\\Z)" |
137 #define P_PSEUDO "^\\s*(?:[\"#$%&'()*+,\\-./:;<=>?\\[\\\\\\]_`{|}~]|[^\\s\\x21-\\x7E])*([dDfFgGlLmMnNtTwW]{1})(?:\\Z|\\s+|[^\\x21-\\x7E]+\\Z)" | 141 #define P_PSEUDO "^\\s*(?:[\"#$%&'()*+,\\-./:;<=>?\\[\\\\\\]_`{|}~]|[^\\s\\x21-\\x7E])*([dDfFgGlLmMnNtTwW]{1})(?:\\Z|\\s+|[^\\x21-\\x7E]+\\Z)" |
138 #define P_USER "^\\(.+?\\)\\s*([A-Za-z0-9_]+):" | 142 #define P_USER "^\\(.+?\\)\\s*([A-Za-z0-9_]+):" |
139 #define P_USER_FIRST_LINE "^\\(.+?\\)\\s*.+:\\s*([A-Za-z0-9_]+):" | 143 #define P_USER_FIRST_LINE "^\\(.+?\\)\\s*.+:\\s*([A-Za-z0-9_]+):" |
140 #define P_USER_FORMATTED "^.*?<a .+?>([A-Za-z0-9_]+)</a>:" | 144 #define P_USER_FORMATTED "^.*?<a .+?>([A-Za-z0-9_]+)</a>:" |
189 static gboolean is_twitter_conv(PurpleConversation *conv); | 193 static gboolean is_twitter_conv(PurpleConversation *conv); |
190 static gboolean is_wassr_account(PurpleAccount *account, const char *name); | 194 static gboolean is_wassr_account(PurpleAccount *account, const char *name); |
191 static gboolean is_wassr_conv(PurpleConversation *conv); | 195 static gboolean is_wassr_conv(PurpleConversation *conv); |
192 static gboolean is_identica_account(PurpleAccount *account, const char *name); | 196 static gboolean is_identica_account(PurpleAccount *account, const char *name); |
193 static gboolean is_identica_conv(PurpleConversation *conv); | 197 static gboolean is_identica_conv(PurpleConversation *conv); |
198 static gboolean is_jisko_account(PurpleAccount *account, const char *name); | |
199 static gboolean is_jisko_conv(PurpleConversation *conv); | |
194 static void conv_created_cb(PurpleConversation *conv, gpointer null); | 200 static void conv_created_cb(PurpleConversation *conv, gpointer null); |
195 static void deleting_conv_cb(PurpleConversation *conv); | 201 static void deleting_conv_cb(PurpleConversation *conv); |
196 static gboolean receiving_im_cb(PurpleAccount *account, char **sender, char **buffer, PurpleConversation *conv, PurpleMessageFlags *flags, void *data); | 202 static gboolean receiving_im_cb(PurpleAccount *account, char **sender, char **buffer, PurpleConversation *conv, PurpleMessageFlags *flags, void *data); |
197 static void insert_icon_at_mark(GtkTextMark *requested_mark, gpointer user_data); | 203 static void insert_icon_at_mark(GtkTextMark *requested_mark, gpointer user_data); |
198 static void insert_requested_icon(const gchar *user_name, gint service); | 204 static void insert_requested_icon(const gchar *user_name, gint service); |