Mercurial > pidgin.yaz
comparison src/prefs.c @ 2313:bd9d403fb15b
[gaim-migrate @ 2323]
more room
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Thu, 20 Sep 2001 01:23:04 +0000 |
parents | 0dea5214d63f |
children | 64b4c69c1c5e |
comparison
equal
deleted
inserted
replaced
2312:766603034af8 | 2313:bd9d403fb15b |
---|---|
47 #include "proxy.h" | 47 #include "proxy.h" |
48 | 48 |
49 struct debug_window *dw = NULL; | 49 struct debug_window *dw = NULL; |
50 static GtkWidget *prefs = NULL; | 50 static GtkWidget *prefs = NULL; |
51 | 51 |
52 static GtkWidget *gaim_button(const char *, int *, int, GtkWidget *); | 52 static GtkWidget *gaim_button(const char *, guint *, int, GtkWidget *); |
53 static void prefs_build_general(); | 53 static void prefs_build_general(); |
54 static void prefs_build_buddy(); | 54 static void prefs_build_buddy(); |
55 static void prefs_build_convo(); | 55 static void prefs_build_convo(); |
56 static void prefs_build_sound(); | 56 static void prefs_build_sound(); |
57 static void prefs_build_away(); | 57 static void prefs_build_away(); |
58 static void prefs_build_deny(); | 58 static void prefs_build_deny(); |
59 static gint handle_delete(GtkWidget *, GdkEvent *, void *); | 59 static gint handle_delete(GtkWidget *, GdkEvent *, void *); |
60 static void delete_prefs(GtkWidget *, void *); | 60 static void delete_prefs(GtkWidget *, void *); |
61 void set_default_away(GtkWidget *, gpointer); | 61 void set_default_away(GtkWidget *, gpointer); |
62 void set_font_option(GtkWidget *w, int *option); | 62 static void set_font_option(GtkWidget *w, int option); |
63 | 63 |
64 static GtkWidget *sounddialog = NULL; | 64 static GtkWidget *sounddialog = NULL; |
65 static GtkWidget *prefdialog = NULL; | 65 static GtkWidget *prefdialog = NULL; |
66 static GtkWidget *debugbutton = NULL; | 66 static GtkWidget *debugbutton = NULL; |
67 static GtkWidget *tickerbutton = NULL; | 67 static GtkWidget *tickerbutton = NULL; |
213 | 213 |
214 mbox = gtk_vbox_new(TRUE, 5); | 214 mbox = gtk_vbox_new(TRUE, 5); |
215 gtk_container_add(GTK_CONTAINER(frame), mbox); | 215 gtk_container_add(GTK_CONTAINER(frame), mbox); |
216 gtk_widget_show(mbox); | 216 gtk_widget_show(mbox); |
217 | 217 |
218 gaim_button(_("Use borderless buttons"), &display_options, | 218 gaim_button(_("Use borderless buttons"), &misc_options, |
219 OPT_DISP_COOL_LOOK, mbox); | 219 OPT_MISC_COOL_LOOK, mbox); |
220 | 220 |
221 if (!tickerwindow && (display_options & OPT_DISP_SHOW_BUDDYTICKER)) | 221 if (!tickerwindow && (misc_options & OPT_MISC_BUDDY_TICKER)) |
222 display_options = display_options ^ OPT_DISP_SHOW_BUDDYTICKER; | 222 misc_options ^= OPT_MISC_BUDDY_TICKER; |
223 tickerbutton = gaim_button(_("Show Buddy Ticker"), &display_options, OPT_DISP_SHOW_BUDDYTICKER, mbox); | 223 tickerbutton = gaim_button(_("Show Buddy Ticker"), &misc_options, OPT_MISC_BUDDY_TICKER, mbox); |
224 gtk_signal_connect_object(GTK_OBJECT(tickerbutton), "clicked", GTK_SIGNAL_FUNC(BuddyTickerShow), 0); | |
225 gtk_signal_connect(GTK_OBJECT(tickerbutton), "destroy", GTK_SIGNAL_FUNC(desttkr), 0); | 224 gtk_signal_connect(GTK_OBJECT(tickerbutton), "destroy", GTK_SIGNAL_FUNC(desttkr), 0); |
226 | 225 |
227 if (!dw && (general_options & OPT_GEN_DEBUG)) | 226 if (!dw && (misc_options & OPT_MISC_DEBUG)) |
228 general_options = general_options ^ OPT_GEN_DEBUG; | 227 misc_options ^= OPT_MISC_DEBUG; |
229 debugbutton = gaim_button(_("Show Debug Window"), &general_options, OPT_GEN_DEBUG, mbox); | 228 debugbutton = gaim_button(_("Show Debug Window"), &misc_options, OPT_MISC_DEBUG, mbox); |
230 gtk_signal_connect_object(GTK_OBJECT(debugbutton), "clicked", GTK_SIGNAL_FUNC(show_debug), 0); | |
231 gtk_signal_connect(GTK_OBJECT(debugbutton), "destroy", GTK_SIGNAL_FUNC(destdeb), 0); | 229 gtk_signal_connect(GTK_OBJECT(debugbutton), "destroy", GTK_SIGNAL_FUNC(destdeb), 0); |
232 | 230 |
233 frame = gtk_frame_new(_("Report Idle Times")); | 231 frame = gtk_frame_new(_("Report Idle Times")); |
234 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 5); | 232 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 5); |
235 gtk_widget_show(frame); | 233 gtk_widget_show(frame); |
279 | 277 |
280 opt = browser_radio(_("KFM"), BROWSER_KFM, vbox, NULL); | 278 opt = browser_radio(_("KFM"), BROWSER_KFM, vbox, NULL); |
281 opt = browser_radio(_("Netscape"), BROWSER_NETSCAPE, vbox, opt); | 279 opt = browser_radio(_("Netscape"), BROWSER_NETSCAPE, vbox, opt); |
282 | 280 |
283 new_window = | 281 new_window = |
284 gaim_button(_("Pop up new window by default"), &general_options, OPT_GEN_BROWSER_POPUP, vbox); | 282 gaim_button(_("Pop up new window by default"), &misc_options, OPT_MISC_BROWSER_POPUP, vbox); |
285 | 283 |
286 vbox = gtk_vbox_new(FALSE, 5); | 284 vbox = gtk_vbox_new(FALSE, 5); |
287 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); | 285 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); |
288 gtk_widget_show(vbox); | 286 gtk_widget_show(vbox); |
289 | 287 |
543 | 541 |
544 vbox = gtk_vbox_new(FALSE, 5); | 542 vbox = gtk_vbox_new(FALSE, 5); |
545 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); | 543 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); |
546 gtk_widget_show(vbox); | 544 gtk_widget_show(vbox); |
547 | 545 |
548 button = gaim_button(_("Hide IM/Info/Chat buttons"), &display_options, OPT_DISP_NO_BUTTONS, vbox); | 546 button = gaim_button(_("Hide IM/Info/Chat buttons"), &blist_options, OPT_BLIST_NO_BUTTONS, vbox); |
549 #ifdef USE_APPLET | 547 #ifdef USE_APPLET |
550 gaim_button(_("Automatically show buddy list on sign on"), &general_options, | 548 gaim_button(_("Automatically show buddy list on sign on"), &blist_options, |
551 OPT_GEN_APP_BUDDY_SHOW, vbox); | 549 OPT_BLIST_APP_BUDDY_SHOW, vbox); |
552 #endif | 550 #endif |
553 gaim_button(_("Save Window Size/Position"), &general_options, OPT_GEN_SAVED_WINDOWS, vbox); | 551 gaim_button(_("Save Window Size/Position"), &blist_options, OPT_BLIST_SAVED_WINDOWS, vbox); |
554 | 552 |
555 vbox = gtk_vbox_new(FALSE, 5); | 553 vbox = gtk_vbox_new(FALSE, 5); |
556 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); | 554 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); |
557 gtk_widget_show(vbox); | 555 gtk_widget_show(vbox); |
558 | 556 |
559 button2 = gaim_button(_("Show pictures on buttons"), &display_options, OPT_DISP_SHOW_BUTTON_XPM, vbox); | 557 button2 = gaim_button(_("Show pictures on buttons"), &blist_options, OPT_BLIST_SHOW_BUTTON_XPM, vbox); |
560 if (display_options & OPT_DISP_NO_BUTTONS) | 558 if (blist_options & OPT_BLIST_NO_BUTTONS) |
561 gtk_widget_set_sensitive(button2, FALSE); | 559 gtk_widget_set_sensitive(button2, FALSE); |
562 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), button2); | 560 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), button2); |
563 #ifdef USE_APPLET | 561 #ifdef USE_APPLET |
564 gaim_button(_("Display Buddy List near applet"), &general_options, OPT_GEN_NEAR_APPLET, vbox); | 562 gaim_button(_("Display Buddy List near applet"), &blist_options, OPT_BLSIT_NEAR_APPLET, vbox); |
565 #endif | 563 #endif |
566 | 564 |
567 frame = gtk_frame_new(_("Group Displays")); | 565 frame = gtk_frame_new(_("Group Displays")); |
568 gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); | 566 gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); |
569 gtk_widget_show(frame); | 567 gtk_widget_show(frame); |
574 | 572 |
575 vbox = gtk_vbox_new(FALSE, 5); | 573 vbox = gtk_vbox_new(FALSE, 5); |
576 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); | 574 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); |
577 gtk_widget_show(vbox); | 575 gtk_widget_show(vbox); |
578 | 576 |
579 gaim_button(_("Hide groups with no online buddies"), &display_options, OPT_DISP_NO_MT_GRP, vbox); | 577 gaim_button(_("Hide groups with no online buddies"), &blist_options, OPT_BLIST_NO_MT_GRP, vbox); |
580 | 578 |
581 vbox = gtk_vbox_new(FALSE, 5); | 579 vbox = gtk_vbox_new(FALSE, 5); |
582 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); | 580 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); |
583 gtk_widget_show(vbox); | 581 gtk_widget_show(vbox); |
584 | 582 |
585 gaim_button(_("Show numbers in groups"), &display_options, OPT_DISP_SHOW_GRPNUM, vbox); | 583 gaim_button(_("Show numbers in groups"), &blist_options, OPT_BLIST_SHOW_GRPNUM, vbox); |
586 | 584 |
587 frame = gtk_frame_new(_("Buddy Displays")); | 585 frame = gtk_frame_new(_("Buddy Displays")); |
588 gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); | 586 gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); |
589 gtk_widget_show(frame); | 587 gtk_widget_show(frame); |
590 | 588 |
594 | 592 |
595 vbox = gtk_vbox_new(FALSE, 5); | 593 vbox = gtk_vbox_new(FALSE, 5); |
596 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); | 594 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); |
597 gtk_widget_show(vbox); | 595 gtk_widget_show(vbox); |
598 | 596 |
599 gaim_button(_("Show buddy type icons"), &display_options, OPT_DISP_SHOW_PIXMAPS, vbox); | 597 gaim_button(_("Show buddy type icons"), &blist_options, OPT_BLIST_SHOW_PIXMAPS, vbox); |
600 gaim_button(_("Show warning levels"), &display_options, OPT_DISP_SHOW_WARN, vbox); | 598 gaim_button(_("Show warning levels"), &blist_options, OPT_BLIST_SHOW_WARN, vbox); |
601 | 599 |
602 vbox = gtk_vbox_new(FALSE, 5); | 600 vbox = gtk_vbox_new(FALSE, 5); |
603 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); | 601 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); |
604 gtk_widget_show(vbox); | 602 gtk_widget_show(vbox); |
605 | 603 |
606 gaim_button(_("Show idle times"), &display_options, OPT_DISP_SHOW_IDLETIME, vbox); | 604 gaim_button(_("Show idle times"), &blist_options, OPT_BLIST_SHOW_IDLETIME, vbox); |
607 | 605 |
608 gtk_widget_show(prefdialog); | 606 gtk_widget_show(prefdialog); |
609 } | 607 } |
610 | 608 |
611 static void convo_page() | 609 static void convo_page() |
642 | 640 |
643 vbox = gtk_vbox_new(TRUE, 5); | 641 vbox = gtk_vbox_new(TRUE, 5); |
644 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); | 642 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); |
645 gtk_widget_show(vbox); | 643 gtk_widget_show(vbox); |
646 | 644 |
647 gaim_button(_("Enter sends message"), &general_options, OPT_GEN_ENTER_SENDS, vbox); | 645 gaim_button(_("Enter sends message"), &convo_options, OPT_CONVO_ENTER_SENDS, vbox); |
648 gaim_button(_("Control-Enter sends message"), &general_options, OPT_GEN_CTL_ENTER, vbox); | 646 gaim_button(_("Control-Enter sends message"), &convo_options, OPT_CONVO_CTL_ENTER, vbox); |
649 gaim_button(_("Escape closes window"), &general_options, OPT_GEN_ESC_CAN_CLOSE, vbox); | 647 gaim_button(_("Escape closes window"), &convo_options, OPT_CONVO_ESC_CAN_CLOSE, vbox); |
650 | 648 |
651 vbox = gtk_vbox_new(TRUE, 5); | 649 vbox = gtk_vbox_new(TRUE, 5); |
652 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); | 650 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); |
653 gtk_widget_show(vbox); | 651 gtk_widget_show(vbox); |
654 | 652 |
655 gaim_button(_("Control-{B/I/U/S} inserts HTML tags"), &general_options, OPT_GEN_CTL_CHARS, vbox); | 653 gaim_button(_("Control-{B/I/U/S} inserts HTML tags"), &convo_options, OPT_CONVO_CTL_CHARS, vbox); |
656 gaim_button(_("Control-(number) inserts smileys"), &general_options, OPT_GEN_CTL_SMILEYS, vbox); | 654 gaim_button(_("Control-(number) inserts smileys"), &convo_options, OPT_CONVO_CTL_SMILEYS, vbox); |
657 gaim_button(_("F2 toggles timestamp display"), &general_options, OPT_GEN_F2_TOGGLES, vbox); | 655 gaim_button(_("F2 toggles timestamp display"), &convo_options, OPT_CONVO_F2_TOGGLES, vbox); |
658 | 656 |
659 frame = gtk_frame_new(_("Display and General Options")); | 657 frame = gtk_frame_new(_("Display and General Options")); |
660 gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); | 658 gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); |
661 gtk_widget_show(frame); | 659 gtk_widget_show(frame); |
662 | 660 |
666 | 664 |
667 vbox = gtk_vbox_new(FALSE, 5); | 665 vbox = gtk_vbox_new(FALSE, 5); |
668 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); | 666 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); |
669 gtk_widget_show(vbox); | 667 gtk_widget_show(vbox); |
670 | 668 |
671 gaim_button(_("Show graphical smileys"), &display_options, OPT_DISP_SHOW_SMILEY, vbox); | 669 gaim_button(_("Show graphical smileys"), &convo_options, OPT_CONVO_SHOW_SMILEY, vbox); |
672 gaim_button(_("Show timestamp on messages"), &display_options, OPT_DISP_SHOW_TIME, vbox); | 670 gaim_button(_("Show timestamp on messages"), &convo_options, OPT_CONVO_SHOW_TIME, vbox); |
673 gaim_button(_("Show URLs as links"), &general_options, OPT_GEN_SEND_LINKS, vbox); | 671 gaim_button(_("Show URLs as links"), &convo_options, OPT_CONVO_SEND_LINKS, vbox); |
674 gaim_button(_("Highlight misspelled words"), &general_options, OPT_GEN_CHECK_SPELLING, vbox); | 672 gaim_button(_("Highlight misspelled words"), &convo_options, OPT_CONVO_CHECK_SPELLING, vbox); |
675 gaim_button(_("Sending messages removes away status"), &general_options, OPT_GEN_BACK_ON_IM, vbox); | 673 gaim_button(_("Sending messages removes away status"), &away_options, OPT_AWAY_BACK_ON_IM, vbox); |
676 gaim_button(_("Queue new messages when away"), &general_options, OPT_GEN_QUEUE_WHEN_AWAY, vbox); | 674 gaim_button(_("Queue new messages when away"), &away_options, OPT_AWAY_QUEUE, vbox); |
677 | 675 |
678 vbox = gtk_vbox_new(FALSE, 5); | 676 vbox = gtk_vbox_new(FALSE, 5); |
679 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); | 677 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 5); |
680 gtk_widget_show(vbox); | 678 gtk_widget_show(vbox); |
681 | 679 |
682 gaim_button(_("Ignore colors"), &display_options, OPT_DISP_IGNORE_COLOUR, vbox); | 680 gaim_button(_("Ignore colors"), &convo_options, OPT_CONVO_IGNORE_COLOUR, vbox); |
683 gaim_button(_("Ignore font faces"), &display_options, OPT_DISP_IGNORE_FONTS, vbox); | 681 gaim_button(_("Ignore font faces"), &convo_options, OPT_CONVO_IGNORE_FONTS, vbox); |
684 gaim_button(_("Ignore font sizes"), &display_options, OPT_DISP_IGNORE_SIZES, vbox); | 682 gaim_button(_("Ignore font sizes"), &convo_options, OPT_CONVO_IGNORE_SIZES, vbox); |
685 gaim_button(_("Ignore TiK Automated Messages"), &general_options, OPT_GEN_TIK_HACK, vbox); | 683 gaim_button(_("Ignore TiK Automated Messages"), &away_options, OPT_AWAY_TIK_HACK, vbox); |
686 gaim_button(_("Ignore new conversations when away"), &general_options, OPT_GEN_DISCARD_WHEN_AWAY, vbox); | 684 gaim_button(_("Ignore new conversations when away"), &away_options, OPT_AWAY_DISCARD, vbox); |
687 | 685 |
688 gtk_widget_show(prefdialog); | 686 gtk_widget_show(prefdialog); |
689 } | 687 } |
690 | 688 |
691 static void set_buttons_opt(GtkWidget *w, int data) | 689 static void set_buttons_opt(GtkWidget *w, int data) |
692 { | 690 { |
693 int mask; | 691 int mask; |
694 if (data & 0x1) /* set the first bit if we're affecting chat buttons */ | 692 if (data & 0x1) { /* set the first bit if we're affecting chat buttons */ |
695 mask = (OPT_DISP_CHAT_BUTTON_TEXT | OPT_DISP_CHAT_BUTTON_XPM); | 693 mask = (OPT_CHAT_BUTTON_TEXT | OPT_CHAT_BUTTON_XPM); |
696 else | 694 chat_options &= ~(mask); |
697 mask = (OPT_DISP_CONV_BUTTON_TEXT | OPT_DISP_CONV_BUTTON_XPM); | 695 chat_options |= (data & mask); |
698 display_options &= ~(mask); | |
699 display_options |= (data & mask); | |
700 | |
701 if (data & 0x1) | |
702 update_chat_button_pix(); | 696 update_chat_button_pix(); |
703 else | 697 } else { |
698 mask = (OPT_IM_BUTTON_TEXT | OPT_IM_BUTTON_XPM); | |
699 im_options &= ~(mask); | |
700 im_options |= (data & mask); | |
704 update_im_button_pix(); | 701 update_im_button_pix(); |
702 } | |
705 | 703 |
706 save_prefs(); | 704 save_prefs(); |
707 } | 705 } |
708 | 706 |
709 /* i like everclear */ | 707 /* i like everclear */ |
719 label); | 717 label); |
720 gtk_box_pack_start(GTK_BOX(box), opt, FALSE, FALSE, 0); | 718 gtk_box_pack_start(GTK_BOX(box), opt, FALSE, FALSE, 0); |
721 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(set_buttons_opt), (void *)which); | 719 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(set_buttons_opt), (void *)which); |
722 gtk_widget_show(opt); | 720 gtk_widget_show(opt); |
723 if (which & 1) { | 721 if (which & 1) { |
724 if (which == (OPT_DISP_CHAT_BUTTON_TEXT | 1)) { | 722 if (which == (OPT_CHAT_BUTTON_TEXT | 1)) { |
725 if ( (display_options & OPT_DISP_CHAT_BUTTON_TEXT) && | 723 if ( (chat_options & OPT_CHAT_BUTTON_TEXT) && |
726 !(display_options & OPT_DISP_CHAT_BUTTON_XPM)) | 724 !(chat_options & OPT_CHAT_BUTTON_XPM)) |
727 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | 725 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); |
728 } else if (which == (OPT_DISP_CHAT_BUTTON_XPM | 1)) { | 726 } else if (which == (OPT_CHAT_BUTTON_XPM | 1)) { |
729 if (!(display_options & OPT_DISP_CHAT_BUTTON_TEXT) && | 727 if (!(chat_options & OPT_CHAT_BUTTON_TEXT) && |
730 (display_options & OPT_DISP_CHAT_BUTTON_XPM)) | 728 (chat_options & OPT_CHAT_BUTTON_XPM)) |
731 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | 729 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); |
732 } else { | 730 } else { |
733 if (((display_options & OPT_DISP_CHAT_BUTTON_TEXT) && | 731 if (((chat_options & OPT_CHAT_BUTTON_TEXT) && |
734 (display_options & OPT_DISP_CHAT_BUTTON_XPM)) || | 732 (chat_options & OPT_CHAT_BUTTON_XPM)) || |
735 (!(display_options & OPT_DISP_CHAT_BUTTON_TEXT) && | 733 (!(chat_options & OPT_CHAT_BUTTON_TEXT) && |
736 !(display_options & OPT_DISP_CHAT_BUTTON_XPM))) | 734 !(chat_options & OPT_CHAT_BUTTON_XPM))) |
737 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | 735 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); |
738 } | 736 } |
739 } else { | 737 } else { |
740 if (which == OPT_DISP_CONV_BUTTON_TEXT) { | 738 if (which == OPT_IM_BUTTON_TEXT) { |
741 if ( (display_options & OPT_DISP_CONV_BUTTON_TEXT) && | 739 if ( (im_options & OPT_IM_BUTTON_TEXT) && |
742 !(display_options & OPT_DISP_CONV_BUTTON_XPM)) | 740 !(im_options & OPT_IM_BUTTON_XPM)) |
743 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | 741 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); |
744 } else if (which == OPT_DISP_CONV_BUTTON_XPM) { | 742 } else if (which == OPT_IM_BUTTON_XPM) { |
745 if (!(display_options & OPT_DISP_CONV_BUTTON_TEXT) && | 743 if (!(im_options & OPT_IM_BUTTON_TEXT) && |
746 (display_options & OPT_DISP_CONV_BUTTON_XPM)) | 744 (im_options & OPT_IM_BUTTON_XPM)) |
747 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | 745 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); |
748 } else { | 746 } else { |
749 if (((display_options & OPT_DISP_CONV_BUTTON_TEXT) && | 747 if (((im_options & OPT_IM_BUTTON_TEXT) && |
750 (display_options & OPT_DISP_CONV_BUTTON_XPM)) || | 748 (im_options & OPT_IM_BUTTON_XPM)) || |
751 (!(display_options & OPT_DISP_CONV_BUTTON_TEXT) && | 749 (!(im_options & OPT_IM_BUTTON_TEXT) && |
752 !(display_options & OPT_DISP_CONV_BUTTON_XPM))) | 750 !(im_options & OPT_IM_BUTTON_XPM))) |
753 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | 751 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); |
754 } | 752 } |
755 } | 753 } |
756 | 754 |
757 return opt; | 755 return opt; |
758 } | 756 } |
759 | 757 |
760 static void set_tab_opt(GtkWidget *w, int data) | 758 static void set_tab_opt(GtkWidget *w, int data) |
761 { | 759 { |
762 int mask; | 760 int mask; |
763 if (data & 0x1) /* set the first bit if we're affecting chat buttons */ | 761 if (data & 0x1) { /* set the first bit if we're affecting chat buttons */ |
764 mask = (OPT_DISP_CHAT_SIDE_TAB | OPT_DISP_CHAT_BR_TAB); | 762 mask = (OPT_CHAT_SIDE_TAB | OPT_CHAT_BR_TAB); |
765 else | 763 chat_options &= ~(mask); |
766 mask = (OPT_DISP_CONV_SIDE_TAB | OPT_DISP_CONV_BR_TAB); | 764 chat_options |= (data & mask); |
767 display_options &= ~(mask); | |
768 display_options |= (data & mask); | |
769 | |
770 if (data & 0x1) | |
771 update_chat_tabs(); | 765 update_chat_tabs(); |
772 else | 766 } else { |
767 mask = (OPT_IM_SIDE_TAB | OPT_IM_BR_TAB); | |
768 im_options &= ~(mask); | |
769 im_options |= (data & mask); | |
773 update_im_tabs(); | 770 update_im_tabs(); |
771 } | |
774 | 772 |
775 save_prefs(); | 773 save_prefs(); |
776 } | 774 } |
777 | 775 |
778 static GtkWidget *tab_radio(char *label, int which, GtkWidget *box, GtkWidget *set) | 776 static GtkWidget *tab_radio(char *label, int which, GtkWidget *box, GtkWidget *set) |
787 label); | 785 label); |
788 gtk_box_pack_start(GTK_BOX(box), opt, FALSE, FALSE, 0); | 786 gtk_box_pack_start(GTK_BOX(box), opt, FALSE, FALSE, 0); |
789 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(set_tab_opt), (void *)which); | 787 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(set_tab_opt), (void *)which); |
790 gtk_widget_show(opt); | 788 gtk_widget_show(opt); |
791 if (which & 1) { | 789 if (which & 1) { |
792 if ((display_options & (OPT_DISP_CHAT_SIDE_TAB | OPT_DISP_CHAT_BR_TAB)) == (which ^ 1)) | 790 if ((chat_options & (OPT_CHAT_SIDE_TAB | OPT_CHAT_BR_TAB)) == (which ^ 1)) |
793 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | 791 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); |
794 if (!(display_options & OPT_DISP_ONE_CHAT_WINDOW)) | 792 if (!(chat_options & OPT_CHAT_ONE_WINDOW)) |
795 gtk_widget_set_sensitive(opt, FALSE); | 793 gtk_widget_set_sensitive(opt, FALSE); |
796 } else { | 794 } else { |
797 if ((display_options & (OPT_DISP_CONV_SIDE_TAB | OPT_DISP_CONV_BR_TAB)) == which) | 795 if ((im_options & (OPT_IM_SIDE_TAB | OPT_IM_BR_TAB)) == which) |
798 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); | 796 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); |
799 if (!(display_options & OPT_DISP_ONE_WINDOW)) | 797 if (!(im_options & OPT_IM_ONE_WINDOW)) |
800 gtk_widget_set_sensitive(opt, FALSE); | 798 gtk_widget_set_sensitive(opt, FALSE); |
801 } | 799 } |
802 | 800 |
803 return opt; | 801 return opt; |
804 } | 802 } |
882 | 880 |
883 label = gtk_label_new(_("Show buttons as: ")); | 881 label = gtk_label_new(_("Show buttons as: ")); |
884 gtk_box_pack_start(GTK_BOX(vbox2), label, FALSE, FALSE, 5); | 882 gtk_box_pack_start(GTK_BOX(vbox2), label, FALSE, FALSE, 5); |
885 gtk_widget_show(label); | 883 gtk_widget_show(label); |
886 | 884 |
887 opt = am_radio(_("Pictures And Text"), OPT_DISP_CONV_BUTTON_TEXT | OPT_DISP_CONV_BUTTON_XPM, vbox2, NULL); | 885 opt = am_radio(_("Pictures And Text"), OPT_IM_BUTTON_TEXT | OPT_IM_BUTTON_XPM, vbox2, NULL); |
888 opt = am_radio(_("Pictures"), OPT_DISP_CONV_BUTTON_XPM, vbox2, opt); | 886 opt = am_radio(_("Pictures"), OPT_IM_BUTTON_XPM, vbox2, opt); |
889 opt = am_radio(_("Text"), OPT_DISP_CONV_BUTTON_TEXT, vbox2, opt); | 887 opt = am_radio(_("Text"), OPT_IM_BUTTON_TEXT, vbox2, opt); |
890 | 888 |
891 sep = gtk_vseparator_new(); | 889 sep = gtk_vseparator_new(); |
892 gtk_box_pack_start(GTK_BOX(hbox), sep, FALSE, FALSE, 5); | 890 gtk_box_pack_start(GTK_BOX(hbox), sep, FALSE, FALSE, 5); |
893 gtk_widget_show(sep); | 891 gtk_widget_show(sep); |
894 | 892 |
895 vbox2 = gtk_vbox_new(TRUE, 5); | 893 vbox2 = gtk_vbox_new(TRUE, 5); |
896 gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 5); | 894 gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 5); |
897 gtk_widget_show(vbox2); | 895 gtk_widget_show(vbox2); |
898 | 896 |
899 button = gaim_button(_("Show all conversations in one tabbed window"), &display_options, OPT_DISP_ONE_WINDOW, vbox2); | 897 button = gaim_button(_("Show all conversations in one tabbed window"), &im_options, OPT_IM_ONE_WINDOW, vbox2); |
900 gaim_button(_("Raise windows on events"), &general_options, OPT_GEN_POPUP_WINDOWS, vbox2); | 898 gaim_button(_("Raise windows on events"), &im_options, OPT_IM_POPUP, vbox2); |
901 gaim_button(_("Show logins in window"), &display_options, OPT_DISP_SHOW_LOGON, vbox2); | 899 gaim_button(_("Show logins in window"), &im_options, OPT_IM_LOGON, vbox2); |
902 | 900 |
903 frame = gtk_frame_new(_("Window Sizes")); | 901 frame = gtk_frame_new(_("Window Sizes")); |
904 gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); | 902 gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); |
905 gtk_widget_show(frame); | 903 gtk_widget_show(frame); |
906 | 904 |
932 gtk_box_pack_start(GTK_BOX(hbox2), vbox3, TRUE, TRUE, 5); | 930 gtk_box_pack_start(GTK_BOX(hbox2), vbox3, TRUE, TRUE, 5); |
933 gtk_widget_show(vbox3); | 931 gtk_widget_show(vbox3); |
934 | 932 |
935 opt = tab_radio(_("Top"), 0, vbox3, NULL); | 933 opt = tab_radio(_("Top"), 0, vbox3, NULL); |
936 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); | 934 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); |
937 opt = tab_radio(_("Bottom"), OPT_DISP_CONV_BR_TAB, vbox3, opt); | 935 opt = tab_radio(_("Bottom"), OPT_IM_BR_TAB, vbox3, opt); |
938 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); | 936 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); |
939 | 937 |
940 vbox3 = gtk_vbox_new(TRUE, 5); | 938 vbox3 = gtk_vbox_new(TRUE, 5); |
941 gtk_box_pack_start(GTK_BOX(hbox2), vbox3, TRUE, TRUE, 5); | 939 gtk_box_pack_start(GTK_BOX(hbox2), vbox3, TRUE, TRUE, 5); |
942 gtk_widget_show(vbox3); | 940 gtk_widget_show(vbox3); |
943 | 941 |
944 opt = tab_radio(_("Left"), OPT_DISP_CONV_SIDE_TAB, vbox3, opt); | 942 opt = tab_radio(_("Left"), OPT_IM_SIDE_TAB, vbox3, opt); |
945 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); | 943 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); |
946 opt = tab_radio(_("Right"), OPT_DISP_CONV_SIDE_TAB | OPT_DISP_CONV_BR_TAB, vbox3, opt); | 944 opt = tab_radio(_("Right"), OPT_IM_SIDE_TAB | OPT_IM_BR_TAB, vbox3, opt); |
947 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); | 945 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); |
948 | 946 |
949 gtk_widget_show(prefdialog); | 947 gtk_widget_show(prefdialog); |
950 } | 948 } |
951 | 949 |
997 | 995 |
998 label = gtk_label_new(_("Show buttons as: ")); | 996 label = gtk_label_new(_("Show buttons as: ")); |
999 gtk_box_pack_start(GTK_BOX(vbox2), label, FALSE, FALSE, 5); | 997 gtk_box_pack_start(GTK_BOX(vbox2), label, FALSE, FALSE, 5); |
1000 gtk_widget_show(label); | 998 gtk_widget_show(label); |
1001 | 999 |
1002 opt = am_radio(_("Pictures And Text"), OPT_DISP_CHAT_BUTTON_TEXT | OPT_DISP_CHAT_BUTTON_XPM | 1, vbox2, NULL); | 1000 opt = am_radio(_("Pictures And Text"), OPT_CHAT_BUTTON_TEXT | OPT_CHAT_BUTTON_XPM | 1, vbox2, NULL); |
1003 opt = am_radio(_("Pictures"), OPT_DISP_CHAT_BUTTON_XPM | 1, vbox2, opt); | 1001 opt = am_radio(_("Pictures"), OPT_CHAT_BUTTON_XPM | 1, vbox2, opt); |
1004 opt = am_radio(_("Text"), OPT_DISP_CHAT_BUTTON_TEXT | 1, vbox2, opt); | 1002 opt = am_radio(_("Text"), OPT_CHAT_BUTTON_TEXT | 1, vbox2, opt); |
1005 | 1003 |
1006 sep = gtk_vseparator_new(); | 1004 sep = gtk_vseparator_new(); |
1007 gtk_box_pack_start(GTK_BOX(hbox), sep, FALSE, FALSE, 5); | 1005 gtk_box_pack_start(GTK_BOX(hbox), sep, FALSE, FALSE, 5); |
1008 gtk_widget_show(sep); | 1006 gtk_widget_show(sep); |
1009 | 1007 |
1010 vbox2 = gtk_vbox_new(TRUE, 5); | 1008 vbox2 = gtk_vbox_new(TRUE, 5); |
1011 gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 5); | 1009 gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 5); |
1012 gtk_widget_show(vbox2); | 1010 gtk_widget_show(vbox2); |
1013 | 1011 |
1014 button = gaim_button(_("Show all chats in one tabbed window"), &display_options, OPT_DISP_ONE_CHAT_WINDOW, vbox2); | 1012 button = gaim_button(_("Show all chats in one tabbed window"), &chat_options, OPT_CHAT_ONE_WINDOW, vbox2); |
1015 gaim_button(_("Raise windows on events"), &general_options, OPT_GEN_POPUP_CHAT, vbox2); | 1013 gaim_button(_("Raise windows on events"), &chat_options, OPT_CHAT_POPUP, vbox2); |
1016 gaim_button(_("Show people joining/leaving in window"), &display_options, OPT_DISP_CHAT_LOGON, vbox2); | 1014 gaim_button(_("Show people joining/leaving in window"), &chat_options, OPT_CHAT_LOGON, vbox2); |
1017 | 1015 |
1018 frame = gtk_frame_new(_("Window Sizes")); | 1016 frame = gtk_frame_new(_("Window Sizes")); |
1019 gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); | 1017 gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); |
1020 gtk_widget_show(frame); | 1018 gtk_widget_show(frame); |
1021 | 1019 |
1047 gtk_box_pack_start(GTK_BOX(hbox2), vbox3, TRUE, TRUE, 5); | 1045 gtk_box_pack_start(GTK_BOX(hbox2), vbox3, TRUE, TRUE, 5); |
1048 gtk_widget_show(vbox3); | 1046 gtk_widget_show(vbox3); |
1049 | 1047 |
1050 opt = tab_radio(_("Top"), 1, vbox3, NULL); | 1048 opt = tab_radio(_("Top"), 1, vbox3, NULL); |
1051 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); | 1049 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); |
1052 opt = tab_radio(_("Bottom"), OPT_DISP_CHAT_BR_TAB | 1, vbox3, opt); | 1050 opt = tab_radio(_("Bottom"), OPT_CHAT_BR_TAB | 1, vbox3, opt); |
1053 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); | 1051 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); |
1054 | 1052 |
1055 vbox3 = gtk_vbox_new(TRUE, 5); | 1053 vbox3 = gtk_vbox_new(TRUE, 5); |
1056 gtk_box_pack_start(GTK_BOX(hbox2), vbox3, TRUE, TRUE, 5); | 1054 gtk_box_pack_start(GTK_BOX(hbox2), vbox3, TRUE, TRUE, 5); |
1057 gtk_widget_show(vbox3); | 1055 gtk_widget_show(vbox3); |
1058 | 1056 |
1059 opt = tab_radio(_("Left"), OPT_DISP_CHAT_SIDE_TAB | 1, vbox3, opt); | 1057 opt = tab_radio(_("Left"), OPT_CHAT_SIDE_TAB | 1, vbox3, opt); |
1060 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); | 1058 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); |
1061 opt = tab_radio(_("Right"), OPT_DISP_CHAT_SIDE_TAB | OPT_DISP_CHAT_BR_TAB | 1, vbox3, opt); | 1059 opt = tab_radio(_("Right"), OPT_CHAT_SIDE_TAB | OPT_CHAT_BR_TAB | 1, vbox3, opt); |
1062 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); | 1060 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), opt); |
1063 | 1061 |
1064 gtk_widget_show(prefdialog); | 1062 gtk_widget_show(prefdialog); |
1065 } | 1063 } |
1066 | 1064 |
1675 | 1673 |
1676 vbox2 = gtk_vbox_new(FALSE, 5); | 1674 vbox2 = gtk_vbox_new(FALSE, 5); |
1677 gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 5); | 1675 gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 5); |
1678 gtk_widget_show(vbox2); | 1676 gtk_widget_show(vbox2); |
1679 | 1677 |
1680 gaim_button(_("Ignore new conversations when away"), &general_options, OPT_GEN_DISCARD_WHEN_AWAY, vbox2); | 1678 gaim_button(_("Ignore new conversations when away"), &away_options, OPT_AWAY_DISCARD, vbox2); |
1681 gaim_button(_("Sounds while away"), &sound_options, OPT_SOUND_WHEN_AWAY, vbox2); | 1679 gaim_button(_("Sounds while away"), &sound_options, OPT_SOUND_WHEN_AWAY, vbox2); |
1682 gaim_button(_("Sending messages removes away status"), &general_options, OPT_GEN_BACK_ON_IM, vbox2); | 1680 gaim_button(_("Sending messages removes away status"), &away_options, OPT_AWAY_BACK_ON_IM, vbox2); |
1683 | 1681 |
1684 vbox2 = gtk_vbox_new(FALSE, 5); | 1682 vbox2 = gtk_vbox_new(FALSE, 5); |
1685 gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 5); | 1683 gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 5); |
1686 gtk_widget_show(vbox2); | 1684 gtk_widget_show(vbox2); |
1687 | 1685 |
1688 gaim_button(_("Don't send auto-response"), &general_options, OPT_GEN_NO_AUTO_RESP, vbox2); | 1686 gaim_button(_("Don't send auto-response"), &away_options, OPT_AWAY_NO_AUTO_RESP, vbox2); |
1689 gaim_button(_("Queue new messages when away"), &general_options, OPT_GEN_QUEUE_WHEN_AWAY, vbox2); | 1687 gaim_button(_("Queue new messages when away"), &away_options, OPT_AWAY_QUEUE, vbox2); |
1690 | 1688 |
1691 sep = gtk_hseparator_new(); | 1689 sep = gtk_hseparator_new(); |
1692 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); | 1690 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); |
1693 gtk_widget_show(sep); | 1691 gtk_widget_show(sep); |
1694 | 1692 |
1695 hbox = gtk_hbox_new(FALSE, 5); | 1693 hbox = gtk_hbox_new(FALSE, 5); |
1696 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 1694 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
1697 gtk_widget_show(hbox); | 1695 gtk_widget_show(hbox); |
1698 | 1696 |
1699 button = gaim_button(_("Auto Away after"), &general_options, OPT_GEN_AUTO_AWAY, hbox); | 1697 button = gaim_button(_("Auto Away after"), &away_options, OPT_AWAY_AUTO, hbox); |
1700 | 1698 |
1701 adjust = gtk_adjustment_new(auto_away, 1, 1440, 1, 10, 10); | 1699 adjust = gtk_adjustment_new(auto_away, 1, 1440, 1, 10, 10); |
1702 spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjust), 1, 0); | 1700 spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjust), 1, 0); |
1703 gtk_widget_set_usize(spin, 50, -1); | 1701 gtk_widget_set_usize(spin, 50, -1); |
1704 gtk_object_set_user_data(GTK_OBJECT(spin), &auto_away); | 1702 gtk_object_set_user_data(GTK_OBJECT(spin), &auto_away); |
1705 if (!(general_options & OPT_GEN_AUTO_AWAY)) | 1703 if (!(away_options & OPT_AWAY_AUTO)) |
1706 gtk_widget_set_sensitive(GTK_WIDGET(spin), FALSE); | 1704 gtk_widget_set_sensitive(GTK_WIDGET(spin), FALSE); |
1707 gtk_box_pack_start(GTK_BOX(hbox), spin, FALSE, FALSE, 0); | 1705 gtk_box_pack_start(GTK_BOX(hbox), spin, FALSE, FALSE, 0); |
1708 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), spin); | 1706 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), spin); |
1709 gtk_signal_connect(GTK_OBJECT(adjust), "value-changed", GTK_SIGNAL_FUNC(update_spin_value), | 1707 gtk_signal_connect(GTK_OBJECT(adjust), "value-changed", GTK_SIGNAL_FUNC(update_spin_value), |
1710 GTK_WIDGET(spin)); | 1708 GTK_WIDGET(spin)); |
1715 gtk_widget_show(label); | 1713 gtk_widget_show(label); |
1716 | 1714 |
1717 prefs_away_menu = gtk_option_menu_new(); | 1715 prefs_away_menu = gtk_option_menu_new(); |
1718 gtk_box_pack_start(GTK_BOX(hbox), prefs_away_menu, FALSE, FALSE, 0); | 1716 gtk_box_pack_start(GTK_BOX(hbox), prefs_away_menu, FALSE, FALSE, 0); |
1719 default_away_menu_init(prefs_away_menu); | 1717 default_away_menu_init(prefs_away_menu); |
1720 if (!(general_options & OPT_GEN_AUTO_AWAY)) | 1718 if (!(away_options & OPT_AWAY_AUTO)) |
1721 gtk_widget_set_sensitive(GTK_WIDGET(prefs_away_menu), FALSE); | 1719 gtk_widget_set_sensitive(GTK_WIDGET(prefs_away_menu), FALSE); |
1722 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), | 1720 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), |
1723 prefs_away_menu); | 1721 prefs_away_menu); |
1724 gtk_widget_show(prefs_away_menu); | 1722 gtk_widget_show(prefs_away_menu); |
1725 | 1723 |
2283 | 2281 |
2284 static gint debug_delete(GtkWidget *w, GdkEvent *event, void *dummy) | 2282 static gint debug_delete(GtkWidget *w, GdkEvent *event, void *dummy) |
2285 { | 2283 { |
2286 if (debugbutton) | 2284 if (debugbutton) |
2287 gtk_button_clicked(GTK_BUTTON(debugbutton)); | 2285 gtk_button_clicked(GTK_BUTTON(debugbutton)); |
2288 if (general_options & OPT_GEN_DEBUG) { | 2286 if (misc_options & OPT_MISC_DEBUG) { |
2289 general_options = general_options ^ (int)OPT_GEN_DEBUG; | 2287 misc_options ^= OPT_MISC_DEBUG; |
2290 save_prefs(); | 2288 save_prefs(); |
2291 } | 2289 } |
2292 g_free(dw); | 2290 g_free(dw); |
2293 dw = NULL; | 2291 dw = NULL; |
2294 return FALSE; | 2292 return FALSE; |
2323 gtk_widget_show(scroll); | 2321 gtk_widget_show(scroll); |
2324 | 2322 |
2325 gtk_widget_show(dw->window); | 2323 gtk_widget_show(dw->window); |
2326 } | 2324 } |
2327 | 2325 |
2328 void show_debug(GtkObject * obj) | 2326 void show_debug() |
2329 { | 2327 { |
2330 if ((general_options & OPT_GEN_DEBUG)) { | 2328 if ((misc_options & OPT_MISC_DEBUG)) { |
2331 if (!dw || !dw->window) | 2329 if (!dw || !dw->window) |
2332 build_debug(); | 2330 build_debug(); |
2333 gtk_widget_show(dw->window); | 2331 gtk_widget_show(dw->window); |
2334 } else { | 2332 } else { |
2335 if (!dw) | 2333 if (!dw) |
2346 | 2344 |
2347 va_start(ap, fmt); | 2345 va_start(ap, fmt); |
2348 s = g_strdup_vprintf(fmt, ap); | 2346 s = g_strdup_vprintf(fmt, ap); |
2349 va_end(ap); | 2347 va_end(ap); |
2350 | 2348 |
2351 if (general_options & OPT_GEN_DEBUG && dw) { | 2349 if (misc_options & OPT_MISC_DEBUG && dw) { |
2352 GtkAdjustment *adj = GTK_TEXT(dw->entry)->vadj; | 2350 GtkAdjustment *adj = GTK_TEXT(dw->entry)->vadj; |
2353 gboolean scroll = (adj->value == adj->upper - adj->lower - adj->page_size); | 2351 gboolean scroll = (adj->value == adj->upper - adj->lower - adj->page_size); |
2354 | 2352 |
2355 gtk_text_freeze(GTK_TEXT(dw->entry)); | 2353 gtk_text_freeze(GTK_TEXT(dw->entry)); |
2356 gtk_text_insert(GTK_TEXT(dw->entry), NULL, NULL, NULL, s, -1); | 2354 gtk_text_insert(GTK_TEXT(dw->entry), NULL, NULL, NULL, s, -1); |
2396 void set_option(GtkWidget *w, int *option) | 2394 void set_option(GtkWidget *w, int *option) |
2397 { | 2395 { |
2398 *option = !(*option); | 2396 *option = !(*option); |
2399 } | 2397 } |
2400 | 2398 |
2401 void set_general_option(GtkWidget *w, int *option) | 2399 static void set_misc_option(GtkWidget *w, int option) |
2402 { | 2400 { |
2403 general_options = general_options ^ (int)option; | 2401 misc_options ^= option; |
2404 | 2402 |
2405 if ((int)option == OPT_GEN_CHECK_SPELLING) | 2403 if (option == OPT_MISC_DEBUG) |
2404 show_debug(); | |
2405 | |
2406 if (option == OPT_MISC_BUDDY_TICKER) | |
2407 BuddyTickerShow(); | |
2408 | |
2409 save_prefs(); | |
2410 } | |
2411 | |
2412 static void set_logging_option(GtkWidget *w, int option) | |
2413 { | |
2414 logging_options ^= option; | |
2415 | |
2416 if (option == OPT_LOG_ALL) | |
2417 update_log_convs(); | |
2418 | |
2419 save_prefs(); | |
2420 } | |
2421 | |
2422 static void set_blist_option(GtkWidget *w, int option) | |
2423 { | |
2424 blist_options ^= option; | |
2425 | |
2426 save_prefs(); | |
2427 | |
2428 if (!blist) | |
2429 return; | |
2430 | |
2431 if (option == OPT_BLIST_NO_BUTTONS) { | |
2432 build_imchat_box(!(blist_options & OPT_BLIST_NO_BUTTONS)); | |
2433 update_button_pix(); | |
2434 } | |
2435 | |
2436 if (option == OPT_BLIST_SHOW_GRPNUM) | |
2437 update_num_groups(); | |
2438 | |
2439 if (option == OPT_BLIST_NO_MT_GRP) | |
2440 toggle_show_empty_groups(); | |
2441 | |
2442 if (option == OPT_BLIST_SHOW_BUTTON_XPM) | |
2443 update_button_pix(); | |
2444 | |
2445 if (option == OPT_BLIST_SHOW_PIXMAPS) | |
2446 toggle_buddy_pixmaps(); | |
2447 } | |
2448 | |
2449 static void set_convo_option(GtkWidget *w, int option) | |
2450 { | |
2451 convo_options ^= option; | |
2452 | |
2453 if (option == OPT_CONVO_SHOW_SMILEY) | |
2454 toggle_smileys(); | |
2455 | |
2456 if (option == OPT_CONVO_SHOW_TIME) | |
2457 toggle_timestamps(); | |
2458 | |
2459 if (option == OPT_CONVO_CHECK_SPELLING) | |
2406 toggle_spellchk(); | 2460 toggle_spellchk(); |
2407 | 2461 |
2408 if ((int)option == OPT_GEN_QUEUE_WHEN_AWAY) | 2462 save_prefs(); |
2463 } | |
2464 | |
2465 static void set_im_option(GtkWidget *w, int option) | |
2466 { | |
2467 im_options ^= option; | |
2468 | |
2469 if (option == OPT_IM_ONE_WINDOW) | |
2470 tabize(); | |
2471 | |
2472 save_prefs(); | |
2473 } | |
2474 | |
2475 static void set_chat_option(GtkWidget *w, int option) | |
2476 { | |
2477 chat_options ^= option; | |
2478 | |
2479 if (option == OPT_CHAT_ONE_WINDOW) | |
2480 chat_tabize(); | |
2481 | |
2482 save_prefs(); | |
2483 } | |
2484 | |
2485 void set_sound_option(GtkWidget *w, int option) | |
2486 { | |
2487 sound_options ^= option; | |
2488 | |
2489 save_prefs(); | |
2490 } | |
2491 | |
2492 static void set_font_option(GtkWidget *w, int option) | |
2493 { | |
2494 font_options ^= option; | |
2495 | |
2496 update_font_buttons(); | |
2497 | |
2498 save_prefs(); | |
2499 } | |
2500 | |
2501 static void set_away_option(GtkWidget *w, int option) | |
2502 { | |
2503 away_options ^= option; | |
2504 | |
2505 if (option == OPT_AWAY_QUEUE) | |
2409 toggle_away_queue(); | 2506 toggle_away_queue(); |
2410 | 2507 |
2411 save_prefs(); | 2508 save_prefs(); |
2412 } | 2509 } |
2413 | 2510 |
2414 void set_display_option(GtkWidget *w, int *option) | 2511 GtkWidget *gaim_button(const char *text, guint *options, int option, GtkWidget *page) |
2415 { | |
2416 display_options = display_options ^ (int)option; | |
2417 | |
2418 if (blist && ((int)option == OPT_DISP_NO_BUTTONS)) { | |
2419 build_imchat_box(!(display_options & OPT_DISP_NO_BUTTONS)); | |
2420 update_button_pix(); | |
2421 } | |
2422 | |
2423 if (blist && ((int)option == OPT_DISP_SHOW_GRPNUM)) | |
2424 update_num_groups(); | |
2425 | |
2426 if (blist && ((int)option == OPT_DISP_NO_MT_GRP)) | |
2427 toggle_show_empty_groups(); | |
2428 | |
2429 if (blist && ((int)option == OPT_DISP_SHOW_BUTTON_XPM)) | |
2430 update_button_pix(); | |
2431 | |
2432 if ((int)option == OPT_DISP_SHOW_SMILEY) | |
2433 toggle_smileys(); | |
2434 | |
2435 if ((int)option == OPT_DISP_SHOW_TIME) | |
2436 toggle_timestamps(); | |
2437 | |
2438 if ((int)option == OPT_DISP_ONE_WINDOW) | |
2439 tabize(); | |
2440 | |
2441 if ((int)option == OPT_DISP_ONE_CHAT_WINDOW) | |
2442 chat_tabize(); | |
2443 | |
2444 if ((int)option == OPT_DISP_SHOW_PIXMAPS) | |
2445 toggle_buddy_pixmaps(); | |
2446 | |
2447 #ifdef USE_APPLET | |
2448 update_pixmaps(); | |
2449 #endif | |
2450 | |
2451 save_prefs(); | |
2452 } | |
2453 | |
2454 void set_sound_option(GtkWidget *w, int *option) | |
2455 { | |
2456 sound_options = sound_options ^ (int)option; | |
2457 save_prefs(); | |
2458 } | |
2459 | |
2460 void set_font_option(GtkWidget *w, int *option) | |
2461 { | |
2462 font_options = font_options ^ (int)option; | |
2463 | |
2464 update_font_buttons(); | |
2465 | |
2466 save_prefs(); | |
2467 } | |
2468 | |
2469 void set_logging_option(GtkWidget *w, int *option) | |
2470 { | |
2471 logging_options = logging_options ^ (int)option; | |
2472 | |
2473 if ((int)option == OPT_LOG_ALL) | |
2474 update_log_convs(); | |
2475 | |
2476 save_prefs(); | |
2477 } | |
2478 | |
2479 GtkWidget *gaim_button(const char *text, int *options, int option, GtkWidget *page) | |
2480 { | 2512 { |
2481 GtkWidget *button; | 2513 GtkWidget *button; |
2482 button = gtk_check_button_new_with_label(text); | 2514 button = gtk_check_button_new_with_label(text); |
2483 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), (*options & option)); | 2515 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), (*options & option)); |
2484 gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0); | 2516 gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0); |
2485 | 2517 |
2518 if (options == &misc_options) | |
2519 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_misc_option), | |
2520 (int *)option); | |
2521 if (options == &logging_options) | |
2522 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_logging_option), | |
2523 (int *)option); | |
2524 if (options == &blist_options) | |
2525 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_blist_option), | |
2526 (int *)option); | |
2527 if (options == &convo_options) | |
2528 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_convo_option), | |
2529 (int *)option); | |
2530 if (options == &im_options) | |
2531 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_im_option), | |
2532 (int *)option); | |
2533 if (options == &chat_options) | |
2534 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_chat_option), | |
2535 (int *)option); | |
2486 if (options == &font_options) | 2536 if (options == &font_options) |
2487 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_font_option), | 2537 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_font_option), |
2488 (int *)option); | 2538 (int *)option); |
2489 if (options == &sound_options) | 2539 if (options == &sound_options) |
2490 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_sound_option), | 2540 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_sound_option), |
2491 (int *)option); | 2541 (int *)option); |
2492 if (options == &display_options) | 2542 if (options == &away_options) |
2493 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_display_option), | 2543 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_away_option), |
2494 (int *)option); | 2544 (int *)option); |
2495 if (options == &general_options) | 2545 |
2496 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_general_option), | |
2497 (int *)option); | |
2498 if (options == &logging_options) | |
2499 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_logging_option), | |
2500 (int *)option); | |
2501 gtk_widget_show(button); | 2546 gtk_widget_show(button); |
2502 | 2547 |
2503 return button; | 2548 return button; |
2504 } | 2549 } |
2505 | 2550 |