[gnome-color-manager] Support more display types



commit e348b929ef5a74ce3353382b9be63ebe290ca2e9
Author: Pascal de Bruijn <pmjdebruijn pcode nl>
Date:   Mon Dec 16 13:37:45 2013 +0100

    Support more display types

 src/gcm-calibrate-argyll.c |   10 +++++++++-
 src/gcm-calibrate-main.c   |   42 +++++++++++++++++++++++++++++++++++++++---
 src/gcm-calibrate.h        |    6 +++++-
 3 files changed, 53 insertions(+), 5 deletions(-)
---
diff --git a/src/gcm-calibrate-argyll.c b/src/gcm-calibrate-argyll.c
index f2c36b2..f99a7eb 100644
--- a/src/gcm-calibrate-argyll.c
+++ b/src/gcm-calibrate-argyll.c
@@ -249,8 +249,16 @@ gcm_calibrate_argyll_get_display_kind (GcmCalibrateArgyll *calibrate_argyll)
                      "display-kind", &device_kind,
                      NULL);
 
-       if (device_kind == GCM_CALIBRATE_DEVICE_KIND_LCD)
+       if (device_kind == GCM_CALIBRATE_DEVICE_KIND_LCD_CCFL)
                return 'l';
+       if (device_kind == GCM_CALIBRATE_DEVICE_KIND_LCD_LED_WHITE)
+               return 'e';
+       if (device_kind == GCM_CALIBRATE_DEVICE_KIND_LCD_LED_RGB)
+               return 'b';
+        if (device_kind == GCM_CALIBRATE_DEVICE_KIND_LCD_LED_RGB_WIDE)
+                return 'B';
+       if (device_kind == GCM_CALIBRATE_DEVICE_KIND_LCD_CCFL_WIDE)
+               return 'L';
        if (device_kind == GCM_CALIBRATE_DEVICE_KIND_CRT)
                return 'c';
        if (device_kind == GCM_CALIBRATE_DEVICE_KIND_PROJECTOR)
diff --git a/src/gcm-calibrate-main.c b/src/gcm-calibrate-main.c
index 60760b9..d30572b 100644
--- a/src/gcm-calibrate-main.c
+++ b/src/gcm-calibrate-main.c
@@ -1436,10 +1436,46 @@ gcm_calib_setup_page_display_kind (GcmCalibratePriv *priv)
        /* TRANSLATORS: this is intro page text */
        gcm_calib_add_page_para (content, _("Select the monitor type that is attached to your computer."));
 
-       widget = gtk_radio_button_new_with_label (NULL, _("LCD"));
+       widget = gtk_radio_button_new_with_label (NULL, _("LCD (CCFL backlight)"));
        g_object_set_data (G_OBJECT (widget),
                           "GcmCalib::display-kind",
-                          GUINT_TO_POINTER (GCM_CALIBRATE_DEVICE_KIND_LCD));
+                          GUINT_TO_POINTER (GCM_CALIBRATE_DEVICE_KIND_LCD_CCFL));
+       g_signal_connect (widget, "toggled",
+                         G_CALLBACK (gcm_calib_display_kind_toggled_cb), priv);
+       gtk_box_pack_start (GTK_BOX (content), widget, FALSE, FALSE, 0);
+
+       list = gtk_radio_button_get_group (GTK_RADIO_BUTTON (widget));
+       widget = gtk_radio_button_new_with_label (list, _("LCD (White LED backlight)"));
+       g_object_set_data (G_OBJECT (widget),
+                          "GcmCalib::display-kind",
+                          GUINT_TO_POINTER (GCM_CALIBRATE_DEVICE_KIND_LCD_LED_WHITE));
+       g_signal_connect (widget, "toggled",
+                         G_CALLBACK (gcm_calib_display_kind_toggled_cb), priv);
+       gtk_box_pack_start (GTK_BOX (content), widget, FALSE, FALSE, 0);
+
+       list = gtk_radio_button_get_group (GTK_RADIO_BUTTON (widget));
+       widget = gtk_radio_button_new_with_label (list, _("LCD (RGB LED backlight)"));
+       g_object_set_data (G_OBJECT (widget),
+                          "GcmCalib::display-kind",
+                          GUINT_TO_POINTER (GCM_CALIBRATE_DEVICE_KIND_LCD_LED_RGB));
+       g_signal_connect (widget, "toggled",
+                         G_CALLBACK (gcm_calib_display_kind_toggled_cb), priv);
+       gtk_box_pack_start (GTK_BOX (content), widget, FALSE, FALSE, 0);
+
+       list = gtk_radio_button_get_group (GTK_RADIO_BUTTON (widget));
+       widget = gtk_radio_button_new_with_label (list, _("LCD (Wide Gamut RGB LED backlight)"));
+       g_object_set_data (G_OBJECT (widget),
+                          "GcmCalib::display-kind",
+                          GUINT_TO_POINTER (GCM_CALIBRATE_DEVICE_KIND_LCD_LED_RGB_WIDE));
+       g_signal_connect (widget, "toggled",
+                         G_CALLBACK (gcm_calib_display_kind_toggled_cb), priv);
+       gtk_box_pack_start (GTK_BOX (content), widget, FALSE, FALSE, 0);
+
+       list = gtk_radio_button_get_group (GTK_RADIO_BUTTON (widget));
+       widget = gtk_radio_button_new_with_label (list, _("LCD (Wide Gamut CCFL backlight)"));
+       g_object_set_data (G_OBJECT (widget),
+                          "GcmCalib::display-kind",
+                          GUINT_TO_POINTER (GCM_CALIBRATE_DEVICE_KIND_LCD_CCFL_WIDE));
        g_signal_connect (widget, "toggled",
                          G_CALLBACK (gcm_calib_display_kind_toggled_cb), priv);
        gtk_box_pack_start (GTK_BOX (content), widget, FALSE, FALSE, 0);
@@ -2040,7 +2076,7 @@ gcm_calib_add_pages (GcmCalibratePriv *priv)
                        gcm_calib_setup_page_display_kind (priv);
                } else {
                        g_object_set (priv->calibrate,
-                                     "display-kind", GCM_CALIBRATE_DEVICE_KIND_LCD,
+                                     "display-kind", GCM_CALIBRATE_DEVICE_KIND_LCD_CCFL,
                                      NULL);
                }
                gcm_calib_setup_page_display_temp (priv);
diff --git a/src/gcm-calibrate.h b/src/gcm-calibrate.h
index b3d9d95..27a6150 100644
--- a/src/gcm-calibrate.h
+++ b/src/gcm-calibrate.h
@@ -107,7 +107,11 @@ typedef enum {
 
 typedef enum {
        GCM_CALIBRATE_DEVICE_KIND_CRT,
-       GCM_CALIBRATE_DEVICE_KIND_LCD,
+       GCM_CALIBRATE_DEVICE_KIND_LCD_CCFL,
+       GCM_CALIBRATE_DEVICE_KIND_LCD_LED_WHITE,
+       GCM_CALIBRATE_DEVICE_KIND_LCD_LED_RGB,
+       GCM_CALIBRATE_DEVICE_KIND_LCD_LED_RGB_WIDE,
+       GCM_CALIBRATE_DEVICE_KIND_LCD_CCFL_WIDE,
        GCM_CALIBRATE_DEVICE_KIND_PROJECTOR,
        GCM_CALIBRATE_DEVICE_KIND_UNKNOWN
 } GcmCalibrateDisplayKind;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]