comparison src/prefs.c @ 873:789df4b47508

[gaim-migrate @ 883] uh huh committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Mon, 11 Sep 2000 00:30:52 +0000
parents 4a6ab6995439
children ef4bff967e89
comparison
equal deleted inserted replaced
872:0532f6f85fac 873:789df4b47508
974 gtk_list_append_items(GTK_LIST(list2), items); 974 gtk_list_append_items(GTK_LIST(list2), items);
975 975
976 gtk_widget_show(prefdialog); 976 gtk_widget_show(prefdialog);
977 } 977 }
978 978
979 static GtkWidget *show_color_pref(GtkWidget *box, gboolean fgc)
980 {
981 /* more stuff stolen from X-Chat */
982 GtkWidget *swid;
983 GdkColor c;
984 GtkStyle *style;
985 c.pixel = 0;
986 if (fgc) {
987 if (font_options & OPT_FONT_FGCOL) {
988 c.red = fgcolor.red << 8;
989 c.blue = fgcolor.blue << 8;
990 c.green = fgcolor.green << 8;
991 } else {
992 c.red = 0;
993 c.blue = 0;
994 c.green = 0;
995 }
996 } else {
997 if (font_options & OPT_FONT_BGCOL) {
998 c.red = bgcolor.red << 8;
999 c.blue = bgcolor.blue << 8;
1000 c.green = bgcolor.green << 8;
1001 } else {
1002 c.red = 0xffff;
1003 c.blue = 0xffff;
1004 c.green = 0xffff;
1005 }
1006 }
1007
1008 style = gtk_style_new();
1009 style->bg[0] = c;
1010
1011 swid = gtk_event_box_new();
1012 gtk_widget_set_style(GTK_WIDGET(swid), style);
1013 gtk_style_unref(style);
1014 gtk_widget_set_usize(GTK_WIDGET(swid), 40, -1);
1015 gtk_box_pack_start(GTK_BOX(box), swid, FALSE, FALSE, 5);
1016 gtk_widget_show(swid);
1017 return swid;
1018 }
1019
1020 GtkWidget *pref_fg_picture = NULL;
1021 GtkWidget *pref_bg_picture = NULL;
1022
1023 static fgbgdes(GtkWidget *w, gpointer d)
1024 {
1025 pref_fg_picture = NULL;
1026 pref_bg_picture = NULL;
1027 }
1028
1029 void update_color(GtkWidget *w, GtkWidget *pic)
1030 {
1031 GdkColor c;
1032 GtkStyle *style;
1033 c.pixel = 0;
1034 if (pic == pref_fg_picture) {
1035 if (font_options & OPT_FONT_FGCOL) {
1036 c.red = fgcolor.red << 8;
1037 c.blue = fgcolor.blue << 8;
1038 c.green = fgcolor.green << 8;
1039 } else {
1040 c.red = 0;
1041 c.blue = 0;
1042 c.green = 0;
1043 }
1044 } else {
1045 if (font_options & OPT_FONT_BGCOL) {
1046 c.red = bgcolor.red << 8;
1047 c.blue = bgcolor.blue << 8;
1048 c.green = bgcolor.green << 8;
1049 } else {
1050 c.red = 0xffff;
1051 c.blue = 0xffff;
1052 c.green = 0xffff;
1053 }
1054 }
1055
1056 style = gtk_style_new();
1057 style->bg[0] = c;
1058 gtk_widget_set_style(pic, style);
1059 gtk_style_unref(style);
1060 }
1061
979 static void font_page() 1062 static void font_page()
980 { 1063 {
981 GtkWidget *parent; 1064 GtkWidget *parent;
982 GtkWidget *box; 1065 GtkWidget *box;
983 GtkWidget *label; 1066 GtkWidget *label;
1011 1094
1012 hbox = gtk_hbox_new(FALSE, 5); 1095 hbox = gtk_hbox_new(FALSE, 5);
1013 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5); 1096 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5);
1014 gtk_widget_show(hbox); 1097 gtk_widget_show(hbox);
1015 1098
1099 pref_fg_picture = show_color_pref(hbox, TRUE);
1016 button = gaim_button(_("Text Color"), &font_options, OPT_FONT_FGCOL, hbox); 1100 button = gaim_button(_("Text Color"), &font_options, OPT_FONT_FGCOL, hbox);
1017 1101
1018 select = picture_button(prefs, _("Select"), fgcolor_xpm); 1102 select = picture_button(prefs, _("Select"), fgcolor_xpm);
1019 gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 5); 1103 gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 5);
1020 if (!(font_options & OPT_FONT_FGCOL)) 1104 if (!(font_options & OPT_FONT_FGCOL))
1021 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE); 1105 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
1022 gtk_signal_connect(GTK_OBJECT(select), "clicked", GTK_SIGNAL_FUNC(show_fgcolor_dialog), NULL); 1106 gtk_signal_connect(GTK_OBJECT(select), "clicked", GTK_SIGNAL_FUNC(show_fgcolor_dialog), NULL);
1023 gtk_widget_show(select); 1107 gtk_widget_show(select);
1024 1108
1025 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select); 1109 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select);
1110 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(update_color), pref_fg_picture);
1026 1111
1027 hbox = gtk_hbox_new(FALSE, 5); 1112 hbox = gtk_hbox_new(FALSE, 5);
1028 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5); 1113 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5);
1029 gtk_widget_show(hbox); 1114 gtk_widget_show(hbox);
1030 1115
1116 pref_bg_picture = show_color_pref(hbox, FALSE);
1031 button = gaim_button(_("Background Color"), &font_options, OPT_FONT_BGCOL, hbox); 1117 button = gaim_button(_("Background Color"), &font_options, OPT_FONT_BGCOL, hbox);
1032 1118
1033 select = picture_button(prefs, _("Select"), bgcolor_xpm); 1119 select = picture_button(prefs, _("Select"), bgcolor_xpm);
1034 gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 5); 1120 gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 5);
1035 if (!(font_options & OPT_FONT_BGCOL)) 1121 if (!(font_options & OPT_FONT_BGCOL))
1036 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE); 1122 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
1037 gtk_signal_connect(GTK_OBJECT(select), "clicked", GTK_SIGNAL_FUNC(show_bgcolor_dialog), NULL); 1123 gtk_signal_connect(GTK_OBJECT(select), "clicked", GTK_SIGNAL_FUNC(show_bgcolor_dialog), NULL);
1038 gtk_widget_show(select); 1124 gtk_widget_show(select);
1039 1125
1040 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select); 1126 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select);
1127 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(update_color), pref_bg_picture);
1041 1128
1042 sep = gtk_hseparator_new(); 1129 sep = gtk_hseparator_new();
1043 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5); 1130 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5);
1044 gtk_widget_show(sep); 1131 gtk_widget_show(sep);
1045 1132