comparison pidgin-twitter.c @ 110:8b98a26f44ce

made screen name for each service configurable.
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Tue, 15 Jul 2008 15:07:23 +0900
parents 1fc8b74d96db
children 799b28f181f8
comparison
equal deleted inserted replaced
109:1fc8b74d96db 110:8b98a26f44ce
411 const char *url_encoded = purple_url_encode(*buffer); 411 const char *url_encoded = purple_url_encode(*buffer);
412 char *basic_auth, *basic_auth_encoded; 412 char *basic_auth, *basic_auth_encoded;
413 413
414 twitter_message_t *tm; 414 twitter_message_t *tm;
415 415
416 const char *screen_name = purple_prefs_get_string(OPT_SCREEN_NAME); 416 const char *screen_name =
417 const char *password = purple_prefs_get_string(OPT_PASSWORD); 417 purple_prefs_get_string(OPT_SCREEN_NAME_TWITTER);
418 const char *password = purple_prefs_get_string(OPT_PASSWORD_TWITTER);
418 419
419 twitter_debug("tm.account: %s\n", 420 twitter_debug("tm.account: %s\n",
420 purple_account_get_username(account)); 421 purple_account_get_username(account));
421 422
422 if (!screen_name || !password || !screen_name[0] || !password[0]) { 423 if (!screen_name || !password || !screen_name[0] || !password[0]) {
657 return FALSE; 658 return FALSE;
658 659
659 /* Add screen_name if the current message is posted by owner */ 660 /* Add screen_name if the current message is posted by owner */
660 if (flags & PURPLE_MESSAGE_SEND) { 661 if (flags & PURPLE_MESSAGE_SEND) {
661 gchar *m = NULL; 662 gchar *m = NULL;
662 const char *screen_name = purple_prefs_get_string(OPT_SCREEN_NAME); 663 const char *screen_name;
664
665 switch(service) {
666 case twitter_service:
667 screen_name = purple_prefs_get_string(OPT_SCREEN_NAME_TWITTER);
668 break;
669 case wassr_service:
670 screen_name = purple_prefs_get_string(OPT_SCREEN_NAME_WASSR);
671 break;
672 case identica_service:
673 screen_name = purple_prefs_get_string(OPT_SCREEN_NAME_IDENTICA);
674 break;
675 }
676
663 if (screen_name) { 677 if (screen_name) {
664 m = g_strdup_printf("%s: %s", screen_name, *buffer); 678 m = g_strdup_printf("%s: %s", screen_name, *buffer);
665 g_free(*buffer); 679 g_free(*buffer);
666 *buffer = m; 680 *buffer = m;
667 } 681 }
1973 /* create gtk elements for the plugin preferences */ 1987 /* create gtk elements for the plugin preferences */
1974 PurplePluginPref *pref; 1988 PurplePluginPref *pref;
1975 PurplePluginPrefFrame *frame = purple_plugin_pref_frame_new(); 1989 PurplePluginPrefFrame *frame = purple_plugin_pref_frame_new();
1976 1990
1977 /************************/ 1991 /************************/
1978 /* user config heading */ 1992 /* screen name heading */
1979 /************************/ 1993 /************************/
1980 pref = purple_plugin_pref_new_with_label("User Account"); 1994 pref = purple_plugin_pref_new_with_label("Screen Name");
1981 purple_plugin_pref_frame_add(frame, pref); 1995 purple_plugin_pref_frame_add(frame, pref);
1982 1996
1983 /* screenname configurations */ 1997 /* twitter */
1984 pref = purple_plugin_pref_new_with_name_and_label(OPT_SCREEN_NAME, 1998 pref =
1985 "Screen Name"); 1999 purple_plugin_pref_new_with_name_and_label(OPT_SCREEN_NAME_TWITTER,
1986 purple_plugin_pref_frame_add(frame, pref); 2000 "twitter");
1987 2001 purple_plugin_pref_frame_add(frame, pref);
1988 pref = purple_plugin_pref_new_with_name_and_label(OPT_PASSWORD, 2002
1989 "Password"); 2003 /* wassr */
1990 purple_plugin_pref_set_masked(pref, TRUE); 2004 pref =
1991 2005 purple_plugin_pref_new_with_name_and_label(OPT_SCREEN_NAME_WASSR,
2006 "wassr");
2007 purple_plugin_pref_frame_add(frame, pref);
2008
2009 /* identica */
2010 pref =
2011 purple_plugin_pref_new_with_name_and_label(OPT_SCREEN_NAME_IDENTICA,
2012 "identi.ca");
1992 purple_plugin_pref_frame_add(frame, pref); 2013 purple_plugin_pref_frame_add(frame, pref);
1993 2014
1994 2015
1995 /************************/ 2016 /************************/
1996 /* translation heading */ 2017 /* translation heading */
1997 /************************/ 2018 /************************/
1998 pref = purple_plugin_pref_new_with_label("Translation Configurations"); 2019 pref = purple_plugin_pref_new_with_label("Translation");
1999 purple_plugin_pref_frame_add(frame, pref); 2020 purple_plugin_pref_frame_add(frame, pref);
2000 2021
2001 /* translation settings */ 2022 /* translation settings */
2002 pref = purple_plugin_pref_new_with_name_and_label(OPT_TRANSLATE_RECIPIENT, 2023 pref = purple_plugin_pref_new_with_name_and_label(OPT_TRANSLATE_RECIPIENT,
2003 "Translate @username to link"); 2024 "Translate @username to link");
2013 2034
2014 2035
2015 /***********************/ 2036 /***********************/
2016 /* GUI config heading */ 2037 /* GUI config heading */
2017 /***********************/ 2038 /***********************/
2018 pref = purple_plugin_pref_new_with_label("GUI Configurations"); 2039 pref = purple_plugin_pref_new_with_label("GUI");
2019 purple_plugin_pref_frame_add(frame, pref); 2040 purple_plugin_pref_frame_add(frame, pref);
2020 2041
2021 /* show icon */ 2042 /* show icon */
2022 pref = purple_plugin_pref_new_with_name_and_label(OPT_SHOW_ICON, 2043 pref = purple_plugin_pref_new_with_name_and_label(OPT_SHOW_ICON,
2023 "Show icons in conversation"); 2044 "Show icons in conversation");
2042 2063
2043 2064
2044 /****************************/ 2065 /****************************/
2045 /* advanced config heading */ 2066 /* advanced config heading */
2046 /****************************/ 2067 /****************************/
2047 pref = purple_plugin_pref_new_with_label("Advanced Configurations"); 2068 pref = purple_plugin_pref_new_with_label("Advanced");
2048 purple_plugin_pref_frame_add(frame, pref); 2069 purple_plugin_pref_frame_add(frame, pref);
2049 2070
2050 /* escape pseudo command setting */ 2071 /* escape pseudo command setting */
2051 pref = purple_plugin_pref_new_with_name_and_label(OPT_ESCAPE_PSEUDO, 2072 pref = purple_plugin_pref_new_with_name_and_label(OPT_ESCAPE_PSEUDO,
2052 "Escape pseudo command string"); 2073 "Escape pseudo command string");
2065 purple_plugin_pref_frame_add(frame, pref); 2086 purple_plugin_pref_frame_add(frame, pref);
2066 2087
2067 /******************/ 2088 /******************/
2068 /* sound heading */ 2089 /* sound heading */
2069 /******************/ 2090 /******************/
2070 pref = purple_plugin_pref_new_with_label("Sound Configurations"); 2091 pref = purple_plugin_pref_new_with_label("Sound");
2071 purple_plugin_pref_frame_add(frame, pref); 2092 purple_plugin_pref_frame_add(frame, pref);
2072 2093
2073 /* sound settings for recipient */ 2094 /* sound settings for recipient */
2074 pref = purple_plugin_pref_new_with_name_and_label(OPT_PLAYSOUND_RECIPIENT, 2095 pref = purple_plugin_pref_new_with_name_and_label(OPT_PLAYSOUND_RECIPIENT,
2075 "Play sound on a reply to the user in the recipient list"); 2096 "Play sound on a reply to the user in the recipient list");
2130 purple_plugin_pref_frame_add(frame, pref); 2151 purple_plugin_pref_frame_add(frame, pref);
2131 2152
2132 /****************/ 2153 /****************/
2133 /* API heading */ 2154 /* API heading */
2134 /****************/ 2155 /****************/
2135 pref = purple_plugin_pref_new_with_label("API Based Post Configuration"); 2156 pref = purple_plugin_pref_new_with_label("API Based Post");
2136 purple_plugin_pref_frame_add(frame, pref); 2157 purple_plugin_pref_frame_add(frame, pref);
2137 2158
2138 /* post configuration */ 2159 /* post configuration */
2139 pref = purple_plugin_pref_new_with_name_and_label(OPT_API_BASE_POST, 2160 pref = purple_plugin_pref_new_with_name_and_label(OPT_API_BASE_POST,
2140 "Post Status to Twitter via API"); 2161 "Post Status to Twitter via API");
2141 purple_plugin_pref_frame_add(frame, pref); 2162 purple_plugin_pref_frame_add(frame, pref);
2142 2163
2164 /* password */
2165 pref = purple_plugin_pref_new_with_name_and_label(OPT_PASSWORD_TWITTER,
2166 "Password");
2167 purple_plugin_pref_set_masked(pref, TRUE);
2168 purple_plugin_pref_frame_add(frame, pref);
2143 2169
2144 return frame; 2170 return frame;
2145 } 2171 }
2146 2172
2147 static PurplePluginUiInfo pref_info = { 2173 static PurplePluginUiInfo pref_info = {
2157 0, /**< flags */ 2183 0, /**< flags */
2158 NULL, /**< deps */ 2184 NULL, /**< deps */
2159 PURPLE_PRIORITY_DEFAULT, /**< priority */ 2185 PURPLE_PRIORITY_DEFAULT, /**< priority */
2160 PLUGIN_ID, /**< id */ 2186 PLUGIN_ID, /**< id */
2161 "Pidgin-Twitter", /**< name */ 2187 "Pidgin-Twitter", /**< name */
2162 "0.7.0 alpha2d1", /**< version */ 2188 "0.7.0", /**< version */
2163 "provides useful features for twitter", /** summary */ 2189 "provides useful features for twitter", /** summary */
2164 "provides useful features for twitter", /** desc */ 2190 "provides useful features for twitter", /** desc */
2165 "Yoshiki Yazawa, mikanbako, \nKonosuke Watanabe, IWATA Ray, mojin, \nthe pidging-twitter team", /**< author */ 2191 "Yoshiki Yazawa, mikanbako, \nKonosuke Watanabe, IWATA Ray, mojin, \nthe pidging-twitter team", /**< author */
2166 "http://www.honeyplanet.jp/", /**< homepage */ 2192 "http://www.honeyplanet.jp/", /**< homepage */
2167 load_plugin, /**< load */ 2193 load_plugin, /**< load */
2202 purple_prefs_add_bool(OPT_SUPPRESS_OOPS, TRUE); 2228 purple_prefs_add_bool(OPT_SUPPRESS_OOPS, TRUE);
2203 purple_prefs_add_bool(OPT_PREVENT_NOTIFICATION, FALSE); 2229 purple_prefs_add_bool(OPT_PREVENT_NOTIFICATION, FALSE);
2204 purple_prefs_add_bool(OPT_SHOW_ICON, TRUE); 2230 purple_prefs_add_bool(OPT_SHOW_ICON, TRUE);
2205 2231
2206 purple_prefs_add_bool(OPT_API_BASE_POST, FALSE); 2232 purple_prefs_add_bool(OPT_API_BASE_POST, FALSE);
2207 purple_prefs_add_string(OPT_SCREEN_NAME, EMPTY); 2233 purple_prefs_add_string(OPT_SCREEN_NAME_TWITTER, EMPTY);
2208 purple_prefs_add_string(OPT_PASSWORD, EMPTY); 2234 purple_prefs_add_string(OPT_PASSWORD_TWITTER, EMPTY);
2209 2235
2210 purple_prefs_add_int(OPT_ICON_SIZE, 48); 2236 purple_prefs_add_int(OPT_ICON_SIZE, 48);
2237 purple_prefs_add_string(OPT_SCREEN_NAME_WASSR, EMPTY);
2238 purple_prefs_add_string(OPT_SCREEN_NAME_IDENTICA, EMPTY);
2211 } 2239 }
2212 2240
2213 PURPLE_INIT_PLUGIN(pidgin_twitter, init_plugin, info) 2241 PURPLE_INIT_PLUGIN(pidgin_twitter, init_plugin, info)