# HG changeset patch # User Eric Warmenhoven # Date 989108297 0 # Node ID 998a6a0328746d4e2b3148201e4b13ca2f37f7c6 # Parent b012f6b9095b801ac2abc8458b3efac9647fb5a1 [gaim-migrate @ 1823] decklin's default conversation size patch. we should have a thing to optionally set this based on the conversation window size, but that doesn't seem that important right now. committer: Tailor Script diff -r b012f6b9095b -r 998a6a032874 src/buddy_chat.c --- a/src/buddy_chat.c Sat May 05 22:27:51 2001 +0000 +++ b/src/buddy_chat.c Sun May 06 00:18:17 2001 +0000 @@ -863,7 +863,7 @@ b->sw = sw; gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); gtk_paned_pack1(GTK_PANED(hpaned), sw, TRUE, TRUE); - gtk_widget_set_usize(sw, 320, 160); + gtk_widget_set_usize(sw, buddy_chat_size.width, buddy_chat_size.height); gtk_widget_show(sw); text = gtk_imhtml_new(NULL, NULL); @@ -935,10 +935,7 @@ if (general_options & OPT_GEN_CHECK_SPELLING) gtkspell_attach(GTK_TEXT(chatentry)); gtk_box_pack_start(GTK_BOX(vbox), chatentry, TRUE, TRUE, 0); - if (display_options & OPT_DISP_CHAT_BIG_ENTRY) - gtk_widget_set_usize(chatentry, 320, 50); - else - gtk_widget_set_usize(chatentry, 320, 25); + gtk_widget_set_usize(chatentry, buddy_chat_size.width, buddy_chat_size.entry_height); gtk_window_set_focus(GTK_WINDOW(win), chatentry); gtk_widget_show(chatentry); diff -r b012f6b9095b -r 998a6a032874 src/conversation.c --- a/src/conversation.c Sat May 05 22:27:51 2001 +0000 +++ b/src/conversation.c Sun May 06 00:18:17 2001 +0000 @@ -2048,7 +2048,7 @@ c->sw = sw; gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); - gtk_widget_set_usize(sw, 320, 175); + gtk_widget_set_usize(sw, conv_size.width, conv_size.height); gtk_widget_show(sw); text = gtk_imhtml_new(NULL, NULL); @@ -2090,10 +2090,8 @@ gtk_object_set_user_data(GTK_OBJECT(entry), c); gtk_text_set_editable(GTK_TEXT(entry), TRUE); gtk_text_set_word_wrap(GTK_TEXT(entry), TRUE); - if (display_options & OPT_DISP_CONV_BIG_ENTRY) - gtk_widget_set_usize(entry, 300, 50); - else - gtk_widget_set_usize(entry, 300, 25); + gtk_widget_set_usize(entry, conv_size.width - 20, conv_size.entry_height); + gtk_signal_connect(GTK_OBJECT(entry), "activate", GTK_SIGNAL_FUNC(send_callback), c); gtk_signal_connect(GTK_OBJECT(entry), "key_press_event", GTK_SIGNAL_FUNC(keypress_callback), c); gtk_signal_connect(GTK_OBJECT(entry), "key_press_event", GTK_SIGNAL_FUNC(entry_key_pressed), diff -r b012f6b9095b -r 998a6a032874 src/gaim.h --- a/src/gaim.h Sat May 05 22:27:51 2001 +0000 +++ b/src/gaim.h Sun May 06 00:18:17 2001 +0000 @@ -151,6 +151,13 @@ }; +struct window_size { + int width; + int height; + int entry_height; +}; + + struct option_set { int *options; int option; @@ -488,8 +495,8 @@ #define OPT_DISP_NO_BUTTONS 0x00002000 #define OPT_DISP_CONV_BUTTON_TEXT 0x00004000 #define OPT_DISP_CHAT_BUTTON_TEXT 0x00008000 -#define OPT_DISP_CONV_BIG_ENTRY 0x00010000 -#define OPT_DISP_CHAT_BIG_ENTRY 0x00020000 +/* #define OPT_DISP_CONV_BIG_ENTRY 0x00010000 -- no longer used */ +/* #define OPT_DISP_CHAT_BIG_ENTRY 0x00020000 -- no longer used */ #define OPT_DISP_NO_MT_GRP 0x00040000 #define OPT_DISP_CONV_BUTTON_XPM 0x00080000 #define OPT_DISP_CHAT_BUTTON_XPM 0x00100000 @@ -552,6 +559,7 @@ extern char sound_cmd[2048]; extern char web_command[2048]; extern struct save_pos blist_pos; +extern struct window_size conv_size, buddy_chat_size; extern char latest_ver[25]; /* Functions in about.c */ diff -r b012f6b9095b -r 998a6a032874 src/gaimrc.c --- a/src/gaimrc.c Sat May 05 22:27:51 2001 +0000 +++ b/src/gaimrc.c Sun May 06 00:18:17 2001 +0000 @@ -48,6 +48,7 @@ int report_idle, web_browser; struct save_pos blist_pos; +struct window_size conv_size, buddy_chat_size; char web_command[2048]; char *sound_file[NUM_SOUNDS]; char sound_cmd[2048]; @@ -664,6 +665,14 @@ web_browser = atoi(p->value[0]); } else if (!strcmp(p->option, "web_command")) { strcpy(web_command, p->value[0]); + } else if (!strcmp(p->option, "conv_size")) { + conv_size.width = atoi(p->value[0]); + conv_size.height = atoi(p->value[1]); + conv_size.entry_height = atoi(p->value[2]); + } else if (!strcmp(p->option, "buddy_chat_size")) { + buddy_chat_size.width = atoi(p->value[0]); + buddy_chat_size.height = atoi(p->value[1]); + buddy_chat_size.entry_height = atoi(p->value[2]); } else if (!strcmp(p->option, "blist_pos")) { blist_pos.x = atoi(p->value[0]); blist_pos.y = atoi(p->value[1]); @@ -705,6 +714,10 @@ fprintf(f, "\tblist_pos { %d } { %d } { %d } { %d } { %d } { %d }\n", blist_pos.x, blist_pos.y, blist_pos.width, blist_pos.height, blist_pos.xoff, blist_pos.yoff); + fprintf(f, "\tconv_size { %d } { %d } { %d }\n", + conv_size.width, conv_size.height, conv_size.entry_height); + fprintf(f, "\tbuddy_chat_size { %d } { %d } { %d }\n", + buddy_chat_size.width, buddy_chat_size.height, buddy_chat_size.entry_height); fprintf(f, "}\n"); } @@ -787,7 +800,6 @@ OPT_DISP_SHOW_BUTTON_XPM | OPT_DISP_SHOW_SMILEY | OPT_DISP_COOL_LOOK | - OPT_DISP_CONV_BIG_ENTRY | OPT_DISP_CONV_BUTTON_XPM | OPT_DISP_CHAT_BUTTON_TEXT; @@ -808,10 +820,19 @@ default_away = NULL; g_snprintf(web_command, sizeof(web_command), "xterm -e lynx %%s"); + blist_pos.width = 0; blist_pos.height = 0; blist_pos.x = 0; blist_pos.y = 0; + + conv_size.width = 320; + conv_size.height = 175; + conv_size.entry_height = 25; + + buddy_chat_size.width = 320; + buddy_chat_size.height = 160; + buddy_chat_size.entry_height = 25; } } diff -r b012f6b9095b -r 998a6a032874 src/prefs.c --- a/src/prefs.c Sat May 05 22:27:51 2001 +0000 +++ b/src/prefs.c Sun May 06 00:18:17 2001 +0000 @@ -609,20 +609,52 @@ return opt; } +static void update_spin_value(GtkWidget *w, GtkWidget *spin) +{ + int *value = gtk_object_get_user_data(GTK_OBJECT(spin)); + *value = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin)); +} + +static void gaim_labeled_spin_button(GtkWidget *box, const gchar *title, int *val) +{ + GtkWidget *hbox; + GtkWidget *label; + GtkWidget *spin; + GtkObject *adjust; + + hbox = gtk_hbox_new(FALSE, 5); + gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5); + gtk_widget_show(hbox); + + label = gtk_label_new(title); + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); + gtk_widget_show(label); + + adjust = gtk_adjustment_new(*val, 1, 9999, 1, 1, 1); + spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjust), 1, 0); + gtk_object_set_user_data(GTK_OBJECT(spin), val); + gtk_widget_set_usize(spin, 50, -1); + gtk_box_pack_start(GTK_BOX(hbox), spin, FALSE, FALSE, 0); + gtk_signal_connect(GTK_OBJECT(adjust), "value-changed", + GTK_SIGNAL_FUNC(update_spin_value), GTK_WIDGET(spin)); + gtk_widget_show(spin); +} + static void im_page() { GtkWidget *parent; GtkWidget *box; GtkWidget *label; GtkWidget *frame; + GtkWidget *vbox; GtkWidget *hbox; - GtkWidget *vbox; + GtkWidget *vbox2; GtkWidget *opt; GtkWidget *sep; GtkWidget *button; GtkWidget *button2; GtkWidget *hbox2; - GtkWidget *vbox2; + GtkWidget *vbox3; parent = prefdialog->parent; gtk_widget_destroy(prefdialog); @@ -643,67 +675,89 @@ gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); gtk_widget_show(frame); - hbox = gtk_hbox_new(FALSE, 5); - gtk_container_add(GTK_CONTAINER(frame), hbox); - gtk_widget_show(hbox); - - vbox = gtk_vbox_new(TRUE, 5); - gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 5); + vbox = gtk_vbox_new(FALSE, 5); + gtk_container_add(GTK_CONTAINER(frame), vbox); gtk_widget_show(vbox); - label = gtk_label_new(_("Show buttons as ")); - gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); + hbox = gtk_hbox_new(FALSE, 5); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); + gtk_widget_show(hbox); + + vbox2 = gtk_vbox_new(TRUE, 5); + gtk_box_pack_start(GTK_BOX(hbox), vbox2, FALSE, FALSE, 5); + gtk_widget_show(vbox2); + + label = gtk_label_new(_("Show buttons as: ")); + gtk_box_pack_start(GTK_BOX(vbox2), label, FALSE, FALSE, 5); gtk_widget_show(label); - opt = am_radio(_("Pictures And Text"), OPT_DISP_CONV_BUTTON_TEXT | OPT_DISP_CONV_BUTTON_XPM, vbox, NULL); - opt = am_radio(_("Pictures"), OPT_DISP_CONV_BUTTON_XPM, vbox, opt); - opt = am_radio(_("Text"), OPT_DISP_CONV_BUTTON_TEXT, vbox, opt); + opt = am_radio(_("Pictures And Text"), OPT_DISP_CONV_BUTTON_TEXT | OPT_DISP_CONV_BUTTON_XPM, vbox2, NULL); + opt = am_radio(_("Pictures"), OPT_DISP_CONV_BUTTON_XPM, vbox2, opt); + opt = am_radio(_("Text"), OPT_DISP_CONV_BUTTON_TEXT, vbox2, opt); sep = gtk_vseparator_new(); gtk_box_pack_start(GTK_BOX(hbox), sep, FALSE, FALSE, 5); gtk_widget_show(sep); - vbox = gtk_vbox_new(TRUE, 5); - gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); - gtk_widget_show(vbox); - - button = gaim_button(_("Show all conversations in one tabbed window"), &display_options, OPT_DISP_ONE_WINDOW, vbox); - gaim_button(_("Raise windows on events"), &general_options, OPT_GEN_POPUP_WINDOWS, vbox); - gaim_button(_("Show logins in window"), &display_options, OPT_DISP_SHOW_LOGON, vbox); - gaim_button(_("Show larger entry box on new windows"), &display_options, OPT_DISP_CONV_BIG_ENTRY, vbox); + vbox2 = gtk_vbox_new(TRUE, 5); + gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 5); + gtk_widget_show(vbox2); + + button = gaim_button(_("Show all conversations in one tabbed window"), &display_options, OPT_DISP_ONE_WINDOW, vbox2); + gaim_button(_("Raise windows on events"), &general_options, OPT_GEN_POPUP_WINDOWS, vbox2); + gaim_button(_("Show logins in window"), &display_options, OPT_DISP_SHOW_LOGON, vbox2); + + hbox = gtk_hbox_new(FALSE, 5); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); + gtk_widget_show(hbox); + + gaim_labeled_spin_button(hbox, _("New window width:"), &conv_size.width); + gaim_labeled_spin_button(hbox, _("New window height:"), &conv_size.height); + gaim_labeled_spin_button(hbox, _("Entry widget height:"), &conv_size.entry_height); frame = gtk_frame_new(_("Group Chat Window")); gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); gtk_widget_show(frame); - hbox = gtk_hbox_new(FALSE, 5); - gtk_container_add(GTK_CONTAINER(frame), hbox); - gtk_widget_show(hbox); - - vbox = gtk_vbox_new(TRUE, 5); - gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 5); + vbox = gtk_vbox_new(FALSE, 5); + gtk_container_add(GTK_CONTAINER(frame), vbox); gtk_widget_show(vbox); - label = gtk_label_new(_("Show buttons as ")); - gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); + hbox = gtk_hbox_new(FALSE, 5); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); + gtk_widget_show(hbox); + + vbox2 = gtk_vbox_new(TRUE, 5); + gtk_box_pack_start(GTK_BOX(hbox), vbox2, FALSE, FALSE, 5); + gtk_widget_show(vbox2); + + label = gtk_label_new(_("Show buttons as: ")); + gtk_box_pack_start(GTK_BOX(vbox2), label, FALSE, FALSE, 5); gtk_widget_show(label); - opt = am_radio(_("Pictures And Text"), OPT_DISP_CHAT_BUTTON_TEXT | OPT_DISP_CHAT_BUTTON_XPM | 1, vbox, NULL); - opt = am_radio(_("Pictures"), OPT_DISP_CHAT_BUTTON_XPM | 1, vbox, opt); - opt = am_radio(_("Text"), OPT_DISP_CHAT_BUTTON_TEXT | 1, vbox, opt); + opt = am_radio(_("Pictures And Text"), OPT_DISP_CHAT_BUTTON_TEXT | OPT_DISP_CHAT_BUTTON_XPM | 1, vbox2, NULL); + opt = am_radio(_("Pictures"), OPT_DISP_CHAT_BUTTON_XPM | 1, vbox2, opt); + opt = am_radio(_("Text"), OPT_DISP_CHAT_BUTTON_TEXT | 1, vbox2, opt); sep = gtk_vseparator_new(); gtk_box_pack_start(GTK_BOX(hbox), sep, FALSE, FALSE, 5); gtk_widget_show(sep); - vbox = gtk_vbox_new(TRUE, 5); - gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); - gtk_widget_show(vbox); - - button2 = gaim_button(_("Show all chats in one tabbed window"), &display_options, OPT_DISP_ONE_CHAT_WINDOW, vbox); - gaim_button(_("Raise windows on events"), &general_options, OPT_GEN_POPUP_CHAT, vbox); - gaim_button(_("Show people joining/leaving in window"), &display_options, OPT_DISP_CHAT_LOGON, vbox); - gaim_button(_("Show larger entry box on new windows"), &display_options, OPT_DISP_CHAT_BIG_ENTRY, vbox); + vbox2 = gtk_vbox_new(TRUE, 5); + gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 5); + gtk_widget_show(vbox2); + + button2 = gaim_button(_("Show all chats in one tabbed window"), &display_options, OPT_DISP_ONE_CHAT_WINDOW, vbox2); + gaim_button(_("Raise windows on events"), &general_options, OPT_GEN_POPUP_CHAT, vbox2); + gaim_button(_("Show people joining/leaving in window"), &display_options, OPT_DISP_CHAT_LOGON, vbox2); + + hbox = gtk_hbox_new(FALSE, 5); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); + gtk_widget_show(hbox); + + gaim_labeled_spin_button(hbox, _("New window width:"), &buddy_chat_size.width); + gaim_labeled_spin_button(hbox, _("New window height:"), &buddy_chat_size.height); + gaim_labeled_spin_button(hbox, _("Entry widget height:"), &buddy_chat_size.entry_height); frame = gtk_frame_new(_("Tabbed Window Options")); gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); @@ -725,22 +779,22 @@ gtk_box_pack_start(GTK_BOX(vbox), hbox2, TRUE, TRUE, 5); gtk_widget_show(hbox2); - vbox2 = gtk_vbox_new(TRUE, 5); - gtk_box_pack_start(GTK_BOX(hbox2), vbox2, TRUE, TRUE, 5); - gtk_widget_show(vbox2); - - opt = tab_radio(_("Top"), 0, vbox2, NULL); + vbox3 = gtk_vbox_new(TRUE, 5); + gtk_box_pack_start(GTK_BOX(hbox2), vbox3, TRUE, TRUE, 5); + gtk_widget_show(vbox3); + + opt = tab_radio(_("Top"), 0, vbox3, NULL); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); - opt = tab_radio(_("Bottom"), OPT_DISP_CONV_BR_TAB, vbox2, opt); + opt = tab_radio(_("Bottom"), OPT_DISP_CONV_BR_TAB, vbox3, opt); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); - vbox2 = gtk_vbox_new(TRUE, 5); - gtk_box_pack_start(GTK_BOX(hbox2), vbox2, TRUE, TRUE, 5); - gtk_widget_show(vbox2); - - opt = tab_radio(_("Left"), OPT_DISP_CONV_SIDE_TAB, vbox2, opt); + vbox3 = gtk_vbox_new(TRUE, 5); + gtk_box_pack_start(GTK_BOX(hbox2), vbox3, TRUE, TRUE, 5); + gtk_widget_show(vbox3); + + opt = tab_radio(_("Left"), OPT_DISP_CONV_SIDE_TAB, vbox3, opt); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); - opt = tab_radio(_("Right"), OPT_DISP_CONV_SIDE_TAB | OPT_DISP_CONV_BR_TAB, vbox2, opt); + opt = tab_radio(_("Right"), OPT_DISP_CONV_SIDE_TAB | OPT_DISP_CONV_BR_TAB, vbox3, opt); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); sep = gtk_vseparator_new(); @@ -759,22 +813,22 @@ gtk_box_pack_start(GTK_BOX(vbox), hbox2, TRUE, TRUE, 5); gtk_widget_show(hbox2); - vbox2 = gtk_vbox_new(TRUE, 5); - gtk_box_pack_start(GTK_BOX(hbox2), vbox2, TRUE, TRUE, 5); - gtk_widget_show(vbox2); - - opt = tab_radio(_("Top"), 1, vbox2, NULL); + vbox3 = gtk_vbox_new(TRUE, 5); + gtk_box_pack_start(GTK_BOX(hbox2), vbox3, TRUE, TRUE, 5); + gtk_widget_show(vbox3); + + opt = tab_radio(_("Top"), 1, vbox3, NULL); gtk_signal_connect(GTK_OBJECT(button2), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); - opt = tab_radio(_("Bottom"), OPT_DISP_CHAT_BR_TAB | 1, vbox2, opt); + opt = tab_radio(_("Bottom"), OPT_DISP_CHAT_BR_TAB | 1, vbox3, opt); gtk_signal_connect(GTK_OBJECT(button2), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); - vbox2 = gtk_vbox_new(TRUE, 5); - gtk_box_pack_start(GTK_BOX(hbox2), vbox2, TRUE, TRUE, 5); - gtk_widget_show(vbox2); - - opt = tab_radio(_("Left"), OPT_DISP_CHAT_SIDE_TAB | 1, vbox2, opt); + vbox3 = gtk_vbox_new(TRUE, 5); + gtk_box_pack_start(GTK_BOX(hbox2), vbox3, TRUE, TRUE, 5); + gtk_widget_show(vbox3); + + opt = tab_radio(_("Left"), OPT_DISP_CHAT_SIDE_TAB | 1, vbox3, opt); gtk_signal_connect(GTK_OBJECT(button2), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); - opt = tab_radio(_("Right"), OPT_DISP_CHAT_SIDE_TAB | OPT_DISP_CHAT_BR_TAB | 1, vbox2, opt); + opt = tab_radio(_("Right"), OPT_DISP_CHAT_SIDE_TAB | OPT_DISP_CHAT_BR_TAB | 1, vbox3, opt); gtk_signal_connect(GTK_OBJECT(button2), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); gtk_widget_show(prefdialog); @@ -1112,11 +1166,6 @@ gtk_style_unref(style); } -static void set_font_size(GtkWidget *w, GtkWidget *spin) -{ - fontsize = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin)); -} - static void font_page() { GtkWidget *parent; @@ -1240,11 +1289,12 @@ adjust = gtk_adjustment_new(fontsize, 1, 7, 1, 1, 1); spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjust), 1, 0); gtk_widget_set_usize(spin, 50, -1); + gtk_object_set_user_data(GTK_OBJECT(spin), &fontsize); if (!(font_options & OPT_FONT_SIZE)) gtk_widget_set_sensitive(GTK_WIDGET(spin), FALSE); gtk_box_pack_start(GTK_BOX(hbox), spin, FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), spin); - gtk_signal_connect(GTK_OBJECT(adjust), "value-changed", GTK_SIGNAL_FUNC(set_font_size), ++ gtk_signal_connect(GTK_OBJECT(adjust), "value-changed", GTK_SIGNAL_FUNC(update_spin_value), GTK_WIDGET(spin)); gtk_widget_show(spin); @@ -1538,11 +1588,6 @@ do_away_message(NULL, gtk_object_get_user_data(GTK_OBJECT(i->data))); } -static void set_auto_away(GtkWidget *w, GtkWidget *spin) -{ - auto_away = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin)); -} - void set_default_away(GtkWidget *w, gpointer i) { int length = g_slist_length(away_messages); @@ -1659,11 +1704,12 @@ adjust = gtk_adjustment_new(auto_away, 1, 1440, 1, 10, 10); spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjust), 1, 0); gtk_widget_set_usize(spin, 50, -1); + gtk_object_set_user_data(GTK_OBJECT(spin), &auto_away); if (!(general_options & OPT_GEN_AUTO_AWAY)) gtk_widget_set_sensitive(GTK_WIDGET(spin), FALSE); gtk_box_pack_start(GTK_BOX(hbox), spin, FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), spin); - gtk_signal_connect(GTK_OBJECT(adjust), "value-changed", GTK_SIGNAL_FUNC(set_auto_away), + gtk_signal_connect(GTK_OBJECT(adjust), "value-changed", GTK_SIGNAL_FUNC(update_spin_value), GTK_WIDGET(spin)); gtk_widget_show(spin);