GtkColorSelection *colorsel;
static void color_response(GtkDialog *dialog, gint response_id, gpointer user_data)
{
- if (response_id == GTK_RESPONSE_CANCEL) {
- gtk_widget_destroy(colorseldlg);
- colorseldlg = NULL;
- }
- if (response_id == GTK_RESPONSE_OK) {
- GdkColor ncolor;
+ GdkColor ncolor;
+ switch (response_id) {
+ case GTK_RESPONSE_CANCEL:
+ gtk_color_selection_get_previous_color(colorsel, &ncolor);
+new_color:
anything_modified = 1;
- gtk_color_selection_get_current_color(colorsel, &ncolor);
- gtk_color_selection_set_previous_color(colorsel, &ncolor);
mark_palette[mark_selected].r = ncolor.red / 256;
mark_palette[mark_selected].g = ncolor.green / 256;
mark_palette[mark_selected].b = ncolor.blue / 256;
update_color(mark_selected);
draw_image(0, 0, -1, -1);
+ break;
+ case GTK_RESPONSE_OK:
+ gtk_color_selection_get_current_color(colorsel, &ncolor);
+ goto new_color;
}
}
create_timeline(filename);
if (frame_list)
- create_image(frame_list[timeline_selected].filename);
+ create_image(frame_list[timeline_selected].filename, 1);
free(filename);
}
color.green = mark_palette[mark_selected].g * 256 + 128;
color.blue = mark_palette[mark_selected].b * 256 + 128;
- if (colorseldlg)
+ if (colorseldlg) {
+ gtk_color_selection_set_previous_color (colorsel, &color);
gtk_color_selection_set_current_color (colorsel, &color);
+ }
}
/* set current color for bightness+contrast window */
if (argc > 1) {
create_timeline(argv[1]);
if (frame_list)
- create_image(frame_list[timeline_selected].filename);
+ create_image(frame_list[timeline_selected].filename, 1);
}
gtk_main();