# HG changeset patch # User Yoshiki Yazawa # Date 1241160572 -32400 # Node ID 9a64eda3e02013354f4933fe586549c63bb37585 # Parent c1e22cba400390e913b75efd3c54bb8ce23831ec# Parent f1d22c2174c1be9e1a211b8739f9ee1e05e9f9cc merged diff -r c1e22cba4003 -r 9a64eda3e020 src/color-man.c --- a/src/color-man.c Fri May 01 15:48:48 2009 +0900 +++ b/src/color-man.c Fri May 01 15:49:32 2009 +0900 @@ -412,41 +412,6 @@ screen_type, screen_file, screen_data, screen_data_len); } -static gchar *color_man_get_profile_name(ColorManProfileType type, cmsHPROFILE profile) -{ - switch (type) - { - case COLOR_PROFILE_SRGB: - return g_strdup(_("sRGB")); - case COLOR_PROFILE_ADOBERGB: - return g_strdup(_("Adobe RGB compatible")); - break; - case COLOR_PROFILE_MEM: - case COLOR_PROFILE_FILE: - if (profile) - { - return g_strdup(cmsTakeProductName(profile)); - } - return g_strdup(_("Custom profile")); - break; - case COLOR_PROFILE_NONE: - default: - return g_strdup(""); - } -} - -gboolean color_man_get_status(ColorMan *cm, gchar **image_profile, gchar **screen_profile) -{ - ColorManCache *cc; - if (!cm) return FALSE; - - cc = cm->profile; - - if (image_profile) *image_profile = color_man_get_profile_name(cc->profile_in_type, cc->profile_in); - if (screen_profile) *screen_profile = color_man_get_profile_name(cc->profile_out_type, cc->profile_out); - return TRUE; -} - void color_man_free(ColorMan *cm) { if (!cm) return; @@ -506,10 +471,5 @@ /* no op */ } -gboolean color_man_get_status(ColorMan *cm, gchar **image_profile, gchar **screen_profile) -{ - return FALSE; -} - #endif /* define HAVE_LCMS */ /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */ diff -r c1e22cba4003 -r 9a64eda3e020 src/color-man.h --- a/src/color-man.h Fri May 01 15:48:48 2009 +0900 +++ b/src/color-man.h Fri May 01 15:49:32 2009 +0900 @@ -63,7 +63,5 @@ void color_man_start_bg(ColorMan *cm, ColorManDoneFunc don_func, gpointer done_data); -gboolean color_man_get_status(ColorMan *cm, gchar **image_profile, gchar **screen_profile); - #endif /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */ diff -r c1e22cba4003 -r 9a64eda3e020 src/image.c --- a/src/image.c Fri May 01 15:48:48 2009 +0900 +++ b/src/image.c Fri May 01 15:49:32 2009 +0900 @@ -1500,15 +1500,11 @@ return imd->color_profile_enable; } -gboolean image_color_profile_get_status(ImageWindow *imd, gchar **image_profile, gchar **screen_profile) +gint image_color_profile_get_from_image(ImageWindow *imd) { - ColorMan *cm; - if (!imd) return FALSE; - - cm = imd->cm; - if (!cm) return FALSE; - return color_man_get_status(cm, image_profile, screen_profile); + if (!imd) return COLOR_PROFILE_NONE; + return imd->color_profile_from_image; } void image_set_delay_flip(ImageWindow *imd, gboolean delay) diff -r c1e22cba4003 -r 9a64eda3e020 src/image.h --- a/src/image.h Fri May 01 15:48:48 2009 +0900 +++ b/src/image.h Fri May 01 15:49:32 2009 +0900 @@ -110,7 +110,7 @@ gboolean *use_image); void image_color_profile_set_use(ImageWindow *imd, gboolean enable); gboolean image_color_profile_get_use(ImageWindow *imd); -gboolean image_color_profile_get_status(ImageWindow *imd, gchar **image_profile, gchar **screen_profile); +gint image_color_profile_get_from_image(ImageWindow *imd); /* set delayed page flipping */ void image_set_delay_flip(ImageWindow *imd, gint delay); diff -r c1e22cba4003 -r 9a64eda3e020 src/layout.c --- a/src/layout.c Fri May 01 15:48:48 2009 +0900 +++ b/src/layout.c Fri May 01 15:49:32 2009 +0900 @@ -391,21 +391,31 @@ return button; } +#if 0 static GtkWidget *layout_color_button(LayoutWindow *lw) { GtkWidget *button; GtkWidget *image; + gboolean enable; button = gtk_button_new(); image = gtk_image_new_from_stock(GTK_STOCK_SELECT_COLOR, GTK_ICON_SIZE_MENU); gtk_container_add(GTK_CONTAINER(button), image); gtk_widget_show(image); + g_signal_connect(G_OBJECT(button), "clicked", + G_CALLBACK(layout_color_button_press_cb), lw); gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - gtk_widget_set_sensitive(GTK_BIN(button)->child, FALSE); +#ifdef HAVE_LCMS + enable = (lw->image) ? lw->image->color_profile_enable : FALSE; +#else + enable = FALSE; +#endif + gtk_widget_set_sensitive(image, enable); return button; } +#endif /* *----------------------------------------------------------------------------- * write button @@ -550,9 +560,7 @@ void layout_status_update_image(LayoutWindow *lw) { guint64 n; - gchar *image_profile; - gchar *screen_profile; - + if (!layout_valid(&lw) || !lw->image) return; n = layout_list_count(lw, NULL); @@ -600,23 +608,6 @@ gtk_label_set_text(GTK_LABEL(lw->info_details), text); g_free(text); } - - if (layout_image_color_profile_get_status(lw, &image_profile, &screen_profile)) - { - gchar *buf; - gtk_widget_set_sensitive(GTK_BIN(lw->info_color)->child, TRUE); - buf = g_strdup_printf(_("Image profile: %s\nScreen profile: %s"), image_profile, screen_profile); - /* FIXME: not sure if a tooltip is the best form of presentation */ - gtk_widget_set_tooltip_text(GTK_WIDGET(lw->info_color), buf); - g_free(image_profile); - g_free(screen_profile); - g_free(buf); - } - else - { - gtk_widget_set_sensitive(GTK_BIN(lw->info_color)->child, FALSE); - gtk_widget_set_tooltip_text(GTK_WIDGET(lw->info_color), NULL); - } } void layout_status_update_all(LayoutWindow *lw) @@ -688,13 +679,9 @@ gtk_box_pack_start(GTK_BOX(hbox), lw->info_sort, FALSE, FALSE, 0); gtk_widget_show(lw->info_sort); - lw->info_color = layout_color_button(lw); - gtk_widget_show(lw->info_color); - lw->info_write = layout_write_button(lw); gtk_widget_show(lw->info_write); - if (small_format) gtk_box_pack_end(GTK_BOX(hbox), lw->info_color, FALSE, FALSE, 0); if (small_format) gtk_box_pack_end(GTK_BOX(hbox), lw->info_write, FALSE, FALSE, 0); lw->info_status = layout_status_label(NULL, lw->info_box, TRUE, 0, (!small_format)); @@ -710,7 +697,6 @@ hbox = lw->info_box; } lw->info_details = layout_status_label(NULL, hbox, TRUE, 0, TRUE); - if (!small_format) gtk_box_pack_start(GTK_BOX(hbox), lw->info_color, FALSE, FALSE, 0); if (!small_format) gtk_box_pack_start(GTK_BOX(hbox), lw->info_write, FALSE, FALSE, 0); lw->info_pixel = layout_status_label(NULL, hbox, FALSE, PIXEL_LABEL_WIDTH, TRUE); if (lw->options.info_pixel_hidden) gtk_widget_hide(gtk_widget_get_parent(lw->info_pixel)); @@ -1644,7 +1630,6 @@ lw->info_box = NULL; lw->info_progress_bar = NULL; lw->info_sort = NULL; - lw->info_color = NULL; lw->info_status = NULL; lw->info_details = NULL; lw->info_pixel = NULL; diff -r c1e22cba4003 -r 9a64eda3e020 src/layout_image.c --- a/src/layout_image.c Fri May 01 15:48:48 2009 +0900 +++ b/src/layout_image.c Fri May 01 15:49:32 2009 +0900 @@ -1081,6 +1081,14 @@ if (!layout_valid(&lw)) return; image_color_profile_set_use(lw->image, enable); + +// if (lw->info_color) +// { +#ifndef HAVE_LCMS +// enable = FALSE; +#endif +// gtk_widget_set_sensitive(GTK_BIN(lw->info_color)->child, enable); +// } } gboolean layout_image_color_profile_get_use(LayoutWindow *lw) @@ -1090,11 +1098,11 @@ return image_color_profile_get_use(lw->image); } -gboolean layout_image_color_profile_get_status(LayoutWindow *lw, gchar **image_profile, gchar **screen_profile) +gint layout_image_color_profile_get_from_image(LayoutWindow *lw) { - if (!layout_valid(&lw)) return FALSE; + if (!layout_valid(&lw)) return COLOR_PROFILE_NONE; - return image_color_profile_get_status(lw->image, image_profile, screen_profile); + return image_color_profile_get_from_image(lw->image); } /* diff -r c1e22cba4003 -r 9a64eda3e020 src/layout_image.h --- a/src/layout_image.h Fri May 01 15:48:48 2009 +0900 +++ b/src/layout_image.h Fri May 01 15:49:32 2009 +0900 @@ -36,7 +36,7 @@ gboolean *use_image); void layout_image_color_profile_set_use(LayoutWindow *lw, gint enable); gboolean layout_image_color_profile_get_use(LayoutWindow *lw); -gboolean layout_image_color_profile_get_status(LayoutWindow *lw, gchar **image_profile, gchar **screen_profile); +gint layout_image_color_profile_get_from_image(LayoutWindow *lw); const gchar *layout_image_get_path(LayoutWindow *lw); diff -r c1e22cba4003 -r 9a64eda3e020 src/typedefs.h --- a/src/typedefs.h Fri May 01 15:48:48 2009 +0900 +++ b/src/typedefs.h Fri May 01 15:49:32 2009 +0900 @@ -627,7 +627,6 @@ GtkWidget *info_box; GtkWidget *info_progress_bar; GtkWidget *info_sort; - GtkWidget *info_color; GtkWidget *info_status; GtkWidget *info_details; GtkWidget *info_zoom;