Mercurial > pidgin
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 |