comparison pidgin-twitter.c @ 176:7affa10c1f0e multiaccounts

removed some global preferences that was replaced preferences per conversation
author mikanbako <maoutwo@gmail.com>
date Sat, 02 Aug 2008 22:09:41 +0900
parents c4a8afde91c0
children 0339b4abe290
comparison
equal deleted inserted replaced
175:c4a8afde91c0 176:7affa10c1f0e
2433 } 2433 }
2434 } 2434 }
2435 } 2435 }
2436 } 2436 }
2437 2437
2438 static void
2439 api_base_post_cb(const char *name, PurplePrefType type, gconstpointer value,
2440 gpointer data)
2441 {
2442 signed_on_cb(NULL);
2443 get_status_with_api((gpointer)(source.conv));
2444 }
2445
2446 static gboolean 2438 static gboolean
2447 load_plugin(PurplePlugin *plugin) 2439 load_plugin(PurplePlugin *plugin)
2448 { 2440 {
2449 int i; 2441 int i;
2450 2442
2629 (GHFunc)invalidate_icon_data_func, NULL); 2621 (GHFunc)invalidate_icon_data_func, NULL);
2630 } 2622 }
2631 } 2623 }
2632 2624
2633 static void 2625 static void
2634 interval_prefs_cb(const char *name, PurplePrefType type,
2635 gconstpointer val, gpointer data)
2636 {
2637 /* remove idle func */
2638 g_source_remove_by_user_data((gpointer)(source.conv));
2639
2640 /* add idle func */
2641 if(purple_prefs_get_bool(OPT_API_BASE_POST)) {
2642 source.id = g_timeout_add_seconds(
2643 purple_prefs_get_int(OPT_API_BASE_GET_INTERVAL),
2644 get_status_with_api, (gpointer)(source.conv));
2645 }
2646 }
2647
2648 static void
2649 text_changed_cb(gpointer *data) 2626 text_changed_cb(gpointer *data)
2650 { 2627 {
2651 const gchar *text; 2628 const gchar *text;
2652 gchar *pref = (gchar *)g_object_get_data(G_OBJECT(data), "pref"); 2629 gchar *pref = (gchar *)g_object_get_data(G_OBJECT(data), "pref");
2653 text = gtk_entry_get_text(GTK_ENTRY(data)); 2630 text = gtk_entry_get_text(GTK_ENTRY(data));
2732 2709
2733 2710
2734 /**********************/ 2711 /**********************/
2735 /* connect to signals */ 2712 /* connect to signals */
2736 /**********************/ 2713 /**********************/
2737
2738 /****************/
2739 /* account page */
2740 /****************/
2741 e = GTK_WIDGET(gtk_builder_get_object (builder, "account_twitter"));
2742 g_object_set_data(G_OBJECT(e), "pref", OPT_SCREEN_NAME_TWITTER);
2743 text = purple_prefs_get_string(OPT_SCREEN_NAME_TWITTER);
2744 gtk_entry_set_text(GTK_ENTRY(e), text);
2745 g_signal_connect(e, "changed",
2746 G_CALLBACK(text_changed_cb), &e);
2747
2748 e = GTK_WIDGET(gtk_builder_get_object (builder, "account_wassr"));
2749 g_object_set_data(G_OBJECT(e), "pref", OPT_SCREEN_NAME_WASSR);
2750 text = purple_prefs_get_string(OPT_SCREEN_NAME_WASSR);
2751 gtk_entry_set_text(GTK_ENTRY(e), text);
2752 g_signal_connect(e, "changed",
2753 G_CALLBACK(text_changed_cb), &e);
2754
2755 e = GTK_WIDGET(gtk_builder_get_object (builder, "account_identica"));
2756 g_object_set_data(G_OBJECT(e), "pref", OPT_SCREEN_NAME_IDENTICA);
2757 text = purple_prefs_get_string(OPT_SCREEN_NAME_IDENTICA);
2758 gtk_entry_set_text(GTK_ENTRY(e), text);
2759 g_signal_connect(e, "changed",
2760 G_CALLBACK(text_changed_cb), &e);
2761
2762 e = GTK_WIDGET(gtk_builder_get_object (builder, "account_api"));
2763 g_object_set_data(G_OBJECT(e), "pref", OPT_API_BASE_POST);
2764 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(e),
2765 purple_prefs_get_bool(OPT_API_BASE_POST));
2766 g_signal_connect(e, "toggled",
2767 G_CALLBACK(bool_toggled_cb), &e);
2768 purple_prefs_connect_callback(plugin, OPT_API_BASE_POST, /* xxx divide? */
2769 api_base_post_cb, NULL);
2770
2771 e = GTK_WIDGET(gtk_builder_get_object (builder, "account_api_password"));
2772 g_object_set_data(G_OBJECT(e), "pref", OPT_PASSWORD_TWITTER);
2773
2774 gtk_entry_set_visibility(GTK_ENTRY(e), FALSE);
2775 if (gtk_entry_get_invisible_char(GTK_ENTRY(e)) == '*')
2776 gtk_entry_set_invisible_char(GTK_ENTRY(e), PIDGIN_INVISIBLE_CHAR);
2777
2778 text = purple_prefs_get_string(OPT_PASSWORD_TWITTER);
2779 gtk_entry_set_text(GTK_ENTRY(e), text);
2780 g_signal_connect(e, "changed",
2781 G_CALLBACK(text_changed_cb), &e);
2782
2783
2784 /* interval spin */
2785 e = GTK_WIDGET(gtk_builder_get_object (builder,
2786 "account_api_get_interval_spin"));
2787 g_object_set_data(G_OBJECT(e), "pref", OPT_API_BASE_GET_INTERVAL);
2788
2789 spin = GTK_SPIN_BUTTON(e);
2790
2791 value = purple_prefs_get_int(OPT_API_BASE_GET_INTERVAL);
2792 twitter_debug("spin value = %d\n", value);
2793
2794 adjust = gtk_adjustment_new(value, 40, 3600, 10, 100, 100);
2795 gtk_spin_button_set_adjustment(spin, GTK_ADJUSTMENT(adjust));
2796 gtk_widget_set_size_request(GTK_WIDGET(spin), 50, -1);
2797
2798 if(value == 0) {
2799 value = TWITTER_DEFAULT_INTERVAL;
2800 purple_prefs_set_int(OPT_API_BASE_GET_INTERVAL, value);
2801 }
2802 gtk_spin_button_set_value(GTK_SPIN_BUTTON(e), (gdouble)value);
2803 g_signal_connect(e, "value-changed",
2804 G_CALLBACK(spin_changed_cb), &e);
2805 purple_prefs_connect_callback(plugin, OPT_API_BASE_GET_INTERVAL,
2806 interval_prefs_cb, NULL);
2807
2808
2809 2714
2810 /********************/ 2715 /********************/
2811 /* translation page */ 2716 /* translation page */
2812 /********************/ 2717 /********************/
2813 e = GTK_WIDGET(gtk_builder_get_object (builder, "translation_recipient")); 2718 e = GTK_WIDGET(gtk_builder_get_object (builder, "translation_recipient"));
3309 { 3214 {
3310 /* remove idle func */ 3215 /* remove idle func */
3311 g_source_remove_by_user_data((gpointer)(source.conv)); 3216 g_source_remove_by_user_data((gpointer)(source.conv));
3312 3217
3313 /* add idle func */ 3218 /* add idle func */
3314 if(purple_prefs_get_bool(OPT_API_BASE_POST)) { 3219 if(service_account_get_bool(account, conv_name, OPT_API_BASE_POST, FALSE)) {
3315 source.id = g_timeout_add_seconds( 3220 source.id = g_timeout_add_seconds(
3316 service_account_get_int(account, 3221 service_account_get_int(account,
3317 conv_name, 3222 conv_name,
3318 OPT_API_BASE_GET_INTERVAL, 3223 OPT_API_BASE_GET_INTERVAL,
3319 TWITTER_DEFAULT_INTERVAL), 3224 TWITTER_DEFAULT_INTERVAL),
3506 3411
3507 purple_prefs_add_bool(OPT_COUNTER, TRUE); 3412 purple_prefs_add_bool(OPT_COUNTER, TRUE);
3508 purple_prefs_add_bool(OPT_SUPPRESS_OOPS, TRUE); 3413 purple_prefs_add_bool(OPT_SUPPRESS_OOPS, TRUE);
3509 purple_prefs_add_bool(OPT_PREVENT_NOTIFICATION, FALSE); 3414 purple_prefs_add_bool(OPT_PREVENT_NOTIFICATION, FALSE);
3510 3415
3511 purple_prefs_add_bool(OPT_API_BASE_POST, FALSE);
3512 purple_prefs_add_int(OPT_API_BASE_GET_INTERVAL, TWITTER_DEFAULT_INTERVAL);
3513 purple_prefs_add_string(OPT_SCREEN_NAME_TWITTER, EMPTY);
3514 purple_prefs_add_string(OPT_PASSWORD_TWITTER, EMPTY);
3515 purple_prefs_add_string(OPT_SCREEN_NAME_WASSR, EMPTY);
3516 purple_prefs_add_string(OPT_SCREEN_NAME_IDENTICA, EMPTY);
3517
3518 purple_prefs_add_bool(OPT_SHOW_ICON, TRUE); 3416 purple_prefs_add_bool(OPT_SHOW_ICON, TRUE);
3519 purple_prefs_add_int(OPT_ICON_SIZE, DEFAULT_ICON_SIZE); 3417 purple_prefs_add_int(OPT_ICON_SIZE, DEFAULT_ICON_SIZE);
3520 purple_prefs_add_bool(OPT_UPDATE_ICON, TRUE); 3418 purple_prefs_add_bool(OPT_UPDATE_ICON, TRUE);
3521 purple_prefs_add_int(OPT_ICON_MAX_COUNT, DEFAULT_ICON_MAX_COUNT); 3419 purple_prefs_add_int(OPT_ICON_MAX_COUNT, DEFAULT_ICON_MAX_COUNT);
3522 purple_prefs_add_int(OPT_ICON_MAX_DAYS, DEFAULT_ICON_MAX_DAYS); 3420 purple_prefs_add_int(OPT_ICON_MAX_DAYS, DEFAULT_ICON_MAX_DAYS);