| 36 |
36 |
| 37 #include "gtkblist.h" |
37 #include "gtkblist.h" |
| 38 #include "gtkconv.h" |
38 #include "gtkconv.h" |
| 39 #include "gtkdialogs.h" |
39 #include "gtkdialogs.h" |
| 40 #include "gtksavedstatuses.h" |
40 #include "gtksavedstatuses.h" |
| 41 #include "gtksmiley-theme.h" |
|
| 42 #include "gtkstatus-icon-theme.h" |
41 #include "gtkstatus-icon-theme.h" |
| 43 #include "gtkutils.h" |
42 #include "gtkutils.h" |
| 44 #include "pidgincore.h" |
43 #include "pidgincore.h" |
| 45 #include "pidgindebug.h" |
44 #include "pidgindebug.h" |
| 46 #include "pidginprefs.h" |
45 #include "pidginprefs.h" |
| 121 } im; |
120 } im; |
| 122 GtkWidget *use_smooth_scrolling; |
121 GtkWidget *use_smooth_scrolling; |
| 123 struct { |
122 struct { |
| 124 GtkWidget *blink_im; |
123 GtkWidget *blink_im; |
| 125 } win32; |
124 } win32; |
| 126 GtkWidget *resize_custom_smileys; |
|
| 127 GtkWidget *custom_smileys_size; |
|
| 128 GtkWidget *minimum_entry_lines; |
125 GtkWidget *minimum_entry_lines; |
| 129 GtkTextBuffer *format_buffer; |
126 GtkTextBuffer *format_buffer; |
| 130 GtkWidget *format_view; |
127 GtkWidget *format_view; |
| 131 /* Win32 specific frame */ |
128 /* Win32 specific frame */ |
| 132 GtkWidget *font_frame; |
129 GtkWidget *font_frame; |
| 225 /* Main dialog */ |
221 /* Main dialog */ |
| 226 static PidginPrefsWindow *prefs = NULL; |
222 static PidginPrefsWindow *prefs = NULL; |
| 227 |
223 |
| 228 /* Themes page */ |
224 /* Themes page */ |
| 229 static GtkWidget *prefs_status_themes_combo_box; |
225 static GtkWidget *prefs_status_themes_combo_box; |
| 230 static GtkWidget *prefs_smiley_themes_combo_box; |
|
| 231 |
226 |
| 232 /* These exist outside the lifetime of the prefs dialog */ |
227 /* These exist outside the lifetime of the prefs dialog */ |
| 233 static GtkListStore *prefs_status_icon_themes; |
228 static GtkListStore *prefs_status_icon_themes; |
| 234 static GtkListStore *prefs_smiley_themes; |
|
| 235 |
229 |
| 236 /* |
230 /* |
| 237 * PROTOTYPES |
231 * PROTOTYPES |
| 238 */ |
232 */ |
| 239 G_DEFINE_TYPE(PidginPrefsWindow, pidgin_prefs_window, GTK_TYPE_DIALOG); |
233 G_DEFINE_TYPE(PidginPrefsWindow, pidgin_prefs_window, GTK_TYPE_DIALOG); |
| 819 /* Unregister callbacks. */ |
813 /* Unregister callbacks. */ |
| 820 purple_prefs_disconnect_by_handle(prefs); |
814 purple_prefs_disconnect_by_handle(prefs); |
| 821 |
815 |
| 822 /* NULL-ify globals */ |
816 /* NULL-ify globals */ |
| 823 prefs_status_themes_combo_box = NULL; |
817 prefs_status_themes_combo_box = NULL; |
| 824 prefs_smiley_themes_combo_box = NULL; |
|
| 825 |
818 |
| 826 g_free(prefs->proxy.gnome_program_path); |
819 g_free(prefs->proxy.gnome_program_path); |
| 827 prefs = NULL; |
820 prefs = NULL; |
| 828 } |
821 } |
| 829 |
822 |
| 834 |
827 |
| 835 return g_strdup_printf("<b>%s</b>%s%s%s%s\n<span foreground='dim grey'>%s</span>", |
828 return g_strdup_printf("<b>%s</b>%s%s%s%s\n<span foreground='dim grey'>%s</span>", |
| 836 name, custom ? " " : "", custom ? _("(Custom)") : "", |
829 name, custom ? " " : "", custom ? _("(Custom)") : "", |
| 837 author != NULL ? " - " : "", author != NULL ? author : "", |
830 author != NULL ? " - " : "", author != NULL ? author : "", |
| 838 description != NULL ? description : ""); |
831 description != NULL ? description : ""); |
| 839 } |
|
| 840 |
|
| 841 static void |
|
| 842 smileys_refresh_theme_list(void) |
|
| 843 { |
|
| 844 GList *it; |
|
| 845 GtkTreeIter iter; |
|
| 846 gchar *description; |
|
| 847 |
|
| 848 description = get_theme_markup(_("none"), FALSE, _("Penguin Pimps"), |
|
| 849 _("Selecting this disables graphical emoticons.")); |
|
| 850 gtk_list_store_append(prefs_smiley_themes, &iter); |
|
| 851 gtk_list_store_set(prefs_smiley_themes, &iter, |
|
| 852 0, NULL, 1, description, 2, "none", -1); |
|
| 853 g_free(description); |
|
| 854 |
|
| 855 for (it = pidgin_smiley_theme_get_all(); it; it = g_list_next(it)) { |
|
| 856 PidginSmileyTheme *theme = it->data; |
|
| 857 |
|
| 858 description = get_theme_markup( |
|
| 859 _(pidgin_smiley_theme_get_name(theme)), FALSE, |
|
| 860 _(pidgin_smiley_theme_get_author(theme)), |
|
| 861 _(pidgin_smiley_theme_get_description(theme))); |
|
| 862 |
|
| 863 gtk_list_store_append(prefs_smiley_themes, &iter); |
|
| 864 gtk_list_store_set(prefs_smiley_themes, &iter, |
|
| 865 0, pidgin_smiley_theme_get_icon(theme), |
|
| 866 1, description, |
|
| 867 2, pidgin_smiley_theme_get_name(theme), |
|
| 868 -1); |
|
| 869 |
|
| 870 g_free(description); |
|
| 871 } |
|
| 872 } |
832 } |
| 873 |
833 |
| 874 /* adds the themes to the theme list from the manager so they can be displayed in prefs */ |
834 /* adds the themes to the theme list from the manager so they can be displayed in prefs */ |
| 875 static void |
835 static void |
| 876 prefs_themes_sort(PurpleTheme *theme) |
836 prefs_themes_sort(PurpleTheme *theme) |
| 955 gtk_list_store_set(prefs_status_icon_themes, &iter, 0, pixbuf, 1, tmp, 2, "", -1); |
915 gtk_list_store_set(prefs_status_icon_themes, &iter, 0, pixbuf, 1, tmp, 2, "", -1); |
| 956 g_free(tmp); |
916 g_free(tmp); |
| 957 if (pixbuf) |
917 if (pixbuf) |
| 958 g_object_unref(G_OBJECT(pixbuf)); |
918 g_object_unref(G_OBJECT(pixbuf)); |
| 959 |
919 |
| 960 /* smiley themes */ |
|
| 961 gtk_list_store_clear(prefs_smiley_themes); |
|
| 962 |
|
| 963 purple_theme_manager_for_each_theme(prefs_themes_sort); |
920 purple_theme_manager_for_each_theme(prefs_themes_sort); |
| 964 smileys_refresh_theme_list(); |
|
| 965 |
921 |
| 966 /* set active */ |
922 /* set active */ |
| 967 prefs_set_active_theme_combo(prefs_status_themes_combo_box, prefs_status_icon_themes, purple_prefs_get_string(PIDGIN_PREFS_ROOT "/status/icon-theme")); |
923 prefs_set_active_theme_combo(prefs_status_themes_combo_box, prefs_status_icon_themes, purple_prefs_get_string(PIDGIN_PREFS_ROOT "/status/icon-theme")); |
| 968 prefs_set_active_theme_combo(prefs_smiley_themes_combo_box, prefs_smiley_themes, purple_prefs_get_string(PIDGIN_PREFS_ROOT "/smileys/theme")); |
|
| 969 } |
924 } |
| 970 |
925 |
| 971 /* init all the theme variables so that the themes can be sorted later and used by pref pages */ |
926 /* init all the theme variables so that the themes can be sorted later and used by pref pages */ |
| 972 static void |
927 static void |
| 973 prefs_themes_init(void) |
928 prefs_themes_init(void) |
| 974 { |
929 { |
| 975 prefs_status_icon_themes = gtk_list_store_new(3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING); |
930 prefs_status_icon_themes = gtk_list_store_new(3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING); |
| 976 |
|
| 977 prefs_smiley_themes = gtk_list_store_new(3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING); |
|
| 978 } |
931 } |
| 979 |
932 |
| 980 /* |
933 /* |
| 981 * prefs_theme_find_theme: |
934 * prefs_theme_find_theme: |
| 982 * @path: A directory containing a theme. The theme could be at the |
935 * @path: A directory containing a theme. The theme could be at the |
| 1070 is_archive = !g_ascii_strcasecmp(tail, ".gz") || !g_ascii_strcasecmp(tail, ".tgz"); |
1023 is_archive = !g_ascii_strcasecmp(tail, ".gz") || !g_ascii_strcasecmp(tail, ".tgz"); |
| 1071 |
1024 |
| 1072 /* Just to be safe */ |
1025 /* Just to be safe */ |
| 1073 g_strchomp(path); |
1026 g_strchomp(path); |
| 1074 |
1027 |
| 1075 if ((is_smiley_theme = purple_strequal(info->type, "smiley"))) |
1028 destdir = g_build_filename(purple_data_dir(), "themes", "temp", NULL); |
| 1076 destdir = g_build_filename(purple_data_dir(), "smileys", NULL); |
|
| 1077 else |
|
| 1078 destdir = g_build_filename(purple_data_dir(), "themes", "temp", NULL); |
|
| 1079 |
1029 |
| 1080 /* We'll check this just to make sure. This also lets us do something different on |
1030 /* We'll check this just to make sure. This also lets us do something different on |
| 1081 * other platforms, if need be */ |
1031 * other platforms, if need be */ |
| 1082 if (is_archive) { |
1032 if (is_archive) { |
| 1083 #ifndef _WIN32 |
1033 #ifndef _WIN32 |
| 1110 return; |
1060 return; |
| 1111 } |
1061 } |
| 1112 #endif |
1062 #endif |
| 1113 } |
1063 } |
| 1114 |
1064 |
| 1115 if (is_smiley_theme) { |
1065 if (is_archive) { |
| 1116 /* just extract the folder to the smiley directory */ |
|
| 1117 prefs_themes_refresh(); |
|
| 1118 |
|
| 1119 } else if (is_archive) { |
|
| 1120 theme = prefs_theme_find_theme(destdir, info->type); |
1066 theme = prefs_theme_find_theme(destdir, info->type); |
| 1121 |
1067 |
| 1122 if (PURPLE_IS_THEME(theme)) { |
1068 if (PURPLE_IS_THEME(theme)) { |
| 1123 /* create the location for the theme */ |
1069 /* create the location for the theme */ |
| 1124 gchar *theme_dest = g_build_filename(purple_data_dir(), "themes", |
1070 gchar *theme_dest = g_build_filename(purple_data_dir(), "themes", |
| 1327 sizeof(te) / sizeof(GtkTargetEntry) , GDK_ACTION_COPY | GDK_ACTION_MOVE); |
1273 sizeof(te) / sizeof(GtkTargetEntry) , GDK_ACTION_COPY | GDK_ACTION_MOVE); |
| 1328 |
1274 |
| 1329 g_signal_connect(G_OBJECT(combo_box), "drag_data_received", G_CALLBACK(theme_dnd_recv), (gpointer) type); |
1275 g_signal_connect(G_OBJECT(combo_box), "drag_data_received", G_CALLBACK(theme_dnd_recv), (gpointer) type); |
| 1330 } |
1276 } |
| 1331 |
1277 |
| 1332 /* sets the current smiley theme */ |
|
| 1333 static void |
|
| 1334 prefs_set_smiley_theme_cb(GtkComboBox *combo_box, gpointer user_data) |
|
| 1335 { |
|
| 1336 gchar *new_theme; |
|
| 1337 GtkTreeIter new_iter; |
|
| 1338 |
|
| 1339 if (gtk_combo_box_get_active_iter(combo_box, &new_iter)) { |
|
| 1340 |
|
| 1341 gtk_tree_model_get(GTK_TREE_MODEL(prefs_smiley_themes), &new_iter, 2, &new_theme, -1); |
|
| 1342 |
|
| 1343 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/smileys/theme", new_theme); |
|
| 1344 |
|
| 1345 g_free(new_theme); |
|
| 1346 } |
|
| 1347 } |
|
| 1348 |
|
| 1349 |
|
| 1350 /* Does same as normal sort, except "none" is sorted first */ |
|
| 1351 static gint pidgin_sort_smileys (GtkTreeModel *model, |
|
| 1352 GtkTreeIter *a, |
|
| 1353 GtkTreeIter *b, |
|
| 1354 gpointer userdata) |
|
| 1355 { |
|
| 1356 gint ret = 0; |
|
| 1357 gchar *name1 = NULL, *name2 = NULL; |
|
| 1358 |
|
| 1359 gtk_tree_model_get(model, a, 2, &name1, -1); |
|
| 1360 gtk_tree_model_get(model, b, 2, &name2, -1); |
|
| 1361 |
|
| 1362 if (name1 == NULL || name2 == NULL) { |
|
| 1363 if (!(name1 == NULL && name2 == NULL)) |
|
| 1364 ret = (name1 == NULL) ? -1: 1; |
|
| 1365 } else if (!g_ascii_strcasecmp(name1, "none")) { |
|
| 1366 if (!g_utf8_collate(name1, name2)) |
|
| 1367 ret = 0; |
|
| 1368 else |
|
| 1369 /* Sort name1 first */ |
|
| 1370 ret = -1; |
|
| 1371 } else if (!g_ascii_strcasecmp(name2, "none")) { |
|
| 1372 /* Sort name2 first */ |
|
| 1373 ret = 1; |
|
| 1374 } else { |
|
| 1375 /* Neither string is "none", default to normal sort */ |
|
| 1376 ret = purple_utf8_strcasecmp(name1, name2); |
|
| 1377 } |
|
| 1378 |
|
| 1379 g_free(name1); |
|
| 1380 g_free(name2); |
|
| 1381 |
|
| 1382 return ret; |
|
| 1383 } |
|
| 1384 |
|
| 1385 /* sets the current icon theme */ |
1278 /* sets the current icon theme */ |
| 1386 static void |
1279 static void |
| 1387 prefs_set_status_icon_theme_cb(GtkComboBox *combo_box, gpointer user_data) |
1280 prefs_set_status_icon_theme_cb(GtkComboBox *combo_box, gpointer user_data) |
| 1388 { |
1281 { |
| 1389 PidginStatusIconTheme *theme = NULL; |
1282 PidginStatusIconTheme *theme = NULL; |
| 1410 /* Status Icon Themes */ |
1303 /* Status Icon Themes */ |
| 1411 prefs_build_theme_combo_box(win->theme.status, prefs_status_icon_themes, |
1304 prefs_build_theme_combo_box(win->theme.status, prefs_status_icon_themes, |
| 1412 PIDGIN_PREFS_ROOT "/status/icon-theme", |
1305 PIDGIN_PREFS_ROOT "/status/icon-theme", |
| 1413 "icon"); |
1306 "icon"); |
| 1414 prefs_status_themes_combo_box = win->theme.status; |
1307 prefs_status_themes_combo_box = win->theme.status; |
| 1415 |
|
| 1416 /* Smiley Themes */ |
|
| 1417 prefs_build_theme_combo_box(win->theme.smiley, prefs_smiley_themes, |
|
| 1418 PIDGIN_PREFS_ROOT "/smileys/theme", |
|
| 1419 "smiley"); |
|
| 1420 prefs_smiley_themes_combo_box = win->theme.smiley; |
|
| 1421 |
|
| 1422 /* Custom sort so "none" theme is at top of list */ |
|
| 1423 gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(prefs_smiley_themes), |
|
| 1424 2, pidgin_sort_smileys, NULL, NULL); |
|
| 1425 gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(prefs_smiley_themes), |
|
| 1426 2, GTK_SORT_ASCENDING); |
|
| 1427 } |
1308 } |
| 1428 |
1309 |
| 1429 static void |
1310 static void |
| 1430 formatting_toggle_cb(TalkatuActionGroup *ag, GAction *action, const gchar *name, gpointer data) |
1311 formatting_toggle_cb(TalkatuActionGroup *ag, GAction *action, const gchar *name, gpointer data) |
| 1431 { |
1312 { |
| 1530 #ifdef _WIN32 |
1411 #ifdef _WIN32 |
| 1531 pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/win32/blink_im", |
1412 pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/win32/blink_im", |
| 1532 win->conversations.win32.blink_im); |
1413 win->conversations.win32.blink_im); |
| 1533 #else |
1414 #else |
| 1534 gtk_widget_hide(win->conversations.win32.blink_im); |
1415 gtk_widget_hide(win->conversations.win32.blink_im); |
| 1535 #endif |
|
| 1536 |
|
| 1537 #if 0 |
|
| 1538 /* TODO: it's not implemented */ |
|
| 1539 pidgin_prefs_bind_checkbox( |
|
| 1540 PIDGIN_PREFS_ROOT "/conversations/resize_custom_smileys", |
|
| 1541 win->conversations.resize_custom_smileys); |
|
| 1542 |
|
| 1543 pidgin_prefs_bind_spin_button( |
|
| 1544 PIDGIN_PREFS_ROOT "/conversations/custom_smileys_size", |
|
| 1545 win->conversations.custom_smileys_size); |
|
| 1546 |
|
| 1547 g_object_bind_property(win->conversations.resize_custom_smileys, "active", |
|
| 1548 win->conversations.custom_smileys_size, "sensitive", |
|
| 1549 G_BINDING_SYNC_CREATE); |
|
| 1550 #endif |
1416 #endif |
| 1551 |
1417 |
| 1552 pidgin_prefs_bind_spin_button( |
1418 pidgin_prefs_bind_spin_button( |
| 1553 PIDGIN_PREFS_ROOT "/conversations/minimum_entry_lines", |
1419 PIDGIN_PREFS_ROOT "/conversations/minimum_entry_lines", |
| 1554 win->conversations.minimum_entry_lines); |
1420 win->conversations.minimum_entry_lines); |
| 2506 gtk_widget_class_bind_template_child( |
2372 gtk_widget_class_bind_template_child( |
| 2507 widget_class, PidginPrefsWindow, |
2373 widget_class, PidginPrefsWindow, |
| 2508 conversations.win32.blink_im); |
2374 conversations.win32.blink_im); |
| 2509 gtk_widget_class_bind_template_child( |
2375 gtk_widget_class_bind_template_child( |
| 2510 widget_class, PidginPrefsWindow, |
2376 widget_class, PidginPrefsWindow, |
| 2511 conversations.resize_custom_smileys); |
|
| 2512 gtk_widget_class_bind_template_child( |
|
| 2513 widget_class, PidginPrefsWindow, |
|
| 2514 conversations.custom_smileys_size); |
|
| 2515 gtk_widget_class_bind_template_child( |
|
| 2516 widget_class, PidginPrefsWindow, |
|
| 2517 conversations.minimum_entry_lines); |
2377 conversations.minimum_entry_lines); |
| 2518 gtk_widget_class_bind_template_child( |
2378 gtk_widget_class_bind_template_child( |
| 2519 widget_class, PidginPrefsWindow, |
2379 widget_class, PidginPrefsWindow, |
| 2520 conversations.format_buffer); |
2380 conversations.format_buffer); |
| 2521 gtk_widget_class_bind_template_child( |
2381 gtk_widget_class_bind_template_child( |
| 2648 widget_class, PidginPrefsWindow, away.startup_label); |
2508 widget_class, PidginPrefsWindow, away.startup_label); |
| 2649 |
2509 |
| 2650 /* Themes page */ |
2510 /* Themes page */ |
| 2651 gtk_widget_class_bind_template_child( |
2511 gtk_widget_class_bind_template_child( |
| 2652 widget_class, PidginPrefsWindow, theme.status); |
2512 widget_class, PidginPrefsWindow, theme.status); |
| 2653 gtk_widget_class_bind_template_child( |
|
| 2654 widget_class, PidginPrefsWindow, theme.smiley); |
|
| 2655 gtk_widget_class_bind_template_callback(widget_class, |
2513 gtk_widget_class_bind_template_callback(widget_class, |
| 2656 prefs_set_status_icon_theme_cb); |
2514 prefs_set_status_icon_theme_cb); |
| 2657 gtk_widget_class_bind_template_callback(widget_class, |
|
| 2658 prefs_set_smiley_theme_cb); |
|
| 2659 } |
2515 } |
| 2660 |
2516 |
| 2661 static void |
2517 static void |
| 2662 pidgin_prefs_window_init(PidginPrefsWindow *win) |
2518 pidgin_prefs_window_init(PidginPrefsWindow *win) |
| 2663 { |
2519 { |
| 2683 prefs = PIDGIN_PREFS_WINDOW(g_object_new( |
2539 prefs = PIDGIN_PREFS_WINDOW(g_object_new( |
| 2684 pidgin_prefs_window_get_type(), NULL)); |
2540 pidgin_prefs_window_get_type(), NULL)); |
| 2685 } |
2541 } |
| 2686 |
2542 |
| 2687 gtk_window_present(GTK_WINDOW(prefs)); |
2543 gtk_window_present(GTK_WINDOW(prefs)); |
| 2688 } |
|
| 2689 |
|
| 2690 static void |
|
| 2691 smiley_theme_pref_cb(const char *name, PurplePrefType type, |
|
| 2692 gconstpointer value, gpointer data) |
|
| 2693 { |
|
| 2694 const gchar *theme_name = value; |
|
| 2695 GList *themes, *it; |
|
| 2696 |
|
| 2697 if (purple_strequal(theme_name, "none")) { |
|
| 2698 purple_smiley_theme_set_current(NULL); |
|
| 2699 return; |
|
| 2700 } |
|
| 2701 |
|
| 2702 /* XXX: could be cached when initializing prefs view */ |
|
| 2703 themes = pidgin_smiley_theme_get_all(); |
|
| 2704 |
|
| 2705 for (it = themes; it; it = g_list_next(it)) { |
|
| 2706 PidginSmileyTheme *theme = it->data; |
|
| 2707 |
|
| 2708 if (!purple_strequal(pidgin_smiley_theme_get_name(theme), theme_name)) |
|
| 2709 continue; |
|
| 2710 |
|
| 2711 purple_smiley_theme_set_current(PURPLE_SMILEY_THEME(theme)); |
|
| 2712 } |
|
| 2713 } |
2544 } |
| 2714 |
2545 |
| 2715 void |
2546 void |
| 2716 pidgin_prefs_init(void) |
2547 pidgin_prefs_init(void) |
| 2717 { |
2548 { |
| 2728 purple_prefs_add_path(PIDGIN_PREFS_ROOT "/filelocations/last_open_folder", ""); |
2559 purple_prefs_add_path(PIDGIN_PREFS_ROOT "/filelocations/last_open_folder", ""); |
| 2729 purple_prefs_add_path(PIDGIN_PREFS_ROOT "/filelocations/last_icon_folder", ""); |
2560 purple_prefs_add_path(PIDGIN_PREFS_ROOT "/filelocations/last_icon_folder", ""); |
| 2730 |
2561 |
| 2731 /* Themes */ |
2562 /* Themes */ |
| 2732 prefs_themes_init(); |
2563 prefs_themes_init(); |
| 2733 |
|
| 2734 /* Smiley Themes */ |
|
| 2735 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/smileys"); |
|
| 2736 purple_prefs_add_string(PIDGIN_PREFS_ROOT "/smileys/theme", "Default"); |
|
| 2737 |
|
| 2738 /* Smiley Callbacks */ |
|
| 2739 purple_prefs_connect_callback(&prefs, PIDGIN_PREFS_ROOT "/smileys/theme", |
|
| 2740 smiley_theme_pref_cb, NULL); |
|
| 2741 |
2564 |
| 2742 #ifdef USE_VV |
2565 #ifdef USE_VV |
| 2743 /* Voice/Video */ |
2566 /* Voice/Video */ |
| 2744 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig"); |
2567 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig"); |
| 2745 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig/audio"); |
2568 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig/audio"); |
| 2792 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/enter_sends"); |
2615 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/enter_sends"); |
| 2793 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/escape_closes"); |
2616 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/escape_closes"); |
| 2794 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/html_shortcuts"); |
2617 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/html_shortcuts"); |
| 2795 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/icons_on_tabs"); |
2618 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/icons_on_tabs"); |
| 2796 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/send_formatting"); |
2619 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/send_formatting"); |
| 2797 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/show_smileys"); |
|
| 2798 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/show_urls_as_links"); |
2620 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/show_urls_as_links"); |
| 2799 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/smiley_shortcuts"); |
|
| 2800 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/use_custom_bgcolor"); |
2621 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/use_custom_bgcolor"); |
| 2801 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/use_custom_fgcolor"); |
2622 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/use_custom_fgcolor"); |
| 2802 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/use_custom_font"); |
2623 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/use_custom_font"); |
| 2803 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/use_custom_size"); |
2624 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/use_custom_size"); |
| 2804 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/chat/old_tab_complete"); |
2625 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/chat/old_tab_complete"); |