pidgin/prefs/pidginprefs.c

changeset 41088
3a52d37dd34e
parent 41086
631e6cba8635
child 41137
3c1574216aed
equal deleted inserted replaced
41087:4fc5b0ddf55e 41088:3a52d37dd34e
95 GtkWidget *stack; 95 GtkWidget *stack;
96 96
97 /* Interface page */ 97 /* Interface page */
98 struct { 98 struct {
99 struct { 99 struct {
100 PidginPrefCombo hide_new;
101 } im;
102 struct {
103 GtkWidget *minimize_new_convs; 100 GtkWidget *minimize_new_convs;
104 } win32; 101 } win32;
105 struct { 102 struct {
106 GtkWidget *tabs; 103 GtkWidget *tabs;
107 GtkWidget *tabs_vbox; 104 GtkWidget *tabs_vbox;
113 /* Conversations page */ 110 /* Conversations page */
114 struct { 111 struct {
115 PidginPrefCombo notification_chat; 112 PidginPrefCombo notification_chat;
116 GtkWidget *show_incoming_formatting; 113 GtkWidget *show_incoming_formatting;
117 struct { 114 struct {
118 GtkWidget *close_immediately;
119 GtkWidget *send_typing; 115 GtkWidget *send_typing;
120 } im; 116 } im;
121 GtkWidget *use_smooth_scrolling; 117 GtkWidget *use_smooth_scrolling;
122 struct { 118 struct {
123 GtkWidget *blink_im; 119 GtkWidget *blink_im;
1327 } 1323 }
1328 1324
1329 static void 1325 static void
1330 bind_interface_page(PidginPrefsWindow *win) 1326 bind_interface_page(PidginPrefsWindow *win)
1331 { 1327 {
1332 /* System Tray */
1333 win->iface.im.hide_new.type = PURPLE_PREF_STRING;
1334 win->iface.im.hide_new.key = PIDGIN_PREFS_ROOT "/conversations/im/hide_new";
1335 pidgin_prefs_bind_dropdown(&win->iface.im.hide_new);
1336
1337 #ifdef _WIN32 1328 #ifdef _WIN32
1338 pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/win32/minimize_new_convs", 1329 pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/win32/minimize_new_convs",
1339 win->iface.win32.minimize_new_convs); 1330 win->iface.win32.minimize_new_convs);
1340 #else 1331 #else
1341 gtk_widget_hide(win->iface.win32.minimize_new_convs); 1332 gtk_widget_hide(win->iface.win32.minimize_new_convs);
1397 win->conversations.notification_chat.key = PIDGIN_PREFS_ROOT "/conversations/notification_chat"; 1388 win->conversations.notification_chat.key = PIDGIN_PREFS_ROOT "/conversations/notification_chat";
1398 pidgin_prefs_bind_dropdown(&win->conversations.notification_chat); 1389 pidgin_prefs_bind_dropdown(&win->conversations.notification_chat);
1399 1390
1400 pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/conversations/show_incoming_formatting", 1391 pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/conversations/show_incoming_formatting",
1401 win->conversations.show_incoming_formatting); 1392 win->conversations.show_incoming_formatting);
1402 pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/conversations/im/close_immediately",
1403 win->conversations.im.close_immediately);
1404 1393
1405 pidgin_prefs_bind_checkbox("/purple/conversations/im/send_typing", 1394 pidgin_prefs_bind_checkbox("/purple/conversations/im/send_typing",
1406 win->conversations.im.send_typing); 1395 win->conversations.im.send_typing);
1407 1396
1408 pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/conversations/use_smooth_scrolling", 1397 pidgin_prefs_bind_checkbox(PIDGIN_PREFS_ROOT "/conversations/use_smooth_scrolling",
2334 gtk_widget_class_bind_template_callback(widget_class, delete_prefs); 2323 gtk_widget_class_bind_template_callback(widget_class, delete_prefs);
2335 2324
2336 /* Interface page */ 2325 /* Interface page */
2337 gtk_widget_class_bind_template_child( 2326 gtk_widget_class_bind_template_child(
2338 widget_class, PidginPrefsWindow, 2327 widget_class, PidginPrefsWindow,
2339 iface.im.hide_new.combo);
2340 gtk_widget_class_bind_template_child(
2341 widget_class, PidginPrefsWindow,
2342 iface.win32.minimize_new_convs); 2328 iface.win32.minimize_new_convs);
2343 gtk_widget_class_bind_template_child( 2329 gtk_widget_class_bind_template_child(
2344 widget_class, PidginPrefsWindow, 2330 widget_class, PidginPrefsWindow,
2345 iface.conversations.tabs); 2331 iface.conversations.tabs);
2346 gtk_widget_class_bind_template_child( 2332 gtk_widget_class_bind_template_child(
2358 widget_class, PidginPrefsWindow, 2344 widget_class, PidginPrefsWindow,
2359 conversations.notification_chat.combo); 2345 conversations.notification_chat.combo);
2360 gtk_widget_class_bind_template_child( 2346 gtk_widget_class_bind_template_child(
2361 widget_class, PidginPrefsWindow, 2347 widget_class, PidginPrefsWindow,
2362 conversations.show_incoming_formatting); 2348 conversations.show_incoming_formatting);
2363 gtk_widget_class_bind_template_child(
2364 widget_class, PidginPrefsWindow,
2365 conversations.im.close_immediately);
2366 gtk_widget_class_bind_template_child( 2349 gtk_widget_class_bind_template_child(
2367 widget_class, PidginPrefsWindow, 2350 widget_class, PidginPrefsWindow,
2368 conversations.im.send_typing); 2351 conversations.im.send_typing);
2369 gtk_widget_class_bind_template_child( 2352 gtk_widget_class_bind_template_child(
2370 widget_class, PidginPrefsWindow, 2353 widget_class, PidginPrefsWindow,
2668 purple_prefs_remove(PIDGIN_PREFS_ROOT "/sound/method"); 2651 purple_prefs_remove(PIDGIN_PREFS_ROOT "/sound/method");
2669 purple_prefs_remove(PIDGIN_PREFS_ROOT "/sound/mute"); 2652 purple_prefs_remove(PIDGIN_PREFS_ROOT "/sound/mute");
2670 purple_prefs_remove(PIDGIN_PREFS_ROOT "/sound/theme"); 2653 purple_prefs_remove(PIDGIN_PREFS_ROOT "/sound/theme");
2671 purple_prefs_remove(PIDGIN_PREFS_ROOT "/sound"); 2654 purple_prefs_remove(PIDGIN_PREFS_ROOT "/sound");
2672 2655
2673 /* Convert old queuing prefs to hide_new 3-way pref. */
2674 if (purple_prefs_exists("/plugins/gtk/docklet/queue_messages") &&
2675 purple_prefs_get_bool("/plugins/gtk/docklet/queue_messages"))
2676 {
2677 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new", "always");
2678 }
2679 else if (purple_prefs_exists(PIDGIN_PREFS_ROOT "/away/queue_messages") &&
2680 purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/away/queue_messages"))
2681 {
2682 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new", "away");
2683 }
2684 purple_prefs_remove(PIDGIN_PREFS_ROOT "/away/queue_messages"); 2656 purple_prefs_remove(PIDGIN_PREFS_ROOT "/away/queue_messages");
2685 purple_prefs_remove(PIDGIN_PREFS_ROOT "/away"); 2657 purple_prefs_remove(PIDGIN_PREFS_ROOT "/away");
2686 purple_prefs_remove("/plugins/gtk/docklet/queue_messages"); 2658 purple_prefs_remove("/plugins/gtk/docklet/queue_messages");
2687 2659
2688 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/chat/default_width"); 2660 purple_prefs_remove(PIDGIN_PREFS_ROOT "/conversations/chat/default_width");

mercurial