| 61 |
61 |
| 62 static void |
62 static void |
| 63 theme_color_selected(GtkDialog *dialog, gint response, const char *prop) |
63 theme_color_selected(GtkDialog *dialog, gint response, const char *prop) |
| 64 { |
64 { |
| 65 if (response == GTK_RESPONSE_OK) { |
65 if (response == GTK_RESPONSE_OK) { |
| 66 GtkWidget *colorsel; |
|
| 67 GdkColor color; |
66 GdkColor color; |
| 68 PidginBlistTheme *theme; |
67 PidginBlistTheme *theme; |
| 69 |
68 |
| 70 colorsel = |
69 pidgin_color_chooser_get_rgb(GTK_COLOR_CHOOSER(dialog), &color); |
| 71 gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(dialog)); |
|
| 72 gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(colorsel), &color); |
|
| 73 |
70 |
| 74 theme = pidgin_blist_get_theme(); |
71 theme = pidgin_blist_get_theme(); |
| 75 |
72 |
| 76 if (prop_type_is_color(theme, prop)) { |
73 if (prop_type_is_color(theme, prop)) { |
| 77 g_object_set(G_OBJECT(theme), prop, &color, NULL); |
74 g_object_set(G_OBJECT(theme), prop, &color, NULL); |
| 148 g_object_get(G_OBJECT(theme), prop, &pair, NULL); |
145 g_object_get(G_OBJECT(theme), prop, &pair, NULL); |
| 149 if (pair) |
146 if (pair) |
| 150 color = pidgin_theme_font_get_color(pair); |
147 color = pidgin_theme_font_get_color(pair); |
| 151 } |
148 } |
| 152 |
149 |
| 153 dialog = gtk_color_selection_dialog_new(_("Select Color")); |
150 dialog = gtk_color_chooser_dialog_new(_("Select Color"), |
| |
151 GTK_WINDOW(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW))); |
| |
152 gtk_color_chooser_set_use_alpha(GTK_COLOR_CHOOSER(dialog), FALSE); |
| 154 if (color) |
153 if (color) |
| 155 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION( |
154 pidgin_color_chooser_set_rgb(GTK_COLOR_CHOOSER(dialog), color); |
| 156 gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(dialog))), |
155 g_signal_connect(G_OBJECT(dialog), "response", |
| 157 color); |
156 G_CALLBACK(theme_color_selected), prop); |
| 158 g_signal_connect(G_OBJECT(dialog), "response", G_CALLBACK(theme_color_selected), |
|
| 159 prop); |
|
| 160 |
157 |
| 161 gtk_widget_show_all(dialog); |
158 gtk_widget_show_all(dialog); |
| 162 } |
159 } |
| 163 |
160 |
| 164 static GtkWidget * |
161 static GtkWidget * |