Mercurial > geeqie.yaz
comparison src/layout.c @ 1549:7302ff300a52
show color management status on statusbar
author | nadvornik |
---|---|
date | Mon, 13 Apr 2009 14:39:50 +0000 |
parents | 2a3efbdf73b0 |
children | e6da3a90e7b2 f1d22c2174c1 |
comparison
equal
deleted
inserted
replaced
1548:b5608391f479 | 1549:7302ff300a52 |
---|---|
389 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); | 389 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); |
390 | 390 |
391 return button; | 391 return button; |
392 } | 392 } |
393 | 393 |
394 #if 0 | |
395 static GtkWidget *layout_color_button(LayoutWindow *lw) | 394 static GtkWidget *layout_color_button(LayoutWindow *lw) |
396 { | 395 { |
397 GtkWidget *button; | 396 GtkWidget *button; |
398 GtkWidget *image; | 397 GtkWidget *image; |
399 gboolean enable; | |
400 | 398 |
401 button = gtk_button_new(); | 399 button = gtk_button_new(); |
402 image = gtk_image_new_from_stock(GTK_STOCK_SELECT_COLOR, GTK_ICON_SIZE_MENU); | 400 image = gtk_image_new_from_stock(GTK_STOCK_SELECT_COLOR, GTK_ICON_SIZE_MENU); |
403 gtk_container_add(GTK_CONTAINER(button), image); | 401 gtk_container_add(GTK_CONTAINER(button), image); |
404 gtk_widget_show(image); | 402 gtk_widget_show(image); |
405 g_signal_connect(G_OBJECT(button), "clicked", | |
406 G_CALLBACK(layout_color_button_press_cb), lw); | |
407 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); | 403 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); |
408 | 404 |
409 #ifdef HAVE_LCMS | 405 gtk_widget_set_sensitive(GTK_BIN(button)->child, FALSE); |
410 enable = (lw->image) ? lw->image->color_profile_enable : FALSE; | |
411 #else | |
412 enable = FALSE; | |
413 #endif | |
414 gtk_widget_set_sensitive(image, enable); | |
415 | 406 |
416 return button; | 407 return button; |
417 } | 408 } |
418 #endif | |
419 /* | 409 /* |
420 *----------------------------------------------------------------------------- | 410 *----------------------------------------------------------------------------- |
421 * write button | 411 * write button |
422 *----------------------------------------------------------------------------- | 412 *----------------------------------------------------------------------------- |
423 */ | 413 */ |
558 } | 548 } |
559 | 549 |
560 void layout_status_update_image(LayoutWindow *lw) | 550 void layout_status_update_image(LayoutWindow *lw) |
561 { | 551 { |
562 guint64 n; | 552 guint64 n; |
563 | 553 gchar *image_profile; |
554 gchar *screen_profile; | |
555 | |
564 if (!layout_valid(&lw) || !lw->image) return; | 556 if (!layout_valid(&lw) || !lw->image) return; |
565 | 557 |
566 n = layout_list_count(lw, NULL); | 558 n = layout_list_count(lw, NULL); |
567 | 559 |
568 if (!n) | 560 if (!n) |
606 g_free(b); | 598 g_free(b); |
607 | 599 |
608 gtk_label_set_text(GTK_LABEL(lw->info_details), text); | 600 gtk_label_set_text(GTK_LABEL(lw->info_details), text); |
609 g_free(text); | 601 g_free(text); |
610 } | 602 } |
603 | |
604 if (layout_image_color_profile_get_status(lw, &image_profile, &screen_profile)) | |
605 { | |
606 gchar *buf; | |
607 gtk_widget_set_sensitive(GTK_BIN(lw->info_color)->child, TRUE); | |
608 buf = g_strdup_printf(_("Image profile: %s\nScreen profile: %s"), image_profile, screen_profile); | |
609 /* FIXME: not sure if a tooltip is the best form of presentation */ | |
610 gtk_widget_set_tooltip_text(GTK_WIDGET(lw->info_color), buf); | |
611 g_free(image_profile); | |
612 g_free(screen_profile); | |
613 g_free(buf); | |
614 } | |
615 else | |
616 { | |
617 gtk_widget_set_sensitive(GTK_BIN(lw->info_color)->child, FALSE); | |
618 gtk_widget_set_tooltip_text(GTK_WIDGET(lw->info_color), NULL); | |
619 } | |
611 } | 620 } |
612 | 621 |
613 void layout_status_update_all(LayoutWindow *lw) | 622 void layout_status_update_all(LayoutWindow *lw) |
614 { | 623 { |
615 layout_status_update_progress(lw, 0.0, NULL); | 624 layout_status_update_progress(lw, 0.0, NULL); |
677 | 686 |
678 lw->info_sort = layout_sort_button(lw); | 687 lw->info_sort = layout_sort_button(lw); |
679 gtk_box_pack_start(GTK_BOX(hbox), lw->info_sort, FALSE, FALSE, 0); | 688 gtk_box_pack_start(GTK_BOX(hbox), lw->info_sort, FALSE, FALSE, 0); |
680 gtk_widget_show(lw->info_sort); | 689 gtk_widget_show(lw->info_sort); |
681 | 690 |
691 lw->info_color = layout_color_button(lw); | |
692 gtk_widget_show(lw->info_color); | |
693 | |
682 lw->info_write = layout_write_button(lw); | 694 lw->info_write = layout_write_button(lw); |
683 gtk_widget_show(lw->info_write); | 695 gtk_widget_show(lw->info_write); |
684 | 696 |
697 if (small_format) gtk_box_pack_end(GTK_BOX(hbox), lw->info_color, FALSE, FALSE, 0); | |
685 if (small_format) gtk_box_pack_end(GTK_BOX(hbox), lw->info_write, FALSE, FALSE, 0); | 698 if (small_format) gtk_box_pack_end(GTK_BOX(hbox), lw->info_write, FALSE, FALSE, 0); |
686 | 699 |
687 lw->info_status = layout_status_label(NULL, lw->info_box, TRUE, 0, (!small_format)); | 700 lw->info_status = layout_status_label(NULL, lw->info_box, TRUE, 0, (!small_format)); |
688 | 701 |
689 if (small_format) | 702 if (small_format) |
695 else | 708 else |
696 { | 709 { |
697 hbox = lw->info_box; | 710 hbox = lw->info_box; |
698 } | 711 } |
699 lw->info_details = layout_status_label(NULL, hbox, TRUE, 0, TRUE); | 712 lw->info_details = layout_status_label(NULL, hbox, TRUE, 0, TRUE); |
713 if (!small_format) gtk_box_pack_start(GTK_BOX(hbox), lw->info_color, FALSE, FALSE, 0); | |
700 if (!small_format) gtk_box_pack_start(GTK_BOX(hbox), lw->info_write, FALSE, FALSE, 0); | 714 if (!small_format) gtk_box_pack_start(GTK_BOX(hbox), lw->info_write, FALSE, FALSE, 0); |
701 lw->info_pixel = layout_status_label(NULL, hbox, FALSE, PIXEL_LABEL_WIDTH, TRUE); | 715 lw->info_pixel = layout_status_label(NULL, hbox, FALSE, PIXEL_LABEL_WIDTH, TRUE); |
702 if (lw->options.info_pixel_hidden) gtk_widget_hide(gtk_widget_get_parent(lw->info_pixel)); | 716 if (lw->options.info_pixel_hidden) gtk_widget_hide(gtk_widget_get_parent(lw->info_pixel)); |
703 lw->info_zoom = layout_status_label(NULL, hbox, FALSE, ZOOM_LABEL_WIDTH, FALSE); | 717 lw->info_zoom = layout_status_label(NULL, hbox, FALSE, ZOOM_LABEL_WIDTH, FALSE); |
704 } | 718 } |
1626 lw->vf = NULL; | 1640 lw->vf = NULL; |
1627 | 1641 |
1628 lw->info_box = NULL; | 1642 lw->info_box = NULL; |
1629 lw->info_progress_bar = NULL; | 1643 lw->info_progress_bar = NULL; |
1630 lw->info_sort = NULL; | 1644 lw->info_sort = NULL; |
1645 lw->info_color = NULL; | |
1631 lw->info_status = NULL; | 1646 lw->info_status = NULL; |
1632 lw->info_details = NULL; | 1647 lw->info_details = NULL; |
1633 lw->info_pixel = NULL; | 1648 lw->info_pixel = NULL; |
1634 lw->info_zoom = NULL; | 1649 lw->info_zoom = NULL; |
1635 | 1650 |