# HG changeset patch # User mikanbako # Date 1217682581 -32400 # Node ID 7affa10c1f0eb6ed128ae5a639760dcb1a795e90 # Parent c4a8afde91c068c7feb318735915635b55919563 removed some global preferences that was replaced preferences per conversation diff -r c4a8afde91c0 -r 7affa10c1f0e pidgin-twitter.c --- a/pidgin-twitter.c Sat Aug 02 12:15:05 2008 +0900 +++ b/pidgin-twitter.c Sat Aug 02 22:09:41 2008 +0900 @@ -2435,14 +2435,6 @@ } } -static void -api_base_post_cb(const char *name, PurplePrefType type, gconstpointer value, - gpointer data) -{ - signed_on_cb(NULL); - get_status_with_api((gpointer)(source.conv)); -} - static gboolean load_plugin(PurplePlugin *plugin) { @@ -2631,21 +2623,6 @@ } static void -interval_prefs_cb(const char *name, PurplePrefType type, - gconstpointer val, gpointer data) -{ - /* remove idle func */ - g_source_remove_by_user_data((gpointer)(source.conv)); - - /* add idle func */ - if(purple_prefs_get_bool(OPT_API_BASE_POST)) { - source.id = g_timeout_add_seconds( - purple_prefs_get_int(OPT_API_BASE_GET_INTERVAL), - get_status_with_api, (gpointer)(source.conv)); - } -} - -static void text_changed_cb(gpointer *data) { const gchar *text; @@ -2735,78 +2712,6 @@ /* connect to signals */ /**********************/ - /****************/ - /* account page */ - /****************/ - e = GTK_WIDGET(gtk_builder_get_object (builder, "account_twitter")); - g_object_set_data(G_OBJECT(e), "pref", OPT_SCREEN_NAME_TWITTER); - text = purple_prefs_get_string(OPT_SCREEN_NAME_TWITTER); - gtk_entry_set_text(GTK_ENTRY(e), text); - g_signal_connect(e, "changed", - G_CALLBACK(text_changed_cb), &e); - - e = GTK_WIDGET(gtk_builder_get_object (builder, "account_wassr")); - g_object_set_data(G_OBJECT(e), "pref", OPT_SCREEN_NAME_WASSR); - text = purple_prefs_get_string(OPT_SCREEN_NAME_WASSR); - gtk_entry_set_text(GTK_ENTRY(e), text); - g_signal_connect(e, "changed", - G_CALLBACK(text_changed_cb), &e); - - e = GTK_WIDGET(gtk_builder_get_object (builder, "account_identica")); - g_object_set_data(G_OBJECT(e), "pref", OPT_SCREEN_NAME_IDENTICA); - text = purple_prefs_get_string(OPT_SCREEN_NAME_IDENTICA); - gtk_entry_set_text(GTK_ENTRY(e), text); - g_signal_connect(e, "changed", - G_CALLBACK(text_changed_cb), &e); - - e = GTK_WIDGET(gtk_builder_get_object (builder, "account_api")); - g_object_set_data(G_OBJECT(e), "pref", OPT_API_BASE_POST); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(e), - purple_prefs_get_bool(OPT_API_BASE_POST)); - g_signal_connect(e, "toggled", - G_CALLBACK(bool_toggled_cb), &e); - purple_prefs_connect_callback(plugin, OPT_API_BASE_POST, /* xxx divide? */ - api_base_post_cb, NULL); - - e = GTK_WIDGET(gtk_builder_get_object (builder, "account_api_password")); - g_object_set_data(G_OBJECT(e), "pref", OPT_PASSWORD_TWITTER); - - gtk_entry_set_visibility(GTK_ENTRY(e), FALSE); - if (gtk_entry_get_invisible_char(GTK_ENTRY(e)) == '*') - gtk_entry_set_invisible_char(GTK_ENTRY(e), PIDGIN_INVISIBLE_CHAR); - - text = purple_prefs_get_string(OPT_PASSWORD_TWITTER); - gtk_entry_set_text(GTK_ENTRY(e), text); - g_signal_connect(e, "changed", - G_CALLBACK(text_changed_cb), &e); - - - /* interval spin */ - e = GTK_WIDGET(gtk_builder_get_object (builder, - "account_api_get_interval_spin")); - g_object_set_data(G_OBJECT(e), "pref", OPT_API_BASE_GET_INTERVAL); - - spin = GTK_SPIN_BUTTON(e); - - value = purple_prefs_get_int(OPT_API_BASE_GET_INTERVAL); - twitter_debug("spin value = %d\n", value); - - adjust = gtk_adjustment_new(value, 40, 3600, 10, 100, 100); - gtk_spin_button_set_adjustment(spin, GTK_ADJUSTMENT(adjust)); - gtk_widget_set_size_request(GTK_WIDGET(spin), 50, -1); - - if(value == 0) { - value = TWITTER_DEFAULT_INTERVAL; - purple_prefs_set_int(OPT_API_BASE_GET_INTERVAL, value); - } - gtk_spin_button_set_value(GTK_SPIN_BUTTON(e), (gdouble)value); - g_signal_connect(e, "value-changed", - G_CALLBACK(spin_changed_cb), &e); - purple_prefs_connect_callback(plugin, OPT_API_BASE_GET_INTERVAL, - interval_prefs_cb, NULL); - - - /********************/ /* translation page */ /********************/ @@ -3311,7 +3216,7 @@ g_source_remove_by_user_data((gpointer)(source.conv)); /* add idle func */ - if(purple_prefs_get_bool(OPT_API_BASE_POST)) { + if(service_account_get_bool(account, conv_name, OPT_API_BASE_POST, FALSE)) { source.id = g_timeout_add_seconds( service_account_get_int(account, conv_name, @@ -3508,13 +3413,6 @@ purple_prefs_add_bool(OPT_SUPPRESS_OOPS, TRUE); purple_prefs_add_bool(OPT_PREVENT_NOTIFICATION, FALSE); - purple_prefs_add_bool(OPT_API_BASE_POST, FALSE); - purple_prefs_add_int(OPT_API_BASE_GET_INTERVAL, TWITTER_DEFAULT_INTERVAL); - purple_prefs_add_string(OPT_SCREEN_NAME_TWITTER, EMPTY); - purple_prefs_add_string(OPT_PASSWORD_TWITTER, EMPTY); - purple_prefs_add_string(OPT_SCREEN_NAME_WASSR, EMPTY); - purple_prefs_add_string(OPT_SCREEN_NAME_IDENTICA, EMPTY); - purple_prefs_add_bool(OPT_SHOW_ICON, TRUE); purple_prefs_add_int(OPT_ICON_SIZE, DEFAULT_ICON_SIZE); purple_prefs_add_bool(OPT_UPDATE_ICON, TRUE); diff -r c4a8afde91c0 -r 7affa10c1f0e pidgin-twitter.h --- a/pidgin-twitter.h Sat Aug 02 12:15:05 2008 +0900 +++ b/pidgin-twitter.h Sat Aug 02 22:09:41 2008 +0900 @@ -105,22 +105,18 @@ #define OPT_SUPPRESS_OOPS OPT_PIDGINTWITTER "/suppress_oops" #define OPT_PREVENT_NOTIFICATION OPT_PIDGINTWITTER "/prevent_notification" #define OPT_ICON_DIR OPT_PIDGINTWITTER "/icon_dir" -#define OPT_API_BASE_POST OPT_PIDGINTWITTER "/api_base_post" -#define OPT_SCREEN_NAME_TWITTER OPT_PIDGINTWITTER "/screen_name_twitter" -#define OPT_SCREEN_NAME_WASSR OPT_PIDGINTWITTER "/screen_name_wassr" -#define OPT_SCREEN_NAME_IDENTICA OPT_PIDGINTWITTER "/screen_name_identica" -#define OPT_PASSWORD_TWITTER OPT_PIDGINTWITTER "/password_twitter" #define OPT_SHOW_ICON OPT_PIDGINTWITTER "/show_icon" #define OPT_ICON_SIZE OPT_PIDGINTWITTER "/icon_size" #define OPT_UPDATE_ICON OPT_PIDGINTWITTER "/update_icon" #define OPT_ICON_MAX_COUNT OPT_PIDGINTWITTER "/icon_max_count" #define OPT_ICON_MAX_DAYS OPT_PIDGINTWITTER "/icon_max_days" -#define OPT_API_BASE_GET_INTERVAL OPT_PIDGINTWITTER "/api_base_get_interval" #define OPT_LOG_OUTPUT OPT_PIDGINTWITTER "/log_output" -/* options depend on service account */ +/* options depend on a conversation */ #define OPT_SCREEN_NAME OPT_PIDGINTWITTER "/screen_name" +#define OPT_API_BASE_POST OPT_PIDGINTWITTER "/api_base_post" #define OPT_API_BASE_PASSWORD OPT_PIDGINTWITTER "/api_base_password" +#define OPT_API_BASE_GET_INTERVAL OPT_PIDGINTWITTER "/api_base_get_interval" /* conversation's name */ #define CONV_NAME_TWITTER "twitter@twitter.com" diff -r c4a8afde91c0 -r 7affa10c1f0e prefs.ui --- a/prefs.ui Sat Aug 02 12:15:05 2008 +0900 +++ b/prefs.ui Sat Aug 02 22:09:41 2008 +0900 @@ -46,312 +46,6 @@ True True - - True - - - True - 0 - 4 - 4 - 4 - - - True - 0 - <b>Screen Name</b> - True - - - - - - - True - - - True - 20 - - - True - 0 - twitter - 10 - - - - - - - True - 1 - 4 - - - True - True - 20 - - - - - False - False - 1 - - - - - 1 - - - - - True - - - True - 20 - - - True - 0 - wassr - - - - - - - True - 1 - 4 - - - True - True - 20 - - - - - False - False - 1 - - - - - 2 - - - - - True - - - True - 20 - - - True - 0 - identi.ca - 10 - - - - - - - True - 1 - 4 - - - True - True - 20 - - - - - False - False - 1 - - - - - 3 - - - - - True - 8 - 4 - 4 - - - True - 0 - <b>API Based Twitter Access</b> - True - 40 - - - - - 4 - - - - - True - 0 - 20 - - - True - True - Get/post statuses via API - 0 - True - - - - - 5 - - - - - True - - - True - 40 - - - True - 0 - Password - 10 - - - - - 1 - - - - - True - 1 - 4 - - - True - True - 20 - - - - - False - GTK_PACK_END - 1 - - - - - 6 - - - - - True - - - True - 2 - 10 - 40 - - - True - Retrieve interval - - - - - False - False - - - - - True - 2 - 10 - 4 - - - True - True - 1 - True - True - - - - - False - False - GTK_PACK_END - 2 - - - - - True - 10 - 8 - - - True - sec - - - - - False - False - GTK_PACK_END - 1 - - - - - False - 7 - - - - - - - True - <b>Account</b> - True - - - False - - - True