pidgin/gtkprefs.c

branch
cpw.qulogic.gtk3
changeset 32433
f539a2c083b2
parent 32424
be4a642b2d45
parent 31992
7b7a143ddfaf
child 32438
dc8991868906
child 33120
f6f1a27ade72
equal deleted inserted replaced
32432:47b61b9e08e6 32433:f539a2c083b2
417 417
418 /* 418 /*
419 * LEAK - Gentoo memprof thinks pixbuf is leaking here... but it 419 * LEAK - Gentoo memprof thinks pixbuf is leaking here... but it
420 * looks like it should be ok to me. Anyone know what's up? --Mark 420 * looks like it should be ok to me. Anyone know what's up? --Mark
421 */ 421 */
422 pixbuf = (theme->icon ? gdk_pixbuf_new_from_file(theme->icon, NULL) : NULL); 422 pixbuf = (theme->icon ? pidgin_pixbuf_new_from_file(theme->icon) : NULL);
423 423
424 gtk_list_store_set(prefs_smiley_themes, &iter, 424 gtk_list_store_set(prefs_smiley_themes, &iter,
425 0, pixbuf, 425 0, pixbuf,
426 1, description, 426 1, description,
427 2, theme->name, 427 2, theme->name,
487 487
488 if (PURPLE_IS_SOUND_THEME(theme)){ 488 if (PURPLE_IS_SOUND_THEME(theme)){
489 489
490 image_full = purple_theme_get_image_full(theme); 490 image_full = purple_theme_get_image_full(theme);
491 if (image_full != NULL){ 491 if (image_full != NULL){
492 pixbuf = gdk_pixbuf_new_from_file_at_scale(image_full, PREFS_OPTIMAL_ICON_SIZE, PREFS_OPTIMAL_ICON_SIZE, TRUE, NULL); 492 pixbuf = pidgin_pixbuf_new_from_file_at_scale(image_full, PREFS_OPTIMAL_ICON_SIZE, PREFS_OPTIMAL_ICON_SIZE, TRUE);
493 g_free(image_full); 493 g_free(image_full);
494 } else 494 } else
495 pixbuf = NULL; 495 pixbuf = NULL;
496 496
497 gtk_list_store_append(prefs_sound_themes, &iter); 497 gtk_list_store_append(prefs_sound_themes, &iter);
508 else 508 else
509 store = prefs_status_icon_themes; 509 store = prefs_status_icon_themes;
510 510
511 image_full = purple_theme_get_image_full(theme); 511 image_full = purple_theme_get_image_full(theme);
512 if (image_full != NULL){ 512 if (image_full != NULL){
513 pixbuf = gdk_pixbuf_new_from_file_at_scale(image_full, PREFS_OPTIMAL_ICON_SIZE, PREFS_OPTIMAL_ICON_SIZE, TRUE, NULL); 513 pixbuf = pidgin_pixbuf_new_from_file_at_scale(image_full, PREFS_OPTIMAL_ICON_SIZE, PREFS_OPTIMAL_ICON_SIZE, TRUE);
514 g_free(image_full); 514 g_free(image_full);
515 } else 515 } else
516 pixbuf = NULL; 516 pixbuf = NULL;
517 517
518 name = purple_theme_get_name(theme); 518 name = purple_theme_get_name(theme);
564 prefs_sound_themes_loading = TRUE; 564 prefs_sound_themes_loading = TRUE;
565 /* refresh the list of themes in the manager */ 565 /* refresh the list of themes in the manager */
566 purple_theme_manager_refresh(); 566 purple_theme_manager_refresh();
567 567
568 tmp = g_build_filename(DATADIR, "icons", "hicolor", "32x32", "apps", "pidgin.png", NULL); 568 tmp = g_build_filename(DATADIR, "icons", "hicolor", "32x32", "apps", "pidgin.png", NULL);
569 pixbuf = gdk_pixbuf_new_from_file_at_scale(tmp, PREFS_OPTIMAL_ICON_SIZE, PREFS_OPTIMAL_ICON_SIZE, TRUE, NULL); 569 pixbuf = pidgin_pixbuf_new_from_file_at_scale(tmp, PREFS_OPTIMAL_ICON_SIZE, PREFS_OPTIMAL_ICON_SIZE, TRUE);
570 g_free(tmp); 570 g_free(tmp);
571 571
572 /* sound themes */ 572 /* sound themes */
573 gtk_list_store_clear(prefs_sound_themes); 573 gtk_list_store_clear(prefs_sound_themes);
574 gtk_list_store_append(prefs_sound_themes, &iter); 574 gtk_list_store_append(prefs_sound_themes, &iter);
1484 GtkWidget *toolbar; 1484 GtkWidget *toolbar;
1485 GtkWidget *iconpref1; 1485 GtkWidget *iconpref1;
1486 GtkWidget *iconpref2; 1486 GtkWidget *iconpref2;
1487 GtkWidget *imhtml; 1487 GtkWidget *imhtml;
1488 GtkWidget *frame; 1488 GtkWidget *frame;
1489 GtkWidget *hbox;
1490 GtkWidget *checkbox;
1491 GtkWidget *spin_button;
1489 1492
1490 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); 1493 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
1491 gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER); 1494 gtk_container_set_border_width(GTK_CONTAINER(ret), PIDGIN_HIG_BORDER);
1492 1495
1493 vbox = pidgin_make_frame(ret, _("Conversations")); 1496 vbox = pidgin_make_frame(ret, _("Conversations"));
1516 pidgin_prefs_checkbox(_("Use smooth-scrolling"), PIDGIN_PREFS_ROOT "/conversations/use_smooth_scrolling", vbox); 1519 pidgin_prefs_checkbox(_("Use smooth-scrolling"), PIDGIN_PREFS_ROOT "/conversations/use_smooth_scrolling", vbox);
1517 1520
1518 #ifdef _WIN32 1521 #ifdef _WIN32
1519 pidgin_prefs_checkbox(_("F_lash window when IMs are received"), PIDGIN_PREFS_ROOT "/win32/blink_im", vbox); 1522 pidgin_prefs_checkbox(_("F_lash window when IMs are received"), PIDGIN_PREFS_ROOT "/win32/blink_im", vbox);
1520 #endif 1523 #endif
1524 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
1525
1526 checkbox = pidgin_prefs_checkbox(_("Resize incoming custom smileys"),
1527 PIDGIN_PREFS_ROOT "/conversations/resize_custom_smileys", hbox);
1528
1529 spin_button = pidgin_prefs_labeled_spin_button(hbox,
1530 _("Maximum size:"),
1531 PIDGIN_PREFS_ROOT "/conversations/custom_smileys_size",
1532 16, 512, NULL);
1533
1534 if (!purple_prefs_get_bool(
1535 PIDGIN_PREFS_ROOT "/conversations/resize_custom_smileys"))
1536 gtk_widget_set_sensitive(GTK_WIDGET(spin_button), FALSE);
1537
1538 g_signal_connect(G_OBJECT(checkbox), "clicked",
1539 G_CALLBACK(pidgin_toggle_sensitive), spin_button);
1540
1541 pidgin_add_widget_to_vbox(GTK_BOX(vbox), NULL, NULL, hbox, TRUE, NULL);
1521 1542
1522 pidgin_prefs_labeled_spin_button(vbox, 1543 pidgin_prefs_labeled_spin_button(vbox,
1523 _("Minimum input area height in lines:"), 1544 _("Minimum input area height in lines:"),
1524 PIDGIN_PREFS_ROOT "/conversations/minimum_entry_lines", 1545 PIDGIN_PREFS_ROOT "/conversations/minimum_entry_lines",
1525 1, 8, NULL); 1546 1, 8, NULL);
1829 hbox = pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("_TURN server:"), 1850 hbox = pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("_TURN server:"),
1830 sg, entry, TRUE, NULL); 1851 sg, entry, TRUE, NULL);
1831 1852
1832 pidgin_prefs_labeled_spin_button(hbox, _("_UDP Port:"), 1853 pidgin_prefs_labeled_spin_button(hbox, _("_UDP Port:"),
1833 "/purple/network/turn_port", 0, 65535, NULL); 1854 "/purple/network/turn_port", 0, 65535, NULL);
1855
1856 pidgin_prefs_labeled_spin_button(hbox, _("T_CP Port:"),
1857 "/purple/network/turn_port_tcp", 0, 65535, NULL);
1834 1858
1835 hbox = pidgin_prefs_labeled_entry(vbox, _("Use_rname:"), 1859 hbox = pidgin_prefs_labeled_entry(vbox, _("Use_rname:"),
1836 "/purple/network/turn_username", sg); 1860 "/purple/network/turn_username", sg);
1837 pidgin_prefs_labeled_password(hbox, _("Pass_word:"), 1861 pidgin_prefs_labeled_password(hbox, _("Pass_word:"),
1838 "/purple/network/turn_password", NULL); 1862 "/purple/network/turn_password", NULL);
2077 gtk_box_pack_start(GTK_BOX(vbox), prefs_proxy_frame, 0, 0, 0); 2101 gtk_box_pack_start(GTK_BOX(vbox), prefs_proxy_frame, 0, 0, 0);
2078 2102
2079 pidgin_prefs_dropdown(prefs_proxy_frame, _("Proxy t_ype:"), PURPLE_PREF_STRING, 2103 pidgin_prefs_dropdown(prefs_proxy_frame, _("Proxy t_ype:"), PURPLE_PREF_STRING,
2080 "/purple/proxy/type", 2104 "/purple/proxy/type",
2081 _("No proxy"), "none", 2105 _("No proxy"), "none",
2082 "SOCKS 4", "socks4", 2106 _("SOCKS 4"), "socks4",
2083 "SOCKS 5", "socks5", 2107 _("SOCKS 5"), "socks5",
2084 "HTTP", "http", 2108 _("Tor/Privacy (SOCKS5)"), "tor",
2109 _("HTTP"), "http",
2085 _("Use Environmental Settings"), "envvar", 2110 _("Use Environmental Settings"), "envvar",
2086 NULL); 2111 NULL);
2087 gtk_box_pack_start(GTK_BOX(prefs_proxy_frame), prefs_proxy_subframe, 0, 0, 0); 2112 gtk_box_pack_start(GTK_BOX(prefs_proxy_frame), prefs_proxy_subframe, 0, 0, 0);
2088 proxy_info = purple_global_proxy_get_info(); 2113 proxy_info = purple_global_proxy_get_info();
2089 2114
2896 void 2921 void
2897 pidgin_prefs_update_old(void) 2922 pidgin_prefs_update_old(void)
2898 { 2923 {
2899 const char *str = NULL; 2924 const char *str = NULL;
2900 2925
2901 purple_prefs_rename("/gaim/gtk", PIDGIN_PREFS_ROOT);
2902
2903 /* Rename some old prefs */ 2926 /* Rename some old prefs */
2904 purple_prefs_rename(PIDGIN_PREFS_ROOT "/logging/log_ims", "/purple/logging/log_ims"); 2927 purple_prefs_rename(PIDGIN_PREFS_ROOT "/logging/log_ims", "/purple/logging/log_ims");
2905 purple_prefs_rename(PIDGIN_PREFS_ROOT "/logging/log_chats", "/purple/logging/log_chats"); 2928 purple_prefs_rename(PIDGIN_PREFS_ROOT "/logging/log_chats", "/purple/logging/log_chats");
2906 purple_prefs_rename("/purple/conversations/placement", 2929 purple_prefs_rename("/purple/conversations/placement",
2907 PIDGIN_PREFS_ROOT "/conversations/placement"); 2930 PIDGIN_PREFS_ROOT "/conversations/placement");
2920 */ 2943 */
2921 if((str = purple_prefs_get_path(PIDGIN_PREFS_ROOT "/browsers/command")) != NULL) { 2944 if((str = purple_prefs_get_path(PIDGIN_PREFS_ROOT "/browsers/command")) != NULL) {
2922 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/browsers/manual_command", str); 2945 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/browsers/manual_command", str);
2923 purple_prefs_remove(PIDGIN_PREFS_ROOT "/browsers/command"); 2946 purple_prefs_remove(PIDGIN_PREFS_ROOT "/browsers/command");
2924 } 2947 }
2925
2926 /* this string pref moved into the core, try to be friendly */
2927 purple_prefs_rename(PIDGIN_PREFS_ROOT "/idle/reporting_method", "/purple/away/idle_reporting");
2928 if ((str = purple_prefs_get_string("/purple/away/idle_reporting")) &&
2929 strcmp(str, "gaim") == 0)
2930 purple_prefs_set_string("/purple/away/idle_reporting", "purple");
2931 2948
2932 /* Remove some no-longer-used prefs */ 2949 /* Remove some no-longer-used prefs */
2933 purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/auto_expand_contacts"); 2950 purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/auto_expand_contacts");
2934 purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/button_style"); 2951 purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/button_style");
2935 purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/grey_idle_buddies"); 2952 purple_prefs_remove(PIDGIN_PREFS_ROOT "/blist/grey_idle_buddies");

mercurial