[gnome-color-manager] trivial: reorder code so we can set the basename from an image in the future
- From: Richard Hughes <rhughes src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-color-manager] trivial: reorder code so we can set the basename from an image in the future
- Date: Fri, 12 Feb 2010 13:30:23 +0000 (UTC)
commit a6ea74a74b88d7ba93c2825f129fa744f7c67ef9
Author: Richard Hughes <richard hughsie com>
Date: Fri Feb 12 12:07:55 2010 +0000
trivial: reorder code so we can set the basename from an image in the future
src/gcm-calibrate.c | 64 +++++++++++++++++++++++++++++---------------------
src/gcm-prefs.c | 24 +++++++++---------
2 files changed, 49 insertions(+), 39 deletions(-)
---
diff --git a/src/gcm-calibrate.c b/src/gcm-calibrate.c
index a0a066a..41a5e74 100644
--- a/src/gcm-calibrate.c
+++ b/src/gcm-calibrate.c
@@ -60,6 +60,7 @@ struct _GcmCalibratePrivate
gchar *manufacturer;
gchar *model;
gchar *description;
+ gchar *serial;
gchar *device;
};
@@ -101,10 +102,10 @@ gcm_calibrate_get_time (void)
}
/**
- * gcm_calibrate_get_basename_for_device:
+ * gcm_calibrate_set_basename:
**/
-static gchar *
-gcm_calibrate_get_basename_for_device (GcmDevice *device)
+static void
+gcm_calibrate_set_basename (GcmCalibrate *calibrate)
{
gchar *serial = NULL;
gchar *manufacturer = NULL;
@@ -114,7 +115,7 @@ gcm_calibrate_get_basename_for_device (GcmDevice *device)
GString *basename;
/* get device properties */
- g_object_get (device,
+ g_object_get (calibrate,
"serial", &serial,
"manufacturer", &manufacturer,
"model", &model,
@@ -139,12 +140,15 @@ gcm_calibrate_get_basename_for_device (GcmDevice *device)
if (0)
g_string_append_printf (basename, " [%s]", timespec);
+ /* save this */
+ g_object_set (calibrate, "basename", basename->str, NULL);
+
g_date_free (date);
g_free (serial);
g_free (manufacturer);
g_free (model);
g_free (timespec);
- return g_string_free (basename, FALSE);
+ g_string_free (basename, TRUE);
}
/**
@@ -155,19 +159,17 @@ gcm_calibrate_set_from_device (GcmCalibrate *calibrate, GcmDevice *device, GErro
{
gboolean ret = TRUE;
gchar *native_device = NULL;
- gchar *basename = NULL;
gchar *manufacturer = NULL;
gchar *model = NULL;
gchar *description = NULL;
- gchar *hardware_device = NULL;
+ gchar *serial = NULL;
GcmDeviceTypeEnum type;
- GcmCalibratePrivate *priv = calibrate->priv;
/* get the device */
g_object_get (device,
"native-device", &native_device,
"type", &type,
-// "serial", &basename,
+ "serial", &serial,
"model", &model,
"title", &description,
"manufacturer", &manufacturer,
@@ -178,9 +180,6 @@ gcm_calibrate_set_from_device (GcmCalibrate *calibrate, GcmDevice *device, GErro
goto out;
}
- /* get a filename based on the serial number */
- basename = gcm_calibrate_get_basename_for_device (device);
-
/* get model */
if (model == NULL) {
/* TRANSLATORS: this is saved in the profile */
@@ -201,39 +200,29 @@ gcm_calibrate_set_from_device (GcmCalibrate *calibrate, GcmDevice *device, GErro
/* set the proper output name */
g_object_set (calibrate,
- "basename", basename,
"model", model,
"description", description,
"manufacturer", manufacturer,
+ "serial", serial,
NULL);
+ /* get a filename based on calibration attributes we've just set */
+ gcm_calibrate_set_basename (calibrate);
+
/* display specific properties */
if (type == GCM_DEVICE_TYPE_ENUM_DISPLAY) {
-
- /* get calibration device model */
- g_object_get (priv->color_device,
- "model", &hardware_device,
- NULL);
-
- /* get device, harder */
- if (hardware_device == NULL) {
- /* TRANSLATORS: this is the formattted custom profile description. "Custom" refers to the fact that it's user generated */
- hardware_device = g_strdup (_("Custom"));
- }
-
g_object_set (calibrate,
"output-name", native_device,
- "device", hardware_device,
NULL);
}
out:
g_free (device);
g_free (native_device);
- g_free (basename);
g_free (manufacturer);
g_free (model);
g_free (description);
+ g_free (serial);
return ret;
}
@@ -245,6 +234,7 @@ gcm_calibrate_display (GcmCalibrate *calibrate, GtkWindow *window, GError **erro
{
GcmCalibrateClass *klass = GCM_CALIBRATE_GET_CLASS (calibrate);
gboolean ret = TRUE;
+ gchar *hardware_device = NULL;
gboolean ret_tmp;
GtkWidget *dialog;
GtkResponseType response;
@@ -268,6 +258,23 @@ gcm_calibrate_display (GcmCalibrate *calibrate, GtkWindow *window, GError **erro
goto out;
}
+ /* get calibration device model */
+ g_object_get (priv->color_device,
+ "model", &hardware_device,
+ NULL);
+
+ /* get device, harder */
+ if (hardware_device == NULL) {
+ /* TRANSLATORS: this is the formattted custom profile description. "Custom" refers to the fact that it's user generated */
+ hardware_device = g_strdup (_("Custom"));
+ }
+
+ /* set display specific properties */
+ g_object_set (calibrate,
+ "device", hardware_device,
+ NULL);
+
+
/* this wasn't previously set */
if (!priv->is_lcd && !priv->is_crt) {
dialog = gtk_message_dialog_new (window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_CANCEL,
@@ -386,6 +393,7 @@ out:
g_object_unref (brightness);
if (string != NULL)
g_string_free (string, TRUE);
+ g_free (hardware_device);
return ret;
}
@@ -658,6 +666,7 @@ gcm_calibrate_init (GcmCalibrate *calibrate)
calibrate->priv->model = NULL;
calibrate->priv->description = NULL;
calibrate->priv->device = NULL;
+ calibrate->priv->serial = NULL;
calibrate->priv->color_device = gcm_color_device_new ();
}
@@ -679,6 +688,7 @@ gcm_calibrate_finalize (GObject *object)
g_free (priv->model);
g_free (priv->description);
g_free (priv->device);
+ g_free (priv->serial);
g_object_unref (priv->color_device);
G_OBJECT_CLASS (gcm_calibrate_parent_class)->finalize (object);
diff --git a/src/gcm-prefs.c b/src/gcm-prefs.c
index ba5f1e3..ba54008 100644
--- a/src/gcm-prefs.c
+++ b/src/gcm-prefs.c
@@ -275,10 +275,10 @@ out:
}
/**
- * gcm_prefs_calibrate_device_get_scanned_profile:
+ * gcm_prefs_calibrate_device_get_reference_image:
**/
static gchar *
-gcm_prefs_calibrate_device_get_scanned_profile (const gchar *directory)
+gcm_prefs_calibrate_device_get_reference_image (const gchar *directory)
{
gchar *filename = NULL;
GtkWindow *window;
@@ -288,7 +288,7 @@ gcm_prefs_calibrate_device_get_scanned_profile (const gchar *directory)
/* create new dialog */
window = GTK_WINDOW(gtk_builder_get_object (builder, "dialog_prefs"));
/* TRANSLATORS: dialog for file->open dialog */
- dialog = gtk_file_chooser_dialog_new (_("Select scanned reference file"), window,
+ dialog = gtk_file_chooser_dialog_new (_("Select reference image"), window,
GTK_FILE_CHOOSER_ACTION_OPEN,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
@@ -675,7 +675,7 @@ gcm_prefs_calibrate_device (GcmCalibrate *calibrate)
/* get scanned image */
directory = g_get_home_dir ();
- scanned_image = gcm_prefs_calibrate_device_get_scanned_profile (directory);
+ scanned_image = gcm_prefs_calibrate_device_get_reference_image (directory);
if (scanned_image == NULL)
goto out;
@@ -685,14 +685,6 @@ gcm_prefs_calibrate_device (GcmCalibrate *calibrate)
if (reference_data == NULL)
goto out;
- /* set defaults from device */
- ret = gcm_calibrate_set_from_device (calibrate, current_device, &error);
- if (!ret) {
- egg_warning ("failed to calibrate: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
/* use the ORIGINATOR in the it8 file */
device = gcm_prefs_get_device_for_it8_file (reference_data);
if (device == NULL)
@@ -705,6 +697,14 @@ gcm_prefs_calibrate_device (GcmCalibrate *calibrate)
"device", device,
NULL);
+ /* set defaults from device */
+ ret = gcm_calibrate_set_from_device (calibrate, current_device, &error);
+ if (!ret) {
+ egg_warning ("failed to calibrate: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+
/* do each step */
ret = gcm_calibrate_device (calibrate, window, &error);
if (!ret) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]