From 770a3b1df61b36937dee077525d8fe29dc82c1ad Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Wed, 30 May 2018 15:08:44 +1200 Subject: [PATCH] color: Replace GObject boilerplace with G_DECLARE_TYPE --- panels/color/cc-color-calibrate.c | 298 ++++++------- panels/color/cc-color-calibrate.h | 24 +- panels/color/cc-color-cell-renderer-text.c | 7 + panels/color/cc-color-cell-renderer-text.h | 27 +- panels/color/cc-color-device.c | 136 +++--- panels/color/cc-color-device.h | 28 +- panels/color/cc-color-panel.c | 493 ++++++++++----------- panels/color/cc-color-panel.h | 41 +- panels/color/cc-color-profile.c | 140 +++--- panels/color/cc-color-profile.h | 26 +- 10 files changed, 515 insertions(+), 705 deletions(-) diff --git a/panels/color/cc-color-calibrate.c b/panels/color/cc-color-calibrate.c index 9357eee72..a4aaf11f9 100644 --- a/panels/color/cc-color-calibrate.c +++ b/panels/color/cc-color-calibrate.c @@ -35,12 +35,12 @@ #include "cc-color-calibrate.h" -#define CC_COLOR_CALIBRATE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_COLOR_CALIBRATE, CcColorCalibratePrivate)) - #define CALIBRATE_WINDOW_OPACITY 0.9 -struct _CcColorCalibratePrivate +struct _CcColorCalibrate { + GObject parent_instance; + CdDevice *device; CdSensorCap device_kind; CdSensor *sensor; @@ -82,71 +82,71 @@ void cc_color_calibrate_set_kind (CcColorCalibrate *calibrate, CdSensorCap kind) { - g_return_if_fail (CC_IS_COLOR_CALIB (calibrate)); - calibrate->priv->device_kind = kind; + g_return_if_fail (CC_IS_COLOR_CALIBRATE (calibrate)); + calibrate->device_kind = kind; } void cc_color_calibrate_set_temperature (CcColorCalibrate *calibrate, guint temperature) { - g_return_if_fail (CC_IS_COLOR_CALIB (calibrate)); + g_return_if_fail (CC_IS_COLOR_CALIBRATE (calibrate)); g_return_if_fail (temperature < 10000); - calibrate->priv->target_whitepoint = temperature; + calibrate->target_whitepoint = temperature; } void cc_color_calibrate_set_quality (CcColorCalibrate *calibrate, CdProfileQuality quality) { - g_return_if_fail (CC_IS_COLOR_CALIB (calibrate)); - calibrate->priv->quality = quality; + g_return_if_fail (CC_IS_COLOR_CALIBRATE (calibrate)); + calibrate->quality = quality; } CdProfileQuality cc_color_calibrate_get_quality (CcColorCalibrate *calibrate) { - g_return_val_if_fail (CC_IS_COLOR_CALIB (calibrate), 0); - return calibrate->priv->quality; + g_return_val_if_fail (CC_IS_COLOR_CALIBRATE (calibrate), 0); + return calibrate->quality; } void cc_color_calibrate_set_device (CcColorCalibrate *calibrate, CdDevice *device) { - g_return_if_fail (CC_IS_COLOR_CALIB (calibrate)); + g_return_if_fail (CC_IS_COLOR_CALIBRATE (calibrate)); g_return_if_fail (CD_IS_DEVICE (device)); - if (calibrate->priv->device != NULL) - g_object_unref (calibrate->priv->device); - calibrate->priv->device = g_object_ref (device); + if (calibrate->device != NULL) + g_object_unref (calibrate->device); + calibrate->device = g_object_ref (device); } void cc_color_calibrate_set_sensor (CcColorCalibrate *calibrate, CdSensor *sensor) { - g_return_if_fail (CC_IS_COLOR_CALIB (calibrate)); + g_return_if_fail (CC_IS_COLOR_CALIBRATE (calibrate)); g_return_if_fail (CD_IS_SENSOR (sensor)); - if (calibrate->priv->sensor != NULL) - g_object_unref (calibrate->priv->sensor); - calibrate->priv->sensor = g_object_ref (sensor); + if (calibrate->sensor != NULL) + g_object_unref (calibrate->sensor); + calibrate->sensor = g_object_ref (sensor); } void cc_color_calibrate_set_title (CcColorCalibrate *calibrate, const gchar *title) { - g_return_if_fail (CC_IS_COLOR_CALIB (calibrate)); + g_return_if_fail (CC_IS_COLOR_CALIBRATE (calibrate)); g_return_if_fail (title != NULL); - g_free (calibrate->priv->title); - calibrate->priv->title = g_strdup (title); + g_free (calibrate->title); + calibrate->title = g_strdup (title); } CdProfile * cc_color_calibrate_get_profile (CcColorCalibrate *calibrate) { - g_return_val_if_fail (CC_IS_COLOR_CALIB (calibrate), NULL); - return calibrate->priv->profile; + g_return_val_if_fail (CC_IS_COLOR_CALIBRATE (calibrate), NULL); + return calibrate->profile; } static guint @@ -169,21 +169,20 @@ cc_color_calibrate_calib_setup_screen (CcColorCalibrate *calibrate, const gchar *name, GError **error) { - CcColorCalibratePrivate *priv = calibrate->priv; gboolean ret = TRUE; /* get screen */ - priv->x11_screen = gnome_rr_screen_new (gdk_screen_get_default (), error); - if (priv->x11_screen == NULL) + calibrate->x11_screen = gnome_rr_screen_new (gdk_screen_get_default (), error); + if (calibrate->x11_screen == NULL) { ret = FALSE; goto out; } /* get the output */ - priv->output = gnome_rr_screen_get_output_by_name (priv->x11_screen, + calibrate->output = gnome_rr_screen_get_output_by_name (calibrate->x11_screen, name); - if (priv->output == NULL) + if (calibrate->output == NULL) { ret = FALSE; g_set_error_literal (error, @@ -194,8 +193,8 @@ cc_color_calibrate_calib_setup_screen (CcColorCalibrate *calibrate, } /* create a lookup table */ - priv->gamma_size = _gnome_rr_output_get_gamma_size (priv->output); - if (priv->gamma_size == 0) + calibrate->gamma_size = _gnome_rr_output_get_gamma_size (calibrate->output); + if (calibrate->gamma_size == 0) { ret = FALSE; g_set_error_literal (error, @@ -224,7 +223,6 @@ cc_color_calibrate_calib_set_output_gamma (CcColorCalibrate *calibrate, GPtrArray *array, GError **error) { - CcColorCalibratePrivate *priv = calibrate->priv; CdColorRGB *p1; CdColorRGB *p2; CdColorRGB result; @@ -248,14 +246,14 @@ cc_color_calibrate_calib_set_output_gamma (CcColorCalibrate *calibrate, } /* convert to a type X understands of the right size */ - red = g_new (guint16, priv->gamma_size); - green = g_new (guint16, priv->gamma_size); - blue = g_new (guint16, priv->gamma_size); + red = g_new (guint16, calibrate->gamma_size); + green = g_new (guint16, calibrate->gamma_size); + blue = g_new (guint16, calibrate->gamma_size); cd_color_rgb_set (&result, 1.0, 1.0, 1.0); - for (i = 0; i < priv->gamma_size; i++) + for (i = 0; i < calibrate->gamma_size; i++) { mix = (gdouble) (array->len - 1) / - (gdouble) (priv->gamma_size - 1) * + (gdouble) (calibrate->gamma_size - 1) * (gdouble) i; p1 = g_ptr_array_index (array, (guint) floor (mix)); p2 = g_ptr_array_index (array, (guint) ceil (mix)); @@ -269,7 +267,7 @@ cc_color_calibrate_calib_set_output_gamma (CcColorCalibrate *calibrate, } /* send to LUT */ - crtc = gnome_rr_output_get_crtc (priv->output); + crtc = gnome_rr_output_get_crtc (calibrate->output); if (crtc == NULL) { ret = FALSE; @@ -277,10 +275,10 @@ cc_color_calibrate_calib_set_output_gamma (CcColorCalibrate *calibrate, CD_SESSION_ERROR, CD_SESSION_ERROR_INTERNAL, "failed to get ctrc for %s", - gnome_rr_output_get_name (priv->output)); + gnome_rr_output_get_name (calibrate->output)); goto out; } - gnome_rr_crtc_set_gamma (crtc, priv->gamma_size, + gnome_rr_crtc_set_gamma (crtc, calibrate->gamma_size, red, green, blue); out: g_free (red); @@ -295,7 +293,6 @@ cc_color_calibrate_property_changed_cb (GDBusProxy *proxy, GStrv invalidated_properties, CcColorCalibrate *calibrate) { - CcColorCalibratePrivate *priv = calibrate->priv; gboolean ret; GtkWidget *widget; guint value; @@ -305,7 +302,7 @@ cc_color_calibrate_property_changed_cb (GDBusProxy *proxy, "u", &value); if (ret) { - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "progressbar_status")); gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (widget), value / 100.0f); @@ -318,7 +315,6 @@ cc_color_calibrate_interaction_required (CcColorCalibrate *calibrate, const gchar *message, const gchar *image_path) { - CcColorCalibratePrivate *priv = calibrate->priv; const gchar *message_transl; gboolean show_button_start = FALSE; GdkPixbuf *pixbuf; @@ -331,7 +327,7 @@ cc_color_calibrate_interaction_required (CcColorCalibrate *calibrate, image_path = "preferences-color-symbolic"; /* set image */ - img = GTK_IMAGE (gtk_builder_get_object (priv->builder, + img = GTK_IMAGE (gtk_builder_get_object (calibrate->builder, "image_status")); if (image_path != NULL && image_path[0] != '\0') { @@ -345,13 +341,13 @@ cc_color_calibrate_interaction_required (CcColorCalibrate *calibrate, g_object_unref (pixbuf); } gtk_widget_set_visible (GTK_WIDGET (img), TRUE); - gtk_widget_set_visible (GTK_WIDGET (priv->sample_widget), FALSE); + gtk_widget_set_visible (GTK_WIDGET (calibrate->sample_widget), FALSE); } else { g_debug ("hiding image"); gtk_widget_set_visible (GTK_WIDGET (img), FALSE); - gtk_widget_set_visible (GTK_WIDGET (priv->sample_widget), TRUE); + gtk_widget_set_visible (GTK_WIDGET (calibrate->sample_widget), TRUE); } /* set new status */ @@ -384,15 +380,15 @@ cc_color_calibrate_interaction_required (CcColorCalibrate *calibrate, message_transl = message; break; } - label = GTK_LABEL (gtk_builder_get_object (priv->builder, + label = GTK_LABEL (gtk_builder_get_object (calibrate->builder, "label_status")); gtk_label_set_label (label, message_transl); /* show the correct button */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_start")); gtk_widget_set_visible (widget, show_button_start); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_resume")); gtk_widget_set_visible (widget, !show_button_start); } @@ -442,22 +438,21 @@ cc_color_calibrate_finished (CcColorCalibrate *calibrate, GtkWidget *widget; GString *str; const gchar *tmp; - CcColorCalibratePrivate *priv = calibrate->priv; /* save failure so we can get this after we've quit the loop */ - calibrate->priv->session_error_code = code; + calibrate->session_error_code = code; /* show correct buttons */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_cancel")); gtk_widget_set_visible (widget, FALSE); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_start")); gtk_widget_set_visible (widget, FALSE); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_resume")); gtk_widget_set_visible (widget, FALSE); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_done")); gtk_widget_set_visible (widget, TRUE); @@ -483,7 +478,7 @@ cc_color_calibrate_finished (CcColorCalibrate *calibrate, /* TRANSLATORS: The user can now remove the sensor from the screen */ g_string_append (str, _("You can remove the calibration device.")); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "label_status")); gtk_label_set_label (GTK_LABEL (widget), str->str); g_string_free (str, TRUE); @@ -496,7 +491,6 @@ cc_color_calibrate_signal_cb (GDBusProxy *proxy, GVariant *parameters, CcColorCalibrate *calibrate) { - CcColorCalibratePrivate *priv = calibrate->priv; CdColorRGB color; CdColorRGB *color_tmp; const gchar *image = NULL; @@ -521,7 +515,7 @@ cc_color_calibrate_signal_cb (GDBusProxy *proxy, g_variant_lookup (dict, "ErrorDetails", "&s", &str); ret = g_variant_lookup (dict, "ProfilePath", "&s", &profile_path); if (ret) - priv->profile = cd_profile_new_with_object_path (profile_path); + calibrate->profile = cd_profile_new_with_object_path (profile_path); cc_color_calibrate_finished (calibrate, error_code, str); goto out; } @@ -531,24 +525,24 @@ cc_color_calibrate_signal_cb (GDBusProxy *proxy, &color.R, &color.G, &color.B); - img = GTK_IMAGE (gtk_builder_get_object (priv->builder, + img = GTK_IMAGE (gtk_builder_get_object (calibrate->builder, "image_status")); gtk_widget_set_visible (GTK_WIDGET (img), FALSE); - gtk_widget_set_visible (GTK_WIDGET (priv->sample_widget), TRUE); - cd_sample_widget_set_color (CD_SAMPLE_WIDGET (priv->sample_widget), + gtk_widget_set_visible (GTK_WIDGET (calibrate->sample_widget), TRUE); + cd_sample_widget_set_color (CD_SAMPLE_WIDGET (calibrate->sample_widget), &color); /* for Lenovo W700 and W520 laptops we almost fullscreen the * sample widget as the device is actually embedded in the * palmrest! */ - if (cd_sensor_get_embedded (priv->sensor)) + if (cd_sensor_get_embedded (calibrate->sensor)) { g_debug ("Making sample window larger for embedded sensor"); - gtk_widget_set_size_request (priv->sample_widget, 1000, 600); + gtk_widget_set_size_request (calibrate->sample_widget, 1000, 600); } /* set the generic label too */ - label = GTK_LABEL (gtk_builder_get_object (priv->builder, + label = GTK_LABEL (gtk_builder_get_object (calibrate->builder, "label_status")); /* TRANSLATORS: The user has to be careful not to knock the * display off the screen (although we do cope if this is @@ -613,7 +607,7 @@ cc_color_calibrate_cancel (CcColorCalibrate *calibrate) GError *error = NULL; /* cancel the calibration to ensure the helper quits */ - retval = g_dbus_proxy_call_sync (calibrate->priv->proxy_helper, + retval = g_dbus_proxy_call_sync (calibrate->proxy_helper, "Cancel", NULL, G_DBUS_CALL_FLAGS_NONE, @@ -627,7 +621,7 @@ cc_color_calibrate_cancel (CcColorCalibrate *calibrate) } /* return */ - g_main_loop_quit (calibrate->priv->loop); + g_main_loop_quit (calibrate->loop); if (retval != NULL) g_variant_unref (retval); } @@ -708,7 +702,7 @@ cc_color_calibrate_window_state_cb (GtkWidget *widget, /* resize to the correct screen */ ret = cc_color_calibrate_move_and_resize_window (window, - calibrate->priv->device, + calibrate->device, &error); if (!ret) { @@ -722,27 +716,26 @@ static void cc_color_calibrate_button_done_cb (GtkWidget *widget, CcColorCalibrate *calibrate) { - g_main_loop_quit (calibrate->priv->loop); + g_main_loop_quit (calibrate->loop); } static void cc_color_calibrate_button_start_cb (GtkWidget *widget, CcColorCalibrate *calibrate) { - CcColorCalibratePrivate *priv = calibrate->priv; GError *error = NULL; GVariant *retval; /* set correct buttons */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_start")); gtk_widget_set_visible (widget, FALSE); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_resume")); gtk_widget_set_visible (widget, FALSE); /* continue */ - retval = g_dbus_proxy_call_sync (calibrate->priv->proxy_helper, + retval = g_dbus_proxy_call_sync (calibrate->proxy_helper, "Resume", NULL, G_DBUS_CALL_FLAGS_NONE, @@ -799,20 +792,19 @@ cc_color_calibrate_alpha_screen_changed_cb (GtkWindow *window, static void cc_color_calibrate_uninhibit (CcColorCalibrate *calibrate) { - CcColorCalibratePrivate *priv = calibrate->priv; GtkApplication *application; - if (priv->inhibit_fd != -1) + if (calibrate->inhibit_fd != -1) { - close (priv->inhibit_fd); - priv->inhibit_fd = -1; + close (calibrate->inhibit_fd); + calibrate->inhibit_fd = -1; } - if (priv->inhibit_cookie != 0) + if (calibrate->inhibit_cookie != 0) { application = GTK_APPLICATION (g_application_get_default ()); - gtk_application_uninhibit (application, priv->inhibit_cookie); - priv->inhibit_cookie = 0; + gtk_application_uninhibit (application, calibrate->inhibit_cookie); + calibrate->inhibit_cookie = 0; } } @@ -824,11 +816,10 @@ cc_color_calibrate_inhibit (CcColorCalibrate *calibrate, GtkWindow *window) GUnixFDList *fd_list = NULL; GVariant *retval; GtkApplication *application; - CcColorCalibratePrivate *priv = calibrate->priv; /* inhibit basically everything we can */ application = GTK_APPLICATION (g_application_get_default ()); - priv->inhibit_cookie = gtk_application_inhibit (application, + calibrate->inhibit_cookie = gtk_application_inhibit (application, window, GTK_APPLICATION_INHIBIT_LOGOUT | GTK_APPLICATION_INHIBIT_SWITCH | @@ -837,7 +828,7 @@ cc_color_calibrate_inhibit (CcColorCalibrate *calibrate, GtkWindow *window) "Display calibration in progress"); /* tell logind to disallow the lid switch */ - retval = g_dbus_proxy_call_with_unix_fd_list_sync (priv->proxy_inhibit, + retval = g_dbus_proxy_call_with_unix_fd_list_sync (calibrate->proxy_inhibit, "Inhibit", g_variant_new ("(ssss)", "shutdown:" @@ -860,14 +851,14 @@ cc_color_calibrate_inhibit (CcColorCalibrate *calibrate, GtkWindow *window) goto out; } g_variant_get (retval, "(h)", &idx); - priv->inhibit_fd = g_unix_fd_list_get (fd_list, idx, &error); - if (priv->inhibit_fd == -1) + calibrate->inhibit_fd = g_unix_fd_list_get (fd_list, idx, &error); + if (calibrate->inhibit_fd == -1) { g_warning ("Failed to receive system inhibitor fd: %s", error->message); g_error_free (error); goto out; } - g_debug ("System inhibitor fd is %d", priv->inhibit_fd); + g_debug ("System inhibitor fd is %d", calibrate->inhibit_fd); out: if (fd_list != NULL) g_object_unref (fd_list); @@ -879,44 +870,43 @@ gboolean cc_color_calibrate_setup (CcColorCalibrate *calibrate, GError **error) { - CcColorCalibratePrivate *priv = calibrate->priv; gboolean ret = TRUE; - g_return_val_if_fail (CC_IS_COLOR_CALIB (calibrate), FALSE); - g_return_val_if_fail (calibrate->priv->device_kind != CD_SENSOR_CAP_UNKNOWN, FALSE); + g_return_val_if_fail (CC_IS_COLOR_CALIBRATE (calibrate), FALSE); + g_return_val_if_fail (calibrate->device_kind != CD_SENSOR_CAP_UNKNOWN, FALSE); /* use logind to disable system state idle */ - priv->proxy_inhibit = cc_object_storage_create_dbus_proxy_sync (G_BUS_TYPE_SYSTEM, - G_DBUS_PROXY_FLAGS_NONE, - "org.freedesktop.login1", - "/org/freedesktop/login1", - "org.freedesktop.login1.Manager", - NULL, - error); - if (priv->proxy_inhibit == NULL) + calibrate->proxy_inhibit = cc_object_storage_create_dbus_proxy_sync (G_BUS_TYPE_SYSTEM, + G_DBUS_PROXY_FLAGS_NONE, + "org.freedesktop.login1", + "/org/freedesktop/login1", + "org.freedesktop.login1.Manager", + NULL, + error); + if (calibrate->proxy_inhibit == NULL) { ret = FALSE; goto out; } /* start the calibration session daemon */ - priv->proxy_helper = cc_object_storage_create_dbus_proxy_sync (G_BUS_TYPE_SESSION, - G_DBUS_PROXY_FLAGS_NONE, - CD_SESSION_DBUS_SERVICE, - CD_SESSION_DBUS_PATH, - CD_SESSION_DBUS_INTERFACE_DISPLAY, - NULL, - error); - if (priv->proxy_helper == NULL) + calibrate->proxy_helper = cc_object_storage_create_dbus_proxy_sync (G_BUS_TYPE_SESSION, + G_DBUS_PROXY_FLAGS_NONE, + CD_SESSION_DBUS_SERVICE, + CD_SESSION_DBUS_PATH, + CD_SESSION_DBUS_INTERFACE_DISPLAY, + NULL, + error); + if (calibrate->proxy_helper == NULL) { ret = FALSE; goto out; } - g_signal_connect_object (priv->proxy_helper, + g_signal_connect_object (calibrate->proxy_helper, "g-properties-changed", G_CALLBACK (cc_color_calibrate_property_changed_cb), calibrate, 0); - g_signal_connect_object (priv->proxy_helper, + g_signal_connect_object (calibrate->proxy_helper, "g-signal", G_CALLBACK (cc_color_calibrate_signal_cb), calibrate, 0); @@ -929,7 +919,6 @@ cc_color_calibrate_start (CcColorCalibrate *calibrate, GtkWindow *parent, GError **error) { - CcColorCalibratePrivate *priv = calibrate->priv; const gchar *name; gboolean ret; GtkWidget *widget; @@ -937,10 +926,10 @@ cc_color_calibrate_start (CcColorCalibrate *calibrate, GVariantBuilder builder; GVariant *retval = NULL; - g_return_val_if_fail (CC_IS_COLOR_CALIB (calibrate), FALSE); + g_return_val_if_fail (CC_IS_COLOR_CALIBRATE (calibrate), FALSE); /* get screen */ - name = cd_device_get_metadata_item (priv->device, + name = cd_device_get_metadata_item (calibrate->device, CD_DEVICE_METADATA_XRANDR_NAME); ret = cc_color_calibrate_calib_setup_screen (calibrate, name, error); if (!ret) @@ -950,28 +939,28 @@ cc_color_calibrate_start (CcColorCalibrate *calibrate, g_variant_builder_add (&builder, "{sv}", "Quality", - g_variant_new_uint32 (priv->quality)); + g_variant_new_uint32 (calibrate->quality)); g_variant_builder_add (&builder, "{sv}", "Whitepoint", - g_variant_new_uint32 (priv->target_whitepoint)); + g_variant_new_uint32 (calibrate->target_whitepoint)); g_variant_builder_add (&builder, "{sv}", "Gamma", - g_variant_new_double (priv->target_gamma)); + g_variant_new_double (calibrate->target_gamma)); g_variant_builder_add (&builder, "{sv}", "Title", - g_variant_new_string (priv->title)); + g_variant_new_string (calibrate->title)); g_variant_builder_add (&builder, "{sv}", "DeviceKind", - g_variant_new_uint32 (priv->device_kind)); - retval = g_dbus_proxy_call_sync (priv->proxy_helper, + g_variant_new_uint32 (calibrate->device_kind)); + retval = g_dbus_proxy_call_sync (calibrate->proxy_helper, "Start", g_variant_new ("(ssa{sv})", - cd_device_get_id (priv->device), - cd_sensor_get_id (priv->sensor), + cd_device_get_id (calibrate->device), + cd_sensor_get_id (calibrate->sensor), &builder), G_DBUS_CALL_FLAGS_NONE, -1, @@ -984,36 +973,36 @@ cc_color_calibrate_start (CcColorCalibrate *calibrate, } /* set this above our parent */ - window = GTK_WINDOW (gtk_builder_get_object (priv->builder, + window = GTK_WINDOW (gtk_builder_get_object (calibrate->builder, "dialog_calibrate")); gtk_window_set_modal (window, TRUE); gtk_widget_show (GTK_WIDGET (window)); /* show correct buttons */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_cancel")); gtk_widget_set_visible (widget, TRUE); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_start")); gtk_widget_set_visible (widget, TRUE); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_resume")); gtk_widget_set_visible (widget, FALSE); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_done")); gtk_widget_set_visible (widget, FALSE); /* stop the computer from auto-suspending or turning off the screen */ cc_color_calibrate_inhibit (calibrate, parent); - g_main_loop_run (priv->loop); + g_main_loop_run (calibrate->loop); gtk_widget_hide (GTK_WIDGET (window)); /* we can go idle now */ cc_color_calibrate_uninhibit (calibrate); /* see if we failed */ - if (calibrate->priv->session_error_code != CD_SESSION_ERROR_NONE) + if (calibrate->session_error_code != CD_SESSION_ERROR_NONE) { ret = FALSE; g_set_error_literal (error, @@ -1041,17 +1030,16 @@ static void cc_color_calibrate_finalize (GObject *object) { CcColorCalibrate *calibrate = CC_COLOR_CALIBRATE (object); - CcColorCalibratePrivate *priv = calibrate->priv; - g_clear_pointer (&priv->window, gtk_widget_destroy); - g_clear_object (&priv->builder); - g_clear_object (&priv->device); - g_clear_object (&priv->proxy_helper); - g_clear_object (&priv->proxy_inhibit); - g_clear_object (&priv->sensor); - g_clear_object (&priv->x11_screen); - g_free (priv->title); - g_main_loop_unref (priv->loop); + g_clear_pointer (&calibrate->window, gtk_widget_destroy); + g_clear_object (&calibrate->builder); + g_clear_object (&calibrate->device); + g_clear_object (&calibrate->proxy_helper); + g_clear_object (&calibrate->proxy_inhibit); + g_clear_object (&calibrate->sensor); + g_clear_object (&calibrate->x11_screen); + g_free (calibrate->title); + g_main_loop_unref (calibrate->loop); G_OBJECT_CLASS (cc_color_calibrate_parent_class)->finalize (object); } @@ -1061,14 +1049,11 @@ cc_color_calibrate_class_init (CcColorCalibrateClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->finalize = cc_color_calibrate_finalize; - - g_type_class_add_private (klass, sizeof (CcColorCalibratePrivate)); } static void cc_color_calibrate_init (CcColorCalibrate *calibrate) { - CcColorCalibratePrivate *priv = calibrate->priv; GError *error = NULL; gint retval; GSettings *settings; @@ -1076,13 +1061,12 @@ cc_color_calibrate_init (CcColorCalibrate *calibrate) GtkWidget *widget; GtkWindow *window; - calibrate->priv = priv = CC_COLOR_CALIBRATE_GET_PRIVATE (calibrate); - calibrate->priv->loop = g_main_loop_new (NULL, FALSE); - calibrate->priv->inhibit_fd = -1; + calibrate->loop = g_main_loop_new (NULL, FALSE); + calibrate->inhibit_fd = -1; /* load UI */ - priv->builder = gtk_builder_new (); - retval = gtk_builder_add_from_resource (priv->builder, + calibrate->builder = gtk_builder_new (); + retval = gtk_builder_add_from_resource (calibrate->builder, "/org/gnome/control-center/color/color-calibrate.ui", &error); if (retval == 0) @@ -1092,42 +1076,42 @@ cc_color_calibrate_init (CcColorCalibrate *calibrate) } /* add sample widget */ - box = GTK_BOX (gtk_builder_get_object (priv->builder, + box = GTK_BOX (gtk_builder_get_object (calibrate->builder, "vbox_status")); - priv->sample_widget = cd_sample_widget_new (); - gtk_widget_set_size_request (priv->sample_widget, 400, 400); - gtk_box_pack_start (box, priv->sample_widget, FALSE, FALSE, 0); - gtk_box_reorder_child (box, priv->sample_widget, 0); - gtk_widget_set_vexpand (priv->sample_widget, FALSE); - gtk_widget_set_hexpand (priv->sample_widget, FALSE); + calibrate->sample_widget = cd_sample_widget_new (); + gtk_widget_set_size_request (calibrate->sample_widget, 400, 400); + gtk_box_pack_start (box, calibrate->sample_widget, FALSE, FALSE, 0); + gtk_box_reorder_child (box, calibrate->sample_widget, 0); + gtk_widget_set_vexpand (calibrate->sample_widget, FALSE); + gtk_widget_set_hexpand (calibrate->sample_widget, FALSE); /* get defaults */ settings = g_settings_new (COLORD_SETTINGS_SCHEMA); - calibrate->priv->target_whitepoint = g_settings_get_int (settings, "display-whitepoint"); - calibrate->priv->target_gamma = g_settings_get_double (settings, "display-gamma"); + calibrate->target_whitepoint = g_settings_get_int (settings, "display-whitepoint"); + calibrate->target_gamma = g_settings_get_double (settings, "display-gamma"); g_object_unref (settings); /* connect to buttons */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_start")); g_signal_connect (widget, "clicked", G_CALLBACK (cc_color_calibrate_button_start_cb), calibrate); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_resume")); g_signal_connect (widget, "clicked", G_CALLBACK (cc_color_calibrate_button_start_cb), calibrate); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_done")); g_signal_connect (widget, "clicked", G_CALLBACK (cc_color_calibrate_button_done_cb), calibrate); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (calibrate->builder, "button_cancel")); g_signal_connect (widget, "clicked", G_CALLBACK (cc_color_calibrate_button_cancel_cb), calibrate); gtk_widget_show (widget); /* setup the specialist calibration window */ - window = GTK_WINDOW (gtk_builder_get_object (priv->builder, + window = GTK_WINDOW (gtk_builder_get_object (calibrate->builder, "dialog_calibrate")); g_signal_connect (window, "draw", G_CALLBACK (cc_color_calibrate_alpha_window_draw), calibrate); @@ -1142,7 +1126,7 @@ cc_color_calibrate_init (CcColorCalibrate *calibrate) cc_color_calibrate_alpha_screen_changed_cb (GTK_WINDOW (window), NULL, calibrate); g_signal_connect (window, "screen-changed", G_CALLBACK (cc_color_calibrate_alpha_screen_changed_cb), calibrate); - priv->window = window; + calibrate->window = window; } CcColorCalibrate * diff --git a/panels/color/cc-color-calibrate.h b/panels/color/cc-color-calibrate.h index d834c7957..4fb6d3749 100644 --- a/panels/color/cc-color-calibrate.h +++ b/panels/color/cc-color-calibrate.h @@ -28,30 +28,10 @@ G_BEGIN_DECLS -#define CC_TYPE_COLOR_CALIBRATE (cc_color_calibrate_get_type ()) -#define CC_COLOR_CALIBRATE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CC_TYPE_COLOR_CALIBRATE, CcColorCalibrate)) -#define CC_COLOR_CALIBRATE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), CC_TYPE_COLOR_CALIBRATE, CcColorCalibrateClass)) -#define CC_IS_COLOR_CALIB(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CC_TYPE_COLOR_CALIBRATE)) -#define CC_IS_COLOR_CALIB_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CC_TYPE_COLOR_CALIBRATE)) -#define CC_COLOR_CALIBRATE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CC_TYPE_COLOR_CALIBRATE, CcColorCalibrateClass)) - -typedef struct _CcColorCalibratePrivate CcColorCalibratePrivate; -typedef struct _CcColorCalibrate CcColorCalibrate; -typedef struct _CcColorCalibrateClass CcColorCalibrateClass; - -struct _CcColorCalibrate -{ - GObject parent; - CcColorCalibratePrivate *priv; -}; - -struct _CcColorCalibrateClass -{ - GObjectClass parent_class; -}; +#define CC_TYPE_COLOR_CALIBRATE (cc_color_calibrate_get_type ()) +G_DECLARE_FINAL_TYPE (CcColorCalibrate, cc_color_calibrate, CC, COLOR_CALIBRATE, GObject) CcColorCalibrate *cc_color_calibrate_new (void); -GType cc_color_calibrate_get_type (void); void cc_color_calibrate_set_kind (CcColorCalibrate *calibrate, CdSensorCap kind); void cc_color_calibrate_set_temperature (CcColorCalibrate *calibrate, diff --git a/panels/color/cc-color-cell-renderer-text.c b/panels/color/cc-color-cell-renderer-text.c index 265eeff66..8e64ecfe7 100644 --- a/panels/color/cc-color-cell-renderer-text.c +++ b/panels/color/cc-color-cell-renderer-text.c @@ -31,6 +31,13 @@ enum { PROP_LAST }; +struct _CcColorCellRendererText +{ + GtkCellRendererText parent_instance; + + gboolean is_dim_label; +}; + G_DEFINE_TYPE (CcColorCellRendererText, cc_color_cell_renderer_text, GTK_TYPE_CELL_RENDERER_TEXT) static gpointer parent_class = NULL; diff --git a/panels/color/cc-color-cell-renderer-text.h b/panels/color/cc-color-cell-renderer-text.h index b79d3ca1e..f30936173 100644 --- a/panels/color/cc-color-cell-renderer-text.h +++ b/panels/color/cc-color-cell-renderer-text.h @@ -24,31 +24,10 @@ #include -#define CC_COLOR_TYPE_CELL_RENDERER_TEXT (cc_color_cell_renderer_text_get_type()) -#define CC_COLOR_CELL_RENDERER_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), CC_COLOR_TYPE_CELL_RENDERER_TEXT, CcColorCellRendererText)) -#define CC_COLOR_CELL_RENDERER_TEXT_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST((cls), CC_COLOR_TYPE_CELL_RENDERER_TEXT, CcColorCellRendererTextClass)) -#define CC_COLOR_IS_CELL_RENDERER_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), CC_COLOR_TYPE_CELL_RENDERER_TEXT)) -#define CC_COLOR_IS_CELL_RENDERER_TEXT_CLASS(cls) (G_TYPE_CHECK_CLASS_TYPE((cls), CC_COLOR_TYPE_CELL_RENDERER_TEXT)) -#define CC_COLOR_CELL_RENDERER_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), CC_COLOR_TYPE_CELL_RENDERER_TEXT, CcColorCellRendererTextClass)) +#define CC_COLOR_TYPE_CELL_RENDERER_TEXT (cc_color_cell_renderer_text_get_type ()) +G_DECLARE_FINAL_TYPE (CcColorCellRendererText, cc_color_cell_renderer_text, CC_COLOR, CELL_RENDERER_TEXT, GtkCellRendererText) -G_BEGIN_DECLS - -typedef struct _CcColorCellRendererText CcColorCellRendererText; -typedef struct _CcColorCellRendererTextClass CcColorCellRendererTextClass; - -struct _CcColorCellRendererText -{ - GtkCellRendererText parent; - gboolean is_dim_label; -}; - -struct _CcColorCellRendererTextClass -{ - GtkCellRendererTextClass parent_class; -}; - -GType cc_color_cell_renderer_text_get_type (void); -GtkCellRenderer *cc_color_cell_renderer_text_new (void); +GtkCellRenderer *cc_color_cell_renderer_text_new (void); G_END_DECLS diff --git a/panels/color/cc-color-device.c b/panels/color/cc-color-device.c index b31a8260f..2d1223086 100644 --- a/panels/color/cc-color-device.c +++ b/panels/color/cc-color-device.c @@ -27,8 +27,10 @@ #include "cc-color-common.h" #include "cc-color-device.h" -struct _CcColorDevicePrivate +struct _CcColorDevice { + GtkListBoxRow parent_instance; + CdDevice *device; gboolean expanded; gchar *sortable; @@ -60,38 +62,37 @@ static guint signals [SIGNAL_LAST] = { 0 }; static void cc_color_device_refresh (CcColorDevice *color_device) { - CcColorDevicePrivate *priv = color_device->priv; gchar *title = NULL; GPtrArray *profiles = NULL; AtkObject *accessible; gchar *name = NULL; /* add switch and expander if there are profiles, otherwise use a label */ - profiles = cd_device_get_profiles (priv->device); + profiles = cd_device_get_profiles (color_device->device); if (profiles == NULL) goto out; - title = cc_color_device_get_title (priv->device); - gtk_label_set_label (GTK_LABEL (priv->widget_description), title); - gtk_widget_set_visible (priv->widget_description, TRUE); + title = cc_color_device_get_title (color_device->device); + gtk_label_set_label (GTK_LABEL (color_device->widget_description), title); + gtk_widget_set_visible (color_device->widget_description, TRUE); - gtk_widget_set_visible (priv->widget_switch, profiles->len > 0); - gtk_widget_set_visible (priv->widget_button, profiles->len > 0); - gtk_image_set_from_icon_name (GTK_IMAGE (priv->widget_arrow), - priv->expanded ? "pan-down-symbolic" : "pan-end-symbolic", + gtk_widget_set_visible (color_device->widget_switch, profiles->len > 0); + gtk_widget_set_visible (color_device->widget_button, profiles->len > 0); + gtk_image_set_from_icon_name (GTK_IMAGE (color_device->widget_arrow), + color_device->expanded ? "pan-down-symbolic" : "pan-end-symbolic", GTK_ICON_SIZE_BUTTON); - gtk_widget_set_visible (priv->widget_nocalib, profiles->len == 0); - gtk_widget_set_sensitive (priv->widget_button, cd_device_get_enabled (priv->device)); - gtk_switch_set_active (GTK_SWITCH (priv->widget_switch), - cd_device_get_enabled (priv->device)); + gtk_widget_set_visible (color_device->widget_nocalib, profiles->len == 0); + gtk_widget_set_sensitive (color_device->widget_button, cd_device_get_enabled (color_device->device)); + gtk_switch_set_active (GTK_SWITCH (color_device->widget_switch), + cd_device_get_enabled (color_device->device)); - accessible = gtk_widget_get_accessible (priv->widget_switch); + accessible = gtk_widget_get_accessible (color_device->widget_switch); name = g_strdup_printf (_("Enable color management for %s"), title); atk_object_set_name (accessible, name); g_free (name); name = g_strdup_printf (_("Show color profiles for %s"), title); - accessible = gtk_widget_get_accessible (priv->widget_button); + accessible = gtk_widget_get_accessible (color_device->widget_button); atk_object_set_name (accessible, name); g_free (name); @@ -105,14 +106,14 @@ CdDevice * cc_color_device_get_device (CcColorDevice *color_device) { g_return_val_if_fail (CC_IS_COLOR_DEVICE (color_device), NULL); - return color_device->priv->device; + return color_device->device; } const gchar * cc_color_device_get_sortable (CcColorDevice *color_device) { g_return_val_if_fail (CC_IS_COLOR_DEVICE (color_device), NULL); - return color_device->priv->sortable; + return color_device->sortable; } static void @@ -123,7 +124,7 @@ cc_color_device_get_property (GObject *object, guint param_id, switch (param_id) { case PROP_DEVICE: - g_value_set_object (value, color_device->priv->device); + g_value_set_object (value, color_device->device); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); @@ -140,7 +141,7 @@ cc_color_device_set_property (GObject *object, guint param_id, switch (param_id) { case PROP_DEVICE: - color_device->priv->device = g_value_dup_object (value); + color_device->device = g_value_dup_object (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); @@ -152,13 +153,12 @@ static void cc_color_device_finalize (GObject *object) { CcColorDevice *color_device = CC_COLOR_DEVICE (object); - CcColorDevicePrivate *priv = color_device->priv; - if (priv->device_changed_id > 0) - g_signal_handler_disconnect (priv->device, priv->device_changed_id); + if (color_device->device_changed_id > 0) + g_signal_handler_disconnect (color_device->device, color_device->device_changed_id); - g_free (priv->sortable); - g_object_unref (priv->device); + g_free (color_device->sortable); + g_object_unref (color_device->device); G_OBJECT_CLASS (cc_color_device_parent_class)->finalize (object); } @@ -167,17 +167,15 @@ void cc_color_device_set_expanded (CcColorDevice *color_device, gboolean expanded) { - CcColorDevicePrivate *priv = color_device->priv; - /* same as before */ - if (priv->expanded == expanded) + if (color_device->expanded == expanded) return; /* refresh */ - priv->expanded = expanded; + color_device->expanded = expanded; g_signal_emit (color_device, signals[SIGNAL_EXPANDED_CHANGED], 0, - priv->expanded); + color_device->expanded); cc_color_device_refresh (color_device); } @@ -187,14 +185,13 @@ cc_color_device_notify_enable_device_cb (GtkSwitch *sw, gpointer user_data) { CcColorDevice *color_device = CC_COLOR_DEVICE (user_data); - CcColorDevicePrivate *priv = color_device->priv; gboolean enable; gboolean ret; GError *error = NULL; enable = gtk_switch_get_active (sw); - g_debug ("Set %s to %i", cd_device_get_id (priv->device), enable); - ret = cd_device_set_enabled_sync (priv->device, + g_debug ("Set %s to %i", cd_device_get_id (color_device->device), enable); + ret = cd_device_set_enabled_sync (color_device->device, enable, NULL, &error); if (!ret) { @@ -218,25 +215,24 @@ static void cc_color_device_constructed (GObject *object) { CcColorDevice *color_device = CC_COLOR_DEVICE (object); - CcColorDevicePrivate *priv = color_device->priv; gchar *sortable_tmp; /* watch the device for changes */ - priv->device_changed_id = - g_signal_connect (priv->device, "changed", + color_device->device_changed_id = + g_signal_connect (color_device->device, "changed", G_CALLBACK (cc_color_device_changed_cb), color_device); /* calculate sortable -- FIXME: we have to hack this as EggListBox * does not let us specify a GtkSortType: * https://bugzilla.gnome.org/show_bug.cgi?id=691341 */ - sortable_tmp = cc_color_device_get_sortable_base (priv->device); - priv->sortable = g_strdup_printf ("%sXX", sortable_tmp); + sortable_tmp = cc_color_device_get_sortable_base (color_device->device); + color_device->sortable = g_strdup_printf ("%sXX", sortable_tmp); g_free (sortable_tmp); cc_color_device_refresh (color_device); /* watch to see if the user flicked the switch */ - g_signal_connect (priv->widget_switch, "notify::active", + g_signal_connect (color_device->widget_switch, "notify::active", G_CALLBACK (cc_color_device_notify_enable_device_cb), color_device); } @@ -259,11 +255,9 @@ cc_color_device_class_init (CcColorDeviceClass *klass) signals [SIGNAL_EXPANDED_CHANGED] = g_signal_new ("expanded-changed", G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (CcColorDeviceClass, expanded_changed), + 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN); - - g_type_class_add_private (klass, sizeof (CcColorDevicePrivate)); } static void @@ -271,60 +265,54 @@ cc_color_device_clicked_expander_cb (GtkButton *button, gpointer user_data) { CcColorDevice *color_device = CC_COLOR_DEVICE (user_data); - color_device->priv->expanded = !color_device->priv->expanded; + color_device->expanded = !color_device->expanded; cc_color_device_refresh (color_device); g_signal_emit (color_device, signals[SIGNAL_EXPANDED_CHANGED], 0, - color_device->priv->expanded); + color_device->expanded); } static void cc_color_device_init (CcColorDevice *color_device) { - CcColorDevicePrivate *priv; GtkStyleContext *context; GtkWidget *box; - color_device->priv = G_TYPE_INSTANCE_GET_PRIVATE (color_device, - CC_TYPE_COLOR_DEVICE, - CcColorDevicePrivate); - priv = color_device->priv; - /* description */ box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 9); - priv->widget_description = gtk_label_new (""); - gtk_widget_set_margin_start (priv->widget_description, 20); - gtk_widget_set_margin_top (priv->widget_description, 12); - gtk_widget_set_margin_bottom (priv->widget_description, 12); - gtk_widget_set_halign (priv->widget_description, GTK_ALIGN_START); - gtk_box_pack_start (GTK_BOX (box), priv->widget_description, TRUE, TRUE, 0); + color_device->widget_description = gtk_label_new (""); + gtk_widget_set_margin_start (color_device->widget_description, 20); + gtk_widget_set_margin_top (color_device->widget_description, 12); + gtk_widget_set_margin_bottom (color_device->widget_description, 12); + gtk_widget_set_halign (color_device->widget_description, GTK_ALIGN_START); + gtk_box_pack_start (GTK_BOX (box), color_device->widget_description, TRUE, TRUE, 0); /* switch */ - priv->widget_switch = gtk_switch_new (); - gtk_widget_set_valign (priv->widget_switch, GTK_ALIGN_CENTER); - gtk_box_pack_start (GTK_BOX (box), priv->widget_switch, FALSE, FALSE, 0); + color_device->widget_switch = gtk_switch_new (); + gtk_widget_set_valign (color_device->widget_switch, GTK_ALIGN_CENTER); + gtk_box_pack_start (GTK_BOX (box), color_device->widget_switch, FALSE, FALSE, 0); /* arrow button */ - priv->widget_arrow = gtk_image_new_from_icon_name ("pan-end-symbolic", + color_device->widget_arrow = gtk_image_new_from_icon_name ("pan-end-symbolic", GTK_ICON_SIZE_BUTTON); - priv->widget_button = gtk_button_new (); - g_signal_connect (priv->widget_button, "clicked", + color_device->widget_button = gtk_button_new (); + g_signal_connect (color_device->widget_button, "clicked", G_CALLBACK (cc_color_device_clicked_expander_cb), color_device); - gtk_widget_set_valign (priv->widget_button, GTK_ALIGN_CENTER); - gtk_button_set_relief (GTK_BUTTON (priv->widget_button), GTK_RELIEF_NONE); - gtk_container_add (GTK_CONTAINER (priv->widget_button), priv->widget_arrow); - gtk_widget_set_visible (priv->widget_arrow, TRUE); - gtk_widget_set_margin_top (priv->widget_button, 9); - gtk_widget_set_margin_bottom (priv->widget_button, 9); - gtk_widget_set_margin_end (priv->widget_button, 12); - gtk_box_pack_start (GTK_BOX (box), priv->widget_button, FALSE, FALSE, 0); + gtk_widget_set_valign (color_device->widget_button, GTK_ALIGN_CENTER); + gtk_button_set_relief (GTK_BUTTON (color_device->widget_button), GTK_RELIEF_NONE); + gtk_container_add (GTK_CONTAINER (color_device->widget_button), color_device->widget_arrow); + gtk_widget_set_visible (color_device->widget_arrow, TRUE); + gtk_widget_set_margin_top (color_device->widget_button, 9); + gtk_widget_set_margin_bottom (color_device->widget_button, 9); + gtk_widget_set_margin_end (color_device->widget_button, 12); + gtk_box_pack_start (GTK_BOX (box), color_device->widget_button, FALSE, FALSE, 0); /* not calibrated */ - priv->widget_nocalib = gtk_label_new (_("Not calibrated")); - context = gtk_widget_get_style_context (priv->widget_nocalib); + color_device->widget_nocalib = gtk_label_new (_("Not calibrated")); + context = gtk_widget_get_style_context (color_device->widget_nocalib); gtk_style_context_add_class (context, "dim-label"); - gtk_widget_set_margin_end (priv->widget_nocalib, 18); - gtk_box_pack_start (GTK_BOX (box), priv->widget_nocalib, FALSE, FALSE, 0); + gtk_widget_set_margin_end (color_device->widget_nocalib, 18); + gtk_box_pack_start (GTK_BOX (box), color_device->widget_nocalib, FALSE, FALSE, 0); /* refresh */ gtk_container_add (GTK_CONTAINER (color_device), box); diff --git a/panels/color/cc-color-device.h b/panels/color/cc-color-device.h index 7976d5b2f..736dcbd33 100644 --- a/panels/color/cc-color-device.h +++ b/panels/color/cc-color-device.h @@ -25,35 +25,11 @@ #include #include -#define CC_TYPE_COLOR_DEVICE (cc_color_device_get_type()) -#define CC_COLOR_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), CC_TYPE_COLOR_DEVICE, CcColorDevice)) -#define CC_COLOR_DEVICE_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST((cls), CC_TYPE_COLOR_DEVICE, CcColorDeviceClass)) -#define CC_IS_COLOR_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), CC_TYPE_COLOR_DEVICE)) -#define CC_IS_COLOR_DEVICE_CLASS(cls) (G_TYPE_CHECK_CLASS_TYPE((cls), CC_TYPE_COLOR_DEVICE)) -#define CC_COLOR_DEVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), CC_TYPE_COLOR_DEVICE, CcColorDeviceClass)) - G_BEGIN_DECLS -typedef struct _CcColorDevice CcColorDevice; -typedef struct _CcColorDeviceClass CcColorDeviceClass; -typedef struct _CcColorDevicePrivate CcColorDevicePrivate; +#define CC_TYPE_COLOR_DEVICE (cc_color_device_get_type ()) +G_DECLARE_FINAL_TYPE (CcColorDevice, cc_color_device, CC, COLOR_DEVICE, GtkListBoxRow) -struct _CcColorDevice -{ - GtkListBoxRow parent; - - /*< private >*/ - CcColorDevicePrivate *priv; -}; - -struct _CcColorDeviceClass -{ - GtkListBoxRowClass parent_class; - void (*expanded_changed) (CcColorDevice *color_device, - gboolean expanded); -}; - -GType cc_color_device_get_type (void); GtkWidget *cc_color_device_new (CdDevice *device); CdDevice *cc_color_device_get_device (CcColorDevice *color_device); const gchar *cc_color_device_get_sortable (CcColorDevice *color_device); diff --git a/panels/color/cc-color-panel.c b/panels/color/cc-color-panel.c index e9a65cf58..c18a6d704 100644 --- a/panels/color/cc-color-panel.c +++ b/panels/color/cc-color-panel.c @@ -37,13 +37,10 @@ #define WID(b, w) (GtkWidget *) gtk_builder_get_object (b, w) -CC_PANEL_REGISTER (CcColorPanel, cc_color_panel) - -#define COLOR_PANEL_PRIVATE(o) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_COLOR_PANEL, CcColorPanelPrivate)) - -struct _CcColorPanelPrivate +struct _CcColorPanel { + CcPanel parent_instance; + CdClient *client; CdDevice *current_device; GPtrArray *devices; @@ -65,6 +62,8 @@ struct _CcColorPanelPrivate gboolean model_is_changing; }; +CC_PANEL_REGISTER (CcColorPanel, cc_color_panel) + enum { GCM_PREFS_COMBO_COLUMN_TEXT, GCM_PREFS_COMBO_COLUMN_PROFILE, @@ -165,7 +164,7 @@ gcm_prefs_combobox_add_profile (CcColorPanel *prefs, #endif escaped = g_markup_escape_text (string->str, -1); - list_store = GTK_LIST_STORE(gtk_builder_get_object (prefs->priv->builder, + list_store = GTK_LIST_STORE(gtk_builder_get_object (prefs->builder, "liststore_assign")); gtk_list_store_append (list_store, iter); gtk_list_store_set (list_store, iter, @@ -184,16 +183,15 @@ gcm_prefs_default_cb (GtkWidget *widget, CcColorPanel *prefs) CdProfile *profile; gboolean ret; GError *error = NULL; - CcColorPanelPrivate *priv = prefs->priv; /* TODO: check if the profile is already systemwide */ - profile = cd_device_get_default_profile (priv->current_device); + profile = cd_device_get_default_profile (prefs->current_device); if (profile == NULL) goto out; /* install somewhere out of $HOME */ ret = cd_profile_install_system_wide_sync (profile, - priv->cancellable, + prefs->cancellable, &error); if (!ret) { @@ -214,10 +212,9 @@ gcm_prefs_file_chooser_get_icc_profile (CcColorPanel *prefs) GtkWidget *dialog; GFile *file = NULL; GtkFileFilter *filter; - CcColorPanelPrivate *priv = prefs->priv; /* create new dialog */ - window = GTK_WINDOW (priv->dialog_assign); + window = GTK_WINDOW (prefs->dialog_assign); /* TRANSLATORS: an ICC profile is a file containing colorspace data */ dialog = gtk_file_chooser_dialog_new (_("Select ICC Profile File"), window, GTK_FILE_CHOOSER_ACTION_OPEN, @@ -257,7 +254,7 @@ gcm_prefs_file_chooser_get_icc_profile (CcColorPanel *prefs) static void gcm_prefs_calib_cancel_cb (GtkWidget *widget, CcColorPanel *prefs) { - gtk_widget_hide (prefs->priv->assistant_calib); + gtk_widget_hide (prefs->assistant_calib); } static gboolean @@ -267,8 +264,8 @@ gcm_prefs_calib_delayed_complete_cb (gpointer user_data) GtkAssistant *assistant; GtkWidget *widget; - assistant = GTK_ASSISTANT (panel->priv->assistant_calib); - widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, + assistant = GTK_ASSISTANT (panel->assistant_calib); + widget = GTK_WIDGET (gtk_builder_get_object (panel->builder, "box_calib_brightness")); gtk_assistant_set_page_complete (assistant, widget, TRUE); return FALSE; @@ -284,7 +281,7 @@ gcm_prefs_calib_prepare_cb (GtkAssistant *assistant, /* give the user the indication they should actually manually set the * desired brightness rather than clicking blindly by delaying the * "Next" button deliberately for a second or so */ - widget = GTK_WIDGET (gtk_builder_get_object (panel->priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (panel->builder, "box_calib_brightness")); if (widget == page) { @@ -305,10 +302,10 @@ gcm_prefs_calib_apply_cb (GtkWidget *widget, CcColorPanel *prefs) GtkWindow *window = NULL; /* setup the calibration object with items that can fail */ - widget = GTK_WIDGET (gtk_builder_get_object (prefs->priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "button_calib_upload")); gtk_widget_show (widget); - ret = cc_color_calibrate_setup (prefs->priv->calibrate, + ret = cc_color_calibrate_setup (prefs->calibrate, &error); if (!ret) { @@ -318,8 +315,8 @@ gcm_prefs_calib_apply_cb (GtkWidget *widget, CcColorPanel *prefs) } /* actually start the calibration */ - window = GTK_WINDOW (prefs->priv->assistant_calib); - ret = cc_color_calibrate_start (prefs->priv->calibrate, + window = GTK_WINDOW (prefs->assistant_calib); + ret = cc_color_calibrate_start (prefs->calibrate, window, &error); if (!ret) @@ -332,7 +329,7 @@ gcm_prefs_calib_apply_cb (GtkWidget *widget, CcColorPanel *prefs) /* if we are a LiveCD then don't close the window as there is another * summary pane with the export button */ - if (!prefs->priv->is_live_cd) + if (!prefs->is_live_cd) gtk_widget_hide (GTK_WIDGET (window)); out: return; @@ -352,7 +349,6 @@ static void gcm_prefs_calib_temp_treeview_clicked_cb (GtkTreeSelection *selection, CcColorPanel *prefs) { - CcColorPanelPrivate *priv = prefs->priv; gboolean ret; GtkTreeIter iter; GtkTreeModel *model; @@ -362,8 +358,8 @@ gcm_prefs_calib_temp_treeview_clicked_cb (GtkTreeSelection *selection, /* check to see if anything is selected */ ret = gtk_tree_selection_get_selected (selection, &model, &iter); - assistant = GTK_ASSISTANT (prefs->priv->assistant_calib); - widget = GTK_WIDGET (gtk_builder_get_object (prefs->priv->builder, + assistant = GTK_ASSISTANT (prefs->assistant_calib); + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "box_calib_temp")); gtk_assistant_set_page_complete (assistant, widget, ret); if (!ret) @@ -372,14 +368,13 @@ gcm_prefs_calib_temp_treeview_clicked_cb (GtkTreeSelection *selection, gtk_tree_model_get (model, &iter, COLUMN_CALIB_TEMP_VALUE_K, &target_whitepoint, -1); - cc_color_calibrate_set_temperature (priv->calibrate, target_whitepoint); + cc_color_calibrate_set_temperature (prefs->calibrate, target_whitepoint); } static void gcm_prefs_calib_kind_treeview_clicked_cb (GtkTreeSelection *selection, CcColorPanel *prefs) { - CcColorPanelPrivate *priv = prefs->priv; CdSensorCap device_kind; gboolean ret; GtkTreeIter iter; @@ -389,8 +384,8 @@ gcm_prefs_calib_kind_treeview_clicked_cb (GtkTreeSelection *selection, /* check to see if anything is selected */ ret = gtk_tree_selection_get_selected (selection, &model, &iter); - assistant = GTK_ASSISTANT (prefs->priv->assistant_calib); - widget = GTK_WIDGET (gtk_builder_get_object (prefs->priv->builder, + assistant = GTK_ASSISTANT (prefs->assistant_calib); + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "box_calib_kind")); gtk_assistant_set_page_complete (assistant, widget, ret); if (!ret) @@ -400,14 +395,13 @@ gcm_prefs_calib_kind_treeview_clicked_cb (GtkTreeSelection *selection, gtk_tree_model_get (model, &iter, COLUMN_CALIB_KIND_CAP_VALUE, &device_kind, -1); - cc_color_calibrate_set_kind (priv->calibrate, device_kind); + cc_color_calibrate_set_kind (prefs->calibrate, device_kind); } static void gcm_prefs_calib_quality_treeview_clicked_cb (GtkTreeSelection *selection, CcColorPanel *prefs) { - CcColorPanelPrivate *priv = prefs->priv; CdProfileQuality quality; gboolean ret; GtkAssistant *assistant; @@ -417,8 +411,8 @@ gcm_prefs_calib_quality_treeview_clicked_cb (GtkTreeSelection *selection, /* check to see if anything is selected */ ret = gtk_tree_selection_get_selected (selection, &model, &iter); - assistant = GTK_ASSISTANT (prefs->priv->assistant_calib); - widget = GTK_WIDGET (gtk_builder_get_object (prefs->priv->builder, + assistant = GTK_ASSISTANT (prefs->assistant_calib); + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "box_calib_quality")); gtk_assistant_set_page_complete (assistant, widget, ret); if (!ret) @@ -428,7 +422,7 @@ gcm_prefs_calib_quality_treeview_clicked_cb (GtkTreeSelection *selection, gtk_tree_model_get (model, &iter, COLUMN_CALIB_QUALITY_VALUE, &quality, -1); - cc_color_calibrate_set_quality (priv->calibrate, quality); + cc_color_calibrate_set_quality (prefs->calibrate, quality); } static gboolean @@ -469,24 +463,23 @@ static void gcm_prefs_calib_set_sensor (CcColorPanel *prefs, CdSensor *sensor) { - CcColorPanelPrivate *priv = prefs->priv; GtkTreeModel *model; GtkWidget *page; guint64 caps; guint8 i; /* use this sensor for calibration */ - cc_color_calibrate_set_sensor (priv->calibrate, sensor); + cc_color_calibrate_set_sensor (prefs->calibrate, sensor); /* hide display types the sensor does not support */ - model = GTK_TREE_MODEL (gtk_builder_get_object (priv->builder, + model = GTK_TREE_MODEL (gtk_builder_get_object (prefs->builder, "liststore_calib_kind")); gtk_tree_model_foreach (model, gcm_prefs_calib_set_sensor_cap_supported_cb, sensor); /* if the sensor only supports one kind then do not show the panel at all */ - page = GTK_WIDGET (gtk_builder_get_object (prefs->priv->builder, + page = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "box_calib_kind")); caps = cd_sensor_get_caps (sensor); if (_cd_bitfield_popcount (caps) == 1) @@ -495,12 +488,12 @@ gcm_prefs_calib_set_sensor (CcColorPanel *prefs, for (i = 0; i < CD_SENSOR_CAP_LAST; i++) { if (cd_bitfield_contain (caps, i)) - cc_color_calibrate_set_kind (priv->calibrate, i); + cc_color_calibrate_set_kind (prefs->calibrate, i); } } else { - cc_color_calibrate_set_kind (priv->calibrate, CD_SENSOR_CAP_UNKNOWN); + cc_color_calibrate_set_kind (prefs->calibrate, CD_SENSOR_CAP_UNKNOWN); gtk_widget_set_visible (page, TRUE); } } @@ -518,8 +511,8 @@ gcm_prefs_calib_sensor_treeview_clicked_cb (GtkTreeSelection *selection, /* check to see if anything is selected */ ret = gtk_tree_selection_get_selected (selection, &model, &iter); - assistant = GTK_ASSISTANT (prefs->priv->assistant_calib); - widget = GTK_WIDGET (gtk_builder_get_object (prefs->priv->builder, + assistant = GTK_ASSISTANT (prefs->assistant_calib); + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "box_calib_sensor")); gtk_assistant_set_page_complete (assistant, widget, ret); if (!ret) @@ -536,7 +529,6 @@ gcm_prefs_calib_sensor_treeview_clicked_cb (GtkTreeSelection *selection, static void gcm_prefs_calibrate_display (CcColorPanel *prefs) { - CcColorPanelPrivate *priv = prefs->priv; CdSensor *sensor_tmp; const gchar *tmp; GtkListStore *liststore; @@ -546,19 +538,19 @@ gcm_prefs_calibrate_display (CcColorPanel *prefs) guint i; /* set target device */ - cc_color_calibrate_set_device (priv->calibrate, priv->current_device); + cc_color_calibrate_set_device (prefs->calibrate, prefs->current_device); /* add sensors to list */ - liststore = GTK_LIST_STORE (gtk_builder_get_object (priv->builder, + liststore = GTK_LIST_STORE (gtk_builder_get_object (prefs->builder, "liststore_calib_sensor")); gtk_list_store_clear (liststore); - page = GTK_WIDGET (gtk_builder_get_object (prefs->priv->builder, + page = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "box_calib_sensor")); - if (priv->sensors->len > 1) + if (prefs->sensors->len > 1) { - for (i = 0; i < priv->sensors->len; i++) + for (i = 0; i < prefs->sensors->len; i++) { - sensor_tmp = g_ptr_array_index (priv->sensors, i); + sensor_tmp = g_ptr_array_index (prefs->sensors, i); gtk_list_store_append (liststore, &iter); gtk_list_store_set (liststore, &iter, COLUMN_CALIB_SENSOR_OBJECT, sensor_tmp, @@ -569,29 +561,29 @@ gcm_prefs_calibrate_display (CcColorPanel *prefs) } else { - sensor_tmp = g_ptr_array_index (priv->sensors, 0); + sensor_tmp = g_ptr_array_index (prefs->sensors, 0); gcm_prefs_calib_set_sensor (prefs, sensor_tmp); gtk_widget_set_visible (page, FALSE); } /* set default profile title */ - tmp = cd_device_get_model (priv->current_device); + tmp = cd_device_get_model (prefs->current_device); if (tmp == NULL) - tmp = cd_device_get_vendor (priv->current_device); + tmp = cd_device_get_vendor (prefs->current_device); if (tmp == NULL) tmp = _("Screen"); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "entry_calib_title")); gtk_entry_set_text (GTK_ENTRY (widget), tmp); - cc_color_calibrate_set_title (priv->calibrate, tmp); + cc_color_calibrate_set_title (prefs->calibrate, tmp); /* set the display whitepoint to D65 by default */ //FIXME? /* show ui */ - widget = GTK_WIDGET (priv->assistant_calib); + widget = GTK_WIDGET (prefs->assistant_calib); gtk_window_set_transient_for (GTK_WINDOW (widget), - GTK_WINDOW (priv->main_window)); + GTK_WINDOW (prefs->main_window)); gtk_widget_show (widget); } @@ -604,11 +596,11 @@ gcm_prefs_title_entry_changed_cb (GtkWidget *widget, GtkWidget *page; const gchar *value; - assistant = GTK_ASSISTANT (prefs->priv->assistant_calib); - page = GTK_WIDGET (gtk_builder_get_object (prefs->priv->builder, + assistant = GTK_ASSISTANT (prefs->assistant_calib); + page = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "box_calib_title")); value = gtk_entry_get_text (GTK_ENTRY (widget)); - cc_color_calibrate_set_title (prefs->priv->calibrate, value); + cc_color_calibrate_set_title (prefs->calibrate, value); gtk_assistant_set_page_complete (assistant, page, value[0] != '\0'); } @@ -619,23 +611,22 @@ gcm_prefs_calibrate_cb (GtkWidget *widget, CcColorPanel *prefs) GError *error = NULL; guint xid; GPtrArray *argv; - CcColorPanelPrivate *priv = prefs->priv; /* use the new-style calibration helper */ - if (cd_device_get_kind (priv->current_device) == CD_DEVICE_KIND_DISPLAY) + if (cd_device_get_kind (prefs->current_device) == CD_DEVICE_KIND_DISPLAY) { gcm_prefs_calibrate_display (prefs); return; } /* get xid */ - xid = gdk_x11_window_get_xid (gtk_widget_get_window (GTK_WIDGET (priv->main_window))); + xid = gdk_x11_window_get_xid (gtk_widget_get_window (GTK_WIDGET (prefs->main_window))); /* run with modal set */ argv = g_ptr_array_new_with_free_func (g_free); g_ptr_array_add (argv, g_build_filename (BINDIR, "gcm-calibrate", NULL)); g_ptr_array_add (argv, g_strdup ("--device")); - g_ptr_array_add (argv, g_strdup (cd_device_get_id (priv->current_device))); + g_ptr_array_add (argv, g_strdup (cd_device_get_id (prefs->current_device))); g_ptr_array_add (argv, g_strdup ("--parent-window")); g_ptr_array_add (argv, g_strdup_printf ("%i", xid)); g_ptr_array_add (argv, NULL); @@ -764,9 +755,8 @@ gcm_prefs_add_profiles_suitable_for_devices (CcColorPanel *prefs, GtkListStore *list_store; GtkWidget *widget; guint i; - CcColorPanelPrivate *priv = prefs->priv; - list_store = GTK_LIST_STORE(gtk_builder_get_object (prefs->priv->builder, + list_store = GTK_LIST_STORE(gtk_builder_get_object (prefs->builder, "liststore_assign")); gtk_list_store_clear (list_store); gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (list_store), @@ -777,13 +767,13 @@ gcm_prefs_add_profiles_suitable_for_devices (CcColorPanel *prefs, gcm_prefs_combo_sort_func_cb, list_store, NULL); - widget = GTK_WIDGET (gtk_builder_get_object (prefs->priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "label_assign_warning")); gtk_widget_hide (widget); /* get profiles */ - profile_array = cd_client_get_profiles_sync (priv->client, - priv->cancellable, + profile_array = cd_client_get_profiles_sync (prefs->client, + prefs->cancellable, &error); if (profile_array == NULL) { @@ -800,7 +790,7 @@ gcm_prefs_add_profiles_suitable_for_devices (CcColorPanel *prefs, /* get properties */ ret = cd_profile_connect_sync (profile_tmp, - priv->cancellable, + prefs->cancellable, &error); if (!ret) { @@ -818,7 +808,7 @@ gcm_prefs_add_profiles_suitable_for_devices (CcColorPanel *prefs, /* only add correct types */ ret = gcm_prefs_is_profile_suitable_for_device (profile_tmp, - priv->current_device); + prefs->current_device); if (!ret) continue; @@ -841,7 +831,6 @@ out: static void gcm_prefs_calib_upload_cb (GtkWidget *widget, CcColorPanel *prefs) { - CcColorPanelPrivate *priv = prefs->priv; CdProfile *profile; const gchar *uri; gboolean ret; @@ -856,7 +845,7 @@ gcm_prefs_calib_upload_cb (GtkWidget *widget, CcColorPanel *prefs) SoupMultipart *multipart = NULL; SoupSession *session = NULL; - profile = cc_color_calibrate_get_profile (prefs->priv->calibrate); + profile = cc_color_calibrate_get_profile (prefs->calibrate); ret = cd_profile_connect_sync (profile, NULL, &error); if (!ret) { @@ -896,12 +885,12 @@ gcm_prefs_calib_upload_cb (GtkWidget *widget, CcColorPanel *prefs) cd_profile_get_filename (profile), NULL, buffer); - upload_uri = g_settings_get_string (priv->settings_colord, "profile-upload-uri"); + upload_uri = g_settings_get_string (prefs->settings_colord, "profile-upload-uri"); msg = soup_form_request_new_from_multipart (upload_uri, multipart); status_code = soup_session_send_message (session, msg); if (status_code != 201) { - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "label_calib_upload_location")); /* TRANSLATORS: this is when the upload of the profile failed */ msg_result = g_strdup_printf (_("Failed to upload file: %s"), msg->reason_phrase), @@ -911,7 +900,7 @@ gcm_prefs_calib_upload_cb (GtkWidget *widget, CcColorPanel *prefs) } /* show instructions to the user */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "label_calib_upload_location")); uri = soup_message_headers_get_one (msg->response_headers, "Location"); msg_result = g_strdup_printf ("%s %s\n\n• %s\n• %s\n• %s", @@ -927,7 +916,7 @@ gcm_prefs_calib_upload_cb (GtkWidget *widget, CcColorPanel *prefs) gtk_widget_show (widget); /* hide the upload button as duplicate uploads will fail */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "button_calib_upload")); gtk_widget_hide (widget); out: @@ -957,14 +946,14 @@ gcm_prefs_calib_export_cb (GtkWidget *widget, CcColorPanel *prefs) /* TRANSLATORS: this is the dialog to save the ICC profile */ dialog = gtk_file_chooser_dialog_new (_("Save Profile"), - GTK_WINDOW (prefs->priv->main_window), + GTK_WINDOW (prefs->main_window), GTK_FILE_CHOOSER_ACTION_SAVE, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Save"), GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE); - profile = cc_color_calibrate_get_profile (prefs->priv->calibrate); + profile = cc_color_calibrate_get_profile (prefs->calibrate); ret = cd_profile_connect_sync (profile, NULL, &error); if (!ret) { @@ -1007,7 +996,7 @@ gcm_prefs_calib_export_link_cb (GtkLabel *widget, const gchar *url, CcColorPanel *prefs) { - gtk_show_uri_on_window (GTK_WINDOW (prefs->priv->main_window), + gtk_show_uri_on_window (GTK_WINDOW (prefs->main_window), "help:gnome-help/color-howtoimport", GDK_CURRENT_TIME, NULL); @@ -1017,21 +1006,20 @@ static void gcm_prefs_profile_add_cb (GtkWidget *widget, CcColorPanel *prefs) { GPtrArray *profiles; - CcColorPanelPrivate *priv = prefs->priv; /* add profiles of the right kind */ - profiles = cd_device_get_profiles (priv->current_device); + profiles = cd_device_get_profiles (prefs->current_device); gcm_prefs_add_profiles_suitable_for_devices (prefs, profiles); /* make insensitve until we have a selection */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "button_assign_ok")); gtk_widget_set_sensitive (widget, FALSE); /* show the dialog */ - widget = GTK_WIDGET (priv->dialog_assign); + widget = GTK_WIDGET (prefs->dialog_assign); gtk_widget_show (widget); - gtk_window_set_transient_for (GTK_WINDOW (widget), GTK_WINDOW (priv->main_window)); + gtk_window_set_transient_for (GTK_WINDOW (widget), GTK_WINDOW (prefs->main_window)); if (profiles != NULL) g_ptr_array_unref (profiles); } @@ -1039,14 +1027,13 @@ gcm_prefs_profile_add_cb (GtkWidget *widget, CcColorPanel *prefs) static void gcm_prefs_profile_remove_cb (GtkWidget *widget, CcColorPanel *prefs) { - CcColorPanelPrivate *priv = prefs->priv; CdProfile *profile; gboolean ret = FALSE; GError *error = NULL; GtkListBoxRow *row; /* get the selected profile */ - row = gtk_list_box_get_selected_row (priv->list_box); + row = gtk_list_box_get_selected_row (prefs->list_box); if (row == NULL) return; profile = cc_color_profile_get_profile (CC_COLOR_PROFILE (row)); @@ -1057,9 +1044,9 @@ gcm_prefs_profile_remove_cb (GtkWidget *widget, CcColorPanel *prefs) } /* just remove it, the list store will get ::changed */ - ret = cd_device_remove_profile_sync (priv->current_device, + ret = cd_device_remove_profile_sync (prefs->current_device, profile, - priv->cancellable, + prefs->cancellable, &error); if (!ret) { @@ -1096,12 +1083,11 @@ gcm_prefs_make_profile_default_cb (GObject *object, static void gcm_prefs_device_profile_enable_cb (GtkWidget *widget, CcColorPanel *prefs) { - CcColorPanelPrivate *priv = prefs->priv; CdProfile *profile; GtkListBoxRow *row; /* get the selected profile */ - row = gtk_list_box_get_selected_row (priv->list_box); + row = gtk_list_box_get_selected_row (prefs->list_box); if (row == NULL) return; profile = cc_color_profile_get_profile (CC_COLOR_PROFILE (row)); @@ -1114,10 +1100,10 @@ gcm_prefs_device_profile_enable_cb (GtkWidget *widget, CcColorPanel *prefs) /* just set it default */ g_debug ("setting %s default on %s", cd_profile_get_id (profile), - cd_device_get_id (priv->current_device)); - cd_device_make_profile_default (priv->current_device, + cd_device_get_id (prefs->current_device)); + cd_device_make_profile_default (prefs->current_device, profile, - priv->cancellable, + prefs->cancellable, (GAsyncReadyCallback) gcm_prefs_make_profile_default_cb, prefs); } @@ -1129,10 +1115,9 @@ gcm_prefs_profile_view (CcColorPanel *prefs, CdProfile *profile) guint xid; gboolean ret; GError *error = NULL; - CcColorPanelPrivate *priv = prefs->priv; /* get xid */ - xid = gdk_x11_window_get_xid (gtk_widget_get_window (GTK_WIDGET (priv->main_window))); + xid = gdk_x11_window_get_xid (gtk_widget_get_window (GTK_WIDGET (prefs->main_window))); /* open up gcm-viewer as a info pane */ argv = g_ptr_array_new_with_free_func (g_free); @@ -1158,12 +1143,11 @@ gcm_prefs_profile_assign_link_activate_cb (GtkLabel *label, const gchar *uri, CcColorPanel *prefs) { - CcColorPanelPrivate *priv = prefs->priv; CdProfile *profile; GtkListBoxRow *row; /* get the selected profile */ - row = gtk_list_box_get_selected_row (priv->list_box); + row = gtk_list_box_get_selected_row (prefs->list_box); if (row == NULL) return; profile = cc_color_profile_get_profile (CC_COLOR_PROFILE (row)); @@ -1184,7 +1168,7 @@ gcm_prefs_profile_view_cb (GtkWidget *widget, CcColorPanel *prefs) GtkListBoxRow *row; /* get the selected profile */ - row = gtk_list_box_get_selected_row (prefs->priv->list_box); + row = gtk_list_box_get_selected_row (prefs->list_box); if (row == NULL) return; profile = cc_color_profile_get_profile (CC_COLOR_PROFILE (row)); @@ -1201,8 +1185,7 @@ gcm_prefs_profile_view_cb (GtkWidget *widget, CcColorPanel *prefs) static void gcm_prefs_button_assign_cancel_cb (GtkWidget *widget, CcColorPanel *prefs) { - CcColorPanelPrivate *priv = prefs->priv; - gtk_widget_hide (priv->dialog_assign); + gtk_widget_hide (prefs->dialog_assign); } static void @@ -1214,14 +1197,13 @@ gcm_prefs_button_assign_ok_cb (GtkWidget *widget, CcColorPanel *prefs) gboolean ret = FALSE; GError *error = NULL; GtkTreeSelection *selection; - CcColorPanelPrivate *priv = prefs->priv; /* hide window */ - widget = GTK_WIDGET (priv->dialog_assign); + widget = GTK_WIDGET (prefs->dialog_assign); gtk_widget_hide (widget); /* get the selected profile */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "treeview_assign")); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)); if (!gtk_tree_selection_get_selected (selection, &model, &iter)) @@ -1237,11 +1219,11 @@ gcm_prefs_button_assign_ok_cb (GtkWidget *widget, CcColorPanel *prefs) /* if the device is disabled, enable the device so that we can * add color profiles to it */ - if (!cd_device_get_enabled (priv->current_device)) + if (!cd_device_get_enabled (prefs->current_device)) { - ret = cd_device_set_enabled_sync (priv->current_device, + ret = cd_device_set_enabled_sync (prefs->current_device, TRUE, - priv->cancellable, + prefs->cancellable, &error); if (!ret) { @@ -1252,10 +1234,10 @@ gcm_prefs_button_assign_ok_cb (GtkWidget *widget, CcColorPanel *prefs) } /* just add it, the list store will get ::changed */ - ret = cd_device_add_profile_sync (priv->current_device, + ret = cd_device_add_profile_sync (prefs->current_device, CD_DEVICE_RELATION_HARD, profile, - priv->cancellable, + prefs->cancellable, &error); if (!ret) { @@ -1265,9 +1247,9 @@ gcm_prefs_button_assign_ok_cb (GtkWidget *widget, CcColorPanel *prefs) } /* make it default */ - cd_device_make_profile_default (priv->current_device, + cd_device_make_profile_default (prefs->current_device, profile, - priv->cancellable, + prefs->cancellable, (GAsyncReadyCallback) gcm_prefs_make_profile_default_cb, prefs); out: @@ -1318,22 +1300,21 @@ gcm_prefs_set_calibrate_button_sensitivity (CcColorPanel *prefs) const gchar *tooltip; CdDeviceKind kind; CdSensor *sensor_tmp; - CcColorPanelPrivate *priv = prefs->priv; /* TRANSLATORS: this is when the button is sensitive */ tooltip = _("Create a color profile for the selected device"); /* no device selected */ - if (priv->current_device == NULL) + if (prefs->current_device == NULL) goto out; /* are we a display */ - kind = cd_device_get_kind (priv->current_device); + kind = cd_device_get_kind (prefs->current_device); if (kind == CD_DEVICE_KIND_DISPLAY) { /* find whether we have hardware installed */ - if (priv->sensors == NULL || priv->sensors->len == 0) + if (prefs->sensors == NULL || prefs->sensors->len == 0) { /* TRANSLATORS: this is when the button is insensitive */ tooltip = _("The measuring instrument is not detected. Please check it is turned on and correctly connected."); @@ -1357,7 +1338,7 @@ gcm_prefs_set_calibrate_button_sensitivity (CcColorPanel *prefs) { /* find whether we have hardware installed */ - if (priv->sensors == NULL || priv->sensors->len == 0) + if (prefs->sensors == NULL || prefs->sensors->len == 0) { /* TRANSLATORS: this is when the button is insensitive */ tooltip = _("The measuring instrument is not detected. Please check it is turned on and correctly connected."); @@ -1365,7 +1346,7 @@ gcm_prefs_set_calibrate_button_sensitivity (CcColorPanel *prefs) } /* find whether we have hardware installed */ - sensor_tmp = g_ptr_array_index (priv->sensors, 0); + sensor_tmp = g_ptr_array_index (prefs->sensors, 0); ret = cd_sensor_has_cap (sensor_tmp, CD_SENSOR_CAP_PRINTER); if (!ret) { @@ -1385,7 +1366,7 @@ gcm_prefs_set_calibrate_button_sensitivity (CcColorPanel *prefs) } out: /* control the tooltip and sensitivity of the button */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "toolbutton_device_calibrate")); gtk_widget_set_tooltip_text (widget, tooltip); gtk_widget_set_sensitive (widget, ret); @@ -1407,14 +1388,13 @@ gcm_prefs_profile_clicked (CcColorPanel *prefs, CdProfile *profile, CdDevice *de { GtkWidget *widget; gchar *s; - CcColorPanelPrivate *priv = prefs->priv; /* get profile */ g_debug ("selected profile = %s", cd_profile_get_filename (profile)); /* allow getting profile info */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "toolbutton_profile_view")); if (cd_profile_get_filename (profile) != NULL && (s = g_find_program_in_path ("gcm-viewer")) != NULL) @@ -1447,12 +1427,12 @@ gcm_prefs_profiles_treeview_clicked_cb (GtkTreeSelection *selection, /* as soon as anything is selected, make the Add button sensitive */ - widget = GTK_WIDGET (gtk_builder_get_object (prefs->priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "button_assign_ok")); gtk_widget_set_sensitive (widget, TRUE); /* is the profile faulty */ - widget = GTK_WIDGET (gtk_builder_get_object (prefs->priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "label_assign_warning")); #if CD_CHECK_VERSION(0,1,25) warnings = cd_profile_get_warnings (profile); @@ -1486,21 +1466,20 @@ gcm_prefs_button_assign_import_cb (GtkWidget *widget, GFile *file = NULL; GError *error = NULL; CdProfile *profile = NULL; - CcColorPanelPrivate *priv = prefs->priv; file = gcm_prefs_file_chooser_get_icc_profile (prefs); if (file == NULL) { g_warning ("failed to get ICC file"); - widget = GTK_WIDGET (priv->dialog_assign); + widget = GTK_WIDGET (prefs->dialog_assign); gtk_widget_hide (widget); goto out; } #if CD_CHECK_VERSION(0,1,12) - profile = cd_client_import_profile_sync (priv->client, + profile = cd_client_import_profile_sync (prefs->client, file, - priv->cancellable, + prefs->cancellable, &error); if (profile == NULL) { @@ -1522,7 +1501,6 @@ out: static void gcm_prefs_sensor_coldplug (CcColorPanel *prefs) { - CcColorPanelPrivate *priv = prefs->priv; CdSensor *sensor_tmp; gboolean ret; GError *error = NULL; @@ -1530,10 +1508,10 @@ gcm_prefs_sensor_coldplug (CcColorPanel *prefs) guint i; /* unref old */ - g_clear_pointer (&priv->sensors, g_ptr_array_unref); + g_clear_pointer (&prefs->sensors, g_ptr_array_unref); /* no present */ - sensors = cd_client_get_sensors_sync (priv->client, NULL, &error); + sensors = cd_client_get_sensors_sync (prefs->client, NULL, &error); if (sensors == NULL) { g_warning ("%s", error->message); @@ -1544,7 +1522,7 @@ gcm_prefs_sensor_coldplug (CcColorPanel *prefs) goto out; /* save a copy of the sensor list */ - priv->sensors = g_ptr_array_ref (sensors); + prefs->sensors = g_ptr_array_ref (sensors); /* connect to each sensor */ for (i = 0; i < sensors->len; i++) @@ -1578,14 +1556,13 @@ gcm_prefs_add_device_profile (CcColorPanel *prefs, CdProfile *profile, gboolean is_default) { - CcColorPanelPrivate *priv = prefs->priv; gboolean ret; GError *error = NULL; GtkWidget *widget; /* get properties */ ret = cd_profile_connect_sync (profile, - priv->cancellable, + prefs->cancellable, &error); if (!ret) { @@ -1614,8 +1591,8 @@ gcm_prefs_add_device_profile (CcColorPanel *prefs, /* add to listbox */ widget = cc_color_profile_new (device, profile, is_default); gtk_widget_show (widget); - gtk_container_add (GTK_CONTAINER (priv->list_box), widget); - gtk_size_group_add_widget (priv->list_box_size, widget); + gtk_container_add (GTK_CONTAINER (prefs->list_box), widget); + gtk_size_group_add_widget (prefs->list_box_size, widget); out: return; } @@ -1695,7 +1672,6 @@ gcm_prefs_find_widget_by_object_path (GList *list, static void gcm_prefs_device_changed_cb (CdDevice *device, CcColorPanel *prefs) { - CcColorPanelPrivate *priv = prefs->priv; CdDevice *device_tmp; CdProfile *profile_tmp; gboolean ret; @@ -1706,7 +1682,7 @@ gcm_prefs_device_changed_cb (CdDevice *device, CcColorPanel *prefs) /* remove anything in the list view that's not in Device.Profiles */ profiles = cd_device_get_profiles (device); - list = gtk_container_get_children (GTK_CONTAINER (priv->list_box)); + list = gtk_container_get_children (GTK_CONTAINER (prefs->list_box)); for (l = list; l != NULL; l = l->next) { if (!CC_IS_COLOR_PROFILE (l->data)) @@ -1742,7 +1718,7 @@ gcm_prefs_device_changed_cb (CdDevice *device, CcColorPanel *prefs) g_list_free (list); /* resort */ - gtk_list_box_invalidate_sort (priv->list_box); + gtk_list_box_invalidate_sort (prefs->list_box); } static void @@ -1750,22 +1726,21 @@ gcm_prefs_device_expanded_changed_cb (CcColorDevice *widget, gboolean is_expanded, CcColorPanel *prefs) { - CcColorPanelPrivate *priv = prefs->priv; GList *l; GList *list; /* ignore internal changes */ - if (prefs->priv->model_is_changing) + if (prefs->model_is_changing) return; - g_free (prefs->priv->list_box_filter); + g_free (prefs->list_box_filter); if (is_expanded) { - priv->list_box_filter = g_strdup (cd_device_get_id (cc_color_device_get_device (widget))); + prefs->list_box_filter = g_strdup (cd_device_get_id (cc_color_device_get_device (widget))); /* unexpand other device widgets */ - list = gtk_container_get_children (GTK_CONTAINER (priv->list_box)); - prefs->priv->model_is_changing = TRUE; + list = gtk_container_get_children (GTK_CONTAINER (prefs->list_box)); + prefs->model_is_changing = TRUE; for (l = list; l != NULL; l = l->next) { if (!CC_IS_COLOR_DEVICE (l->data)) @@ -1773,26 +1748,25 @@ gcm_prefs_device_expanded_changed_cb (CcColorDevice *widget, if (l->data != widget) cc_color_device_set_expanded (CC_COLOR_DEVICE (l->data), FALSE); } - prefs->priv->model_is_changing = FALSE; + prefs->model_is_changing = FALSE; g_list_free (list); } else { - priv->list_box_filter = NULL; + prefs->list_box_filter = NULL; } - gtk_list_box_invalidate_filter (priv->list_box); + gtk_list_box_invalidate_filter (prefs->list_box); } static void gcm_prefs_add_device (CcColorPanel *prefs, CdDevice *device) { - CcColorPanelPrivate *priv = prefs->priv; gboolean ret; GError *error = NULL; GtkWidget *widget; /* get device properties */ - ret = cd_device_connect_sync (device, priv->cancellable, &error); + ret = cd_device_connect_sync (device, prefs->cancellable, &error); if (!ret) { g_warning ("failed to connect to the device: %s", error->message); @@ -1805,17 +1779,17 @@ gcm_prefs_add_device (CcColorPanel *prefs, CdDevice *device) g_signal_connect (widget, "expanded-changed", G_CALLBACK (gcm_prefs_device_expanded_changed_cb), prefs); gtk_widget_show (widget); - gtk_container_add (GTK_CONTAINER (priv->list_box), widget); - gtk_size_group_add_widget (priv->list_box_size, widget); + gtk_container_add (GTK_CONTAINER (prefs->list_box), widget); + gtk_size_group_add_widget (prefs->list_box_size, widget); /* add profiles */ gcm_prefs_add_device_profiles (prefs, device); /* watch for changes */ - g_ptr_array_add (priv->devices, g_object_ref (device)); + g_ptr_array_add (prefs->devices, g_object_ref (device)); g_signal_connect (device, "changed", G_CALLBACK (gcm_prefs_device_changed_cb), prefs); - gtk_list_box_invalidate_sort (priv->list_box); + gtk_list_box_invalidate_sort (prefs->list_box); out: return; } @@ -1823,12 +1797,11 @@ out: static void gcm_prefs_remove_device (CcColorPanel *prefs, CdDevice *device) { - CcColorPanelPrivate *priv = prefs->priv; CdDevice *device_tmp; GList *l; GList *list; - list = gtk_container_get_children (GTK_CONTAINER (priv->list_box)); + list = gtk_container_get_children (GTK_CONTAINER (prefs->list_box)); for (l = list; l != NULL; l = l->next) { if (CC_IS_COLOR_DEVICE (l->data)) @@ -1845,24 +1818,23 @@ gcm_prefs_remove_device (CcColorPanel *prefs, CdDevice *device) g_signal_handlers_disconnect_by_func (device, G_CALLBACK (gcm_prefs_device_changed_cb), prefs); - g_ptr_array_remove (priv->devices, device); + g_ptr_array_remove (prefs->devices, device); } static void gcm_prefs_update_device_list_extra_entry (CcColorPanel *prefs) { - CcColorPanelPrivate *priv = prefs->priv; GList *device_widgets; GtkWidget *widget; guint number_of_devices; /* any devices to show? */ - device_widgets = gtk_container_get_children (GTK_CONTAINER (priv->list_box)); + device_widgets = gtk_container_get_children (GTK_CONTAINER (prefs->list_box)); number_of_devices = g_list_length (device_widgets); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "label_no_devices")); gtk_widget_set_visible (widget, number_of_devices == 0); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "vbox3")); gtk_widget_set_visible (widget, number_of_devices > 0); @@ -1943,62 +1915,61 @@ gcm_prefs_refresh_toolbar_buttons (CcColorPanel *panel) { CdProfile *profile = NULL; GtkWidget *widget; - CcColorPanelPrivate *priv = panel->priv; GtkListBoxRow *row; gboolean is_device; /* get the selected profile */ - row = gtk_list_box_get_selected_row (priv->list_box); + row = gtk_list_box_get_selected_row (panel->list_box); is_device = CC_IS_COLOR_DEVICE (row); /* nothing selected */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (panel->builder, "toolbar_devices")); gtk_widget_set_visible (widget, row != NULL); if (row == NULL) return; /* save current device */ - if (priv->current_device != NULL) - g_object_unref (priv->current_device); - g_object_get (row, "device", &priv->current_device, NULL); + if (panel->current_device != NULL) + g_object_unref (panel->current_device); + g_object_get (row, "device", &panel->current_device, NULL); /* device actions */ g_debug ("%s selected", is_device ? "device" : "profile"); if (CC_IS_COLOR_DEVICE (row)) { - gcm_prefs_device_clicked (panel, priv->current_device); + gcm_prefs_device_clicked (panel, panel->current_device); cc_color_device_set_expanded (CC_COLOR_DEVICE (row), TRUE); } else if (CC_IS_COLOR_PROFILE (row)) { profile = cc_color_profile_get_profile (CC_COLOR_PROFILE (row)); - gcm_prefs_profile_clicked (panel, profile, priv->current_device); + gcm_prefs_profile_clicked (panel, profile, panel->current_device); } else g_assert_not_reached (); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (panel->builder, "toolbutton_device_default")); gtk_widget_set_visible (widget, !is_device && cc_color_profile_get_is_default (CC_COLOR_PROFILE (row))); if (profile) gtk_widget_set_sensitive (widget, !cd_profile_get_is_system_wide (profile)); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (panel->builder, "toolbutton_device_enable")); gtk_widget_set_visible (widget, !is_device && !cc_color_profile_get_is_default (CC_COLOR_PROFILE (row))); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (panel->builder, "toolbutton_device_calibrate")); gtk_widget_set_visible (widget, is_device); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (panel->builder, "toolbutton_profile_add")); gtk_widget_set_visible (widget, is_device); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (panel->builder, "toolbutton_profile_view")); gtk_widget_set_visible (widget, !is_device); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (panel->builder, "toolbutton_profile_remove")); gtk_widget_set_visible (widget, !is_device); } @@ -2019,7 +1990,6 @@ gcm_prefs_connect_cb (GObject *object, GAsyncResult *res, gpointer user_data) { - CcColorPanelPrivate *priv; CcColorPanel *prefs; gboolean ret; GError *error = NULL; @@ -2040,15 +2010,14 @@ gcm_prefs_connect_cb (GObject *object, * the user can potentially already have changed to another panel, effectively * making user_data invalid. */ prefs = CC_COLOR_PANEL (user_data); - priv = prefs->priv; /* set calibrate button sensitivity */ gcm_prefs_sensor_coldplug (prefs); /* get devices */ - cd_client_get_devices (priv->client, - priv->cancellable, + cd_client_get_devices (prefs->client, + prefs->cancellable, gcm_prefs_get_devices_cb, prefs); } @@ -2087,7 +2056,7 @@ out: static void gcm_prefs_window_realize_cb (GtkWidget *widget, CcColorPanel *prefs) { - prefs->priv->main_window = gtk_widget_get_toplevel (widget); + prefs->main_window = gtk_widget_get_toplevel (widget); } static const char * @@ -2125,50 +2094,50 @@ cc_color_panel_set_property (GObject *object, static void cc_color_panel_dispose (GObject *object) { - CcColorPanelPrivate *priv = CC_COLOR_PANEL (object)->priv; + CcColorPanel *prefs = CC_COLOR_PANEL (object); CdDevice *device; guint i; /* stop the EggListView from firing when it gets disposed */ - if (priv->list_box_selected_id != 0) + if (prefs->list_box_selected_id != 0) { - g_signal_handler_disconnect (priv->list_box, - priv->list_box_selected_id); - priv->list_box_selected_id = 0; + g_signal_handler_disconnect (prefs->list_box, + prefs->list_box_selected_id); + prefs->list_box_selected_id = 0; /* row-activated event should be connected at this point */ - g_signal_handler_disconnect (priv->list_box, - priv->list_box_activated_id); - priv->list_box_activated_id = 0; + g_signal_handler_disconnect (prefs->list_box, + prefs->list_box_activated_id); + prefs->list_box_activated_id = 0; } /* stop the devices from emitting after the ListBox has been disposed */ - if (priv->devices != NULL) + if (prefs->devices != NULL) { - for (i = 0; i < priv->devices->len; i++) + for (i = 0; i < prefs->devices->len; i++) { - device = g_ptr_array_index (priv->devices, i); + device = g_ptr_array_index (prefs->devices, i); g_signal_handlers_disconnect_by_func (device, G_CALLBACK (gcm_prefs_device_changed_cb), CC_COLOR_PANEL (object)); } - g_ptr_array_unref (priv->devices); - priv->devices = NULL; + g_ptr_array_unref (prefs->devices); + prefs->devices = NULL; } - if (priv->cancellable != NULL) - g_cancellable_cancel (priv->cancellable); - g_clear_object (&priv->settings); - g_clear_object (&priv->settings_colord); - g_clear_object (&priv->cancellable); - g_clear_object (&priv->builder); - g_clear_object (&priv->client); - g_clear_object (&priv->current_device); - g_clear_object (&priv->calibrate); - g_clear_object (&priv->list_box_size); - g_clear_pointer (&priv->sensors, g_ptr_array_unref); - g_clear_pointer (&priv->list_box_filter, g_free); - g_clear_pointer (&priv->dialog_assign, gtk_widget_destroy); + if (prefs->cancellable != NULL) + g_cancellable_cancel (prefs->cancellable); + g_clear_object (&prefs->settings); + g_clear_object (&prefs->settings_colord); + g_clear_object (&prefs->cancellable); + g_clear_object (&prefs->builder); + g_clear_object (&prefs->client); + g_clear_object (&prefs->current_device); + g_clear_object (&prefs->calibrate); + g_clear_object (&prefs->list_box_size); + g_clear_pointer (&prefs->sensors, g_ptr_array_unref); + g_clear_pointer (&prefs->list_box_filter, g_free); + g_clear_pointer (&prefs->dialog_assign, gtk_widget_destroy); G_OBJECT_CLASS (cc_color_panel_parent_class)->dispose (object); } @@ -2185,8 +2154,6 @@ cc_color_panel_class_init (CcColorPanelClass *klass) GObjectClass *object_class = G_OBJECT_CLASS (klass); CcPanelClass *panel_class = CC_PANEL_CLASS (klass); - g_type_class_add_private (klass, sizeof (CcColorPanelPrivate)); - panel_class->get_help_uri = cc_color_panel_get_help_uri; object_class->get_property = cc_color_panel_get_property; @@ -2229,7 +2196,7 @@ cc_color_panel_filter_func (GtkListBoxRow *row, void *user_data) return TRUE; g_object_get (row, "device", &device, NULL); - ret = g_strcmp0 (cd_device_get_id (device), prefs->priv->list_box_filter) == 0; + ret = g_strcmp0 (cd_device_get_id (device), prefs->list_box_filter) == 0; g_object_unref (device); return ret; } @@ -2254,7 +2221,6 @@ cc_color_panel_treeview_quality_default_cb (GtkTreeModel *model, static void cc_color_panel_init (CcColorPanel *prefs) { - CcColorPanelPrivate *priv; GError *error = NULL; GtkCellRenderer *renderer; GtkStyleContext *context; @@ -2264,11 +2230,10 @@ cc_color_panel_init (CcColorPanel *prefs) GtkTreeViewColumn *column; GtkWidget *widget; - priv = prefs->priv = COLOR_PANEL_PRIVATE (prefs); g_resources_register (cc_color_get_resource ()); - priv->builder = gtk_builder_new (); - gtk_builder_add_from_resource (priv->builder, + prefs->builder = gtk_builder_new (); + gtk_builder_add_from_resource (prefs->builder, "/org/gnome/control-center/color/color.ui", &error); @@ -2279,39 +2244,39 @@ cc_color_panel_init (CcColorPanel *prefs) return; } - priv->cancellable = g_cancellable_new (); - priv->devices = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref); + prefs->cancellable = g_cancellable_new (); + prefs->devices = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref); /* can do native display calibration using colord-session */ - priv->calibrate = cc_color_calibrate_new (); - cc_color_calibrate_set_quality (priv->calibrate, CD_PROFILE_QUALITY_MEDIUM); + prefs->calibrate = cc_color_calibrate_new (); + cc_color_calibrate_set_quality (prefs->calibrate, CD_PROFILE_QUALITY_MEDIUM); /* setup defaults */ - priv->settings = g_settings_new (GCM_SETTINGS_SCHEMA); - priv->settings_colord = g_settings_new (COLORD_SETTINGS_SCHEMA); + prefs->settings = g_settings_new (GCM_SETTINGS_SCHEMA); + prefs->settings_colord = g_settings_new (COLORD_SETTINGS_SCHEMA); /* assign buttons */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "toolbutton_profile_add")); g_signal_connect (widget, "clicked", G_CALLBACK (gcm_prefs_profile_add_cb), prefs); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "toolbutton_profile_remove")); g_signal_connect (widget, "clicked", G_CALLBACK (gcm_prefs_profile_remove_cb), prefs); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "toolbutton_profile_view")); g_signal_connect (widget, "clicked", G_CALLBACK (gcm_prefs_profile_view_cb), prefs); /* href */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "label_assign_warning")); g_signal_connect (widget, "activate-link", G_CALLBACK (gcm_prefs_profile_assign_link_activate_cb), prefs); /* add columns to profile tree view */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "treeview_assign")); gcm_prefs_add_profiles_columns (prefs, GTK_TREE_VIEW (widget)); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)); @@ -2322,49 +2287,49 @@ cc_color_panel_init (CcColorPanel *prefs) G_CALLBACK (gcm_prefs_profiles_row_activated_cb), prefs); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "toolbutton_device_default")); g_signal_connect (widget, "clicked", G_CALLBACK (gcm_prefs_default_cb), prefs); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "toolbutton_device_enable")); g_signal_connect (widget, "clicked", G_CALLBACK (gcm_prefs_device_profile_enable_cb), prefs); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "toolbutton_device_calibrate")); g_signal_connect (widget, "clicked", G_CALLBACK (gcm_prefs_calibrate_cb), prefs); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "toolbar_devices")); context = gtk_widget_get_style_context (widget); gtk_style_context_add_class (context, GTK_STYLE_CLASS_INLINE_TOOLBAR); gtk_style_context_set_junction_sides (context, GTK_JUNCTION_TOP); /* set up assign dialog */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "dialog_assign")); g_signal_connect (widget, "delete-event", G_CALLBACK (gcm_prefs_profile_delete_event_cb), prefs); - priv->dialog_assign = widget; + prefs->dialog_assign = widget; - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "button_assign_cancel")); g_signal_connect (widget, "clicked", G_CALLBACK (gcm_prefs_button_assign_cancel_cb), prefs); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "button_assign_ok")); g_signal_connect (widget, "clicked", G_CALLBACK (gcm_prefs_button_assign_ok_cb), prefs); /* setup icc profiles list */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "button_assign_import")); g_signal_connect (widget, "clicked", G_CALLBACK (gcm_prefs_button_assign_import_cb), prefs); /* setup the calibration helper */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "assistant_calib")); g_signal_connect (widget, "delete-event", G_CALLBACK (gcm_prefs_calib_delete_event_cb), @@ -2381,10 +2346,10 @@ cc_color_panel_init (CcColorPanel *prefs) g_signal_connect (widget, "prepare", G_CALLBACK (gcm_prefs_calib_prepare_cb), prefs); - priv->assistant_calib = widget; + prefs->assistant_calib = widget; /* setup the calibration helper ::TreeView */ - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "treeview_calib_quality")); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)); model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget)); @@ -2420,7 +2385,7 @@ cc_color_panel_init (CcColorPanel *prefs) gtk_tree_view_append_column (GTK_TREE_VIEW (widget), GTK_TREE_VIEW_COLUMN (column)); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "treeview_calib_sensor")); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)); g_signal_connect (selection, "changed", @@ -2439,7 +2404,7 @@ cc_color_panel_init (CcColorPanel *prefs) gtk_tree_view_append_column (GTK_TREE_VIEW (widget), GTK_TREE_VIEW_COLUMN (column)); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "treeview_calib_kind")); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)); g_signal_connect (selection, "changed", @@ -2464,7 +2429,7 @@ cc_color_panel_init (CcColorPanel *prefs) gtk_tree_view_append_column (GTK_TREE_VIEW (widget), GTK_TREE_VIEW_COLUMN (column)); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "treeview_calib_temp")); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)); g_signal_connect (selection, "changed", @@ -2482,59 +2447,59 @@ cc_color_panel_init (CcColorPanel *prefs) gtk_tree_view_column_set_expand (column, TRUE); gtk_tree_view_append_column (GTK_TREE_VIEW (widget), GTK_TREE_VIEW_COLUMN (column)); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "entry_calib_title")); g_signal_connect (widget, "notify::text", G_CALLBACK (gcm_prefs_title_entry_changed_cb), prefs); /* use a device client array */ - priv->client = cd_client_new (); - g_signal_connect_object (priv->client, "device-added", + prefs->client = cd_client_new (); + g_signal_connect_object (prefs->client, "device-added", G_CALLBACK (gcm_prefs_device_added_cb), prefs, 0); - g_signal_connect_object (priv->client, "device-removed", + g_signal_connect_object (prefs->client, "device-removed", G_CALLBACK (gcm_prefs_device_removed_cb), prefs, 0); /* use a listbox for the main UI */ - priv->list_box = GTK_LIST_BOX (gtk_list_box_new ()); - gtk_list_box_set_filter_func (priv->list_box, + prefs->list_box = GTK_LIST_BOX (gtk_list_box_new ()); + gtk_list_box_set_filter_func (prefs->list_box, cc_color_panel_filter_func, prefs, NULL); - gtk_list_box_set_sort_func (priv->list_box, + gtk_list_box_set_sort_func (prefs->list_box, cc_color_panel_sort_func, prefs, NULL); - gtk_list_box_set_header_func (priv->list_box, + gtk_list_box_set_header_func (prefs->list_box, cc_list_box_update_header_func, prefs, NULL); - gtk_list_box_set_selection_mode (priv->list_box, + gtk_list_box_set_selection_mode (prefs->list_box, GTK_SELECTION_SINGLE); - gtk_list_box_set_activate_on_single_click (priv->list_box, FALSE); - priv->list_box_selected_id = - g_signal_connect (priv->list_box, "row-selected", + gtk_list_box_set_activate_on_single_click (prefs->list_box, FALSE); + prefs->list_box_selected_id = + g_signal_connect (prefs->list_box, "row-selected", G_CALLBACK (gcm_prefs_list_box_row_selected_cb), prefs); - priv->list_box_activated_id = - g_signal_connect (priv->list_box, "row-activated", + prefs->list_box_activated_id = + g_signal_connect (prefs->list_box, "row-activated", G_CALLBACK (gcm_prefs_list_box_row_activated_cb), prefs); - priv->list_box_size = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL); + prefs->list_box_size = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "frame_devices")); - gtk_container_add (GTK_CONTAINER (widget), GTK_WIDGET (priv->list_box)); - gtk_widget_show (GTK_WIDGET (priv->list_box)); + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "frame_devices")); + gtk_container_add (GTK_CONTAINER (widget), GTK_WIDGET (prefs->list_box)); + gtk_widget_show (GTK_WIDGET (prefs->list_box)); /* connect to colord */ - cd_client_connect (priv->client, - priv->cancellable, + cd_client_connect (prefs->client, + prefs->cancellable, gcm_prefs_connect_cb, prefs); /* use the color sensor */ - g_signal_connect_object (priv->client, "sensor-added", + g_signal_connect_object (prefs->client, "sensor-added", G_CALLBACK (gcm_prefs_client_sensor_changed_cb), prefs, 0); - g_signal_connect_object (priv->client, "sensor-removed", + g_signal_connect_object (prefs->client, "sensor-removed", G_CALLBACK (gcm_prefs_client_sensor_changed_cb), prefs, 0); @@ -2542,25 +2507,25 @@ cc_color_panel_init (CcColorPanel *prefs) gcm_prefs_set_calibrate_button_sensitivity (prefs); /* show the confirmation export page if we are running from a LiveCD */ - priv->is_live_cd = gcm_prefs_is_livecd (); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + prefs->is_live_cd = gcm_prefs_is_livecd (); + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "box_calib_summary")); - gtk_widget_set_visible (widget, priv->is_live_cd); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + gtk_widget_set_visible (widget, prefs->is_live_cd); + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "button_calib_export")); g_signal_connect (widget, "clicked", G_CALLBACK (gcm_prefs_calib_export_cb), prefs); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "button_calib_upload")); g_signal_connect (widget, "clicked", G_CALLBACK (gcm_prefs_calib_upload_cb), prefs); - widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, + widget = GTK_WIDGET (gtk_builder_get_object (prefs->builder, "label_calib_summary_message")); g_signal_connect (widget, "activate-link", G_CALLBACK (gcm_prefs_calib_export_link_cb), prefs); - widget = WID (priv->builder, "dialog-vbox1"); + widget = WID (prefs->builder, "dialog-vbox1"); gtk_container_add (GTK_CONTAINER (prefs), widget); g_signal_connect (widget, "realize", G_CALLBACK (gcm_prefs_window_realize_cb), diff --git a/panels/color/cc-color-panel.h b/panels/color/cc-color-panel.h index 183d01438..cd5f7a6cd 100644 --- a/panels/color/cc-color-panel.h +++ b/panels/color/cc-color-panel.h @@ -26,45 +26,8 @@ G_BEGIN_DECLS -#define CC_TYPE_COLOR_PANEL cc_color_panel_get_type() - -#define CC_COLOR_PANEL(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ - CC_TYPE_COLOR_PANEL, CcColorPanel)) - -#define CC_COLOR_PANEL_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST ((klass), \ - CC_TYPE_COLOR_PANEL, CcColorPanelClass)) - -#define CC_IS_COLOR_PANEL(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ - CC_TYPE_COLOR_PANEL)) - -#define CC_IS_COLOR_PANEL_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE ((klass), \ - CC_TYPE_COLOR_PANEL)) - -#define CC_COLOR_PANEL_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS ((obj), \ - CC_TYPE_COLOR_PANEL, CcColorPanelClass)) - -typedef struct _CcColorPanel CcColorPanel; -typedef struct _CcColorPanelClass CcColorPanelClass; -typedef struct _CcColorPanelPrivate CcColorPanelPrivate; - -struct _CcColorPanel -{ - CcPanel parent; - - CcColorPanelPrivate *priv; -}; - -struct _CcColorPanelClass -{ - CcPanelClass parent_class; -}; - -GType cc_color_panel_get_type (void) G_GNUC_CONST; +#define CC_TYPE_COLOR_PANEL (cc_color_panel_get_type ()) +G_DECLARE_FINAL_TYPE (CcColorPanel, cc_color_panel, CC, COLOR_PANEL, CcPanel) G_END_DECLS diff --git a/panels/color/cc-color-profile.c b/panels/color/cc-color-profile.c index b985ecc3b..95e961f4d 100644 --- a/panels/color/cc-color-profile.c +++ b/panels/color/cc-color-profile.c @@ -27,8 +27,10 @@ #include "cc-color-common.h" #include "cc-color-profile.h" -struct _CcColorProfilePrivate +struct _CcColorProfile { + GtkListBoxRow parent_instance; + GtkWidget *box; CdDevice *device; CdProfile *profile; @@ -181,41 +183,40 @@ out: static const gchar * cc_color_profile_get_warnings (CcColorProfile *color_profile) { - CcColorProfilePrivate *priv = color_profile->priv; const gchar *tooltip = NULL; const guint seconds_in_one_day = 60 * 60 * 24; gint num_days; guint threshold_days = 0; /* autogenerated printer defaults */ - if (cd_device_get_kind (priv->device) == CD_DEVICE_KIND_PRINTER && - cd_profile_get_filename (priv->profile) == NULL) + if (cd_device_get_kind (color_profile->device) == CD_DEVICE_KIND_PRINTER && + cd_profile_get_filename (color_profile->profile) == NULL) { tooltip = _("Vendor supplied factory calibration data"); goto out; } /* autogenerated profiles are crap */ - if (cd_device_get_kind (priv->device) == CD_DEVICE_KIND_DISPLAY && - cd_profile_get_kind (priv->profile) == CD_PROFILE_KIND_DISPLAY_DEVICE && - !cd_profile_get_has_vcgt (priv->profile)) + if (cd_device_get_kind (color_profile->device) == CD_DEVICE_KIND_DISPLAY && + cd_profile_get_kind (color_profile->profile) == CD_PROFILE_KIND_DISPLAY_DEVICE && + !cd_profile_get_has_vcgt (color_profile->profile)) { tooltip = _("Full-screen display correction not possible with this profile"); goto out; } /* greater than the calibration threshold for the device type */ - num_days = cd_profile_get_age (priv->profile) / seconds_in_one_day; - if (cd_device_get_kind (priv->device) == CD_DEVICE_KIND_DISPLAY) + num_days = cd_profile_get_age (color_profile->profile) / seconds_in_one_day; + if (cd_device_get_kind (color_profile->device) == CD_DEVICE_KIND_DISPLAY) { - g_settings_get (priv->settings, + g_settings_get (color_profile->settings, GCM_SETTINGS_RECALIBRATE_DISPLAY_THRESHOLD, "u", &threshold_days); } - else if (cd_device_get_kind (priv->device) == CD_DEVICE_KIND_DISPLAY) + else if (cd_device_get_kind (color_profile->device) == CD_DEVICE_KIND_DISPLAY) { - g_settings_get (priv->settings, + g_settings_get (color_profile->settings, GCM_SETTINGS_RECALIBRATE_PRINTER_THRESHOLD, "u", &threshold_days); @@ -232,59 +233,58 @@ out: static void cc_color_profile_refresh (CcColorProfile *color_profile) { - CcColorProfilePrivate *priv = color_profile->priv; const gchar *warnings; gchar *title = NULL; /* show the image if the profile is default */ - gtk_widget_set_visible (priv->widget_image, priv->is_default); - gtk_widget_set_margin_start (priv->widget_description, - priv->is_default ? 0 : IMAGE_WIDGET_PADDING * 4); + gtk_widget_set_visible (color_profile->widget_image, color_profile->is_default); + gtk_widget_set_margin_start (color_profile->widget_description, + color_profile->is_default ? 0 : IMAGE_WIDGET_PADDING * 4); /* set the title */ - title = gcm_prefs_get_profile_title (priv->profile); - gtk_label_set_markup (GTK_LABEL (priv->widget_description), title); + title = gcm_prefs_get_profile_title (color_profile->profile); + gtk_label_set_markup (GTK_LABEL (color_profile->widget_description), title); g_free (title); /* show any information */ warnings = cc_color_profile_get_warnings (color_profile); - gtk_widget_set_visible (priv->widget_info, warnings != NULL); - gtk_widget_set_tooltip_text (priv->widget_info, warnings); + gtk_widget_set_visible (color_profile->widget_info, warnings != NULL); + gtk_widget_set_tooltip_text (color_profile->widget_info, warnings); } CdDevice * cc_color_profile_get_device (CcColorProfile *color_profile) { g_return_val_if_fail (CC_IS_COLOR_PROFILE (color_profile), NULL); - return color_profile->priv->device; + return color_profile->device; } CdProfile * cc_color_profile_get_profile (CcColorProfile *color_profile) { g_return_val_if_fail (CC_IS_COLOR_PROFILE (color_profile), NULL); - return color_profile->priv->profile; + return color_profile->profile; } const gchar * cc_color_profile_get_sortable (CcColorProfile *color_profile) { g_return_val_if_fail (CC_IS_COLOR_PROFILE (color_profile), NULL); - return color_profile->priv->sortable; + return color_profile->sortable; } gboolean cc_color_profile_get_is_default (CcColorProfile *color_profile) { g_return_val_if_fail (CC_IS_COLOR_PROFILE (color_profile), 0); - return color_profile->priv->is_default; + return color_profile->is_default; } void cc_color_profile_set_is_default (CcColorProfile *color_profile, gboolean is_default) { g_return_if_fail (CC_IS_COLOR_PROFILE (color_profile)); - color_profile->priv->is_default = is_default; + color_profile->is_default = is_default; cc_color_profile_refresh (color_profile); } @@ -296,13 +296,13 @@ cc_color_profile_get_property (GObject *object, guint param_id, switch (param_id) { case PROP_DEVICE: - g_value_set_object (value, color_profile->priv->device); + g_value_set_object (value, color_profile->device); break; case PROP_PROFILE: - g_value_set_object (value, color_profile->priv->profile); + g_value_set_object (value, color_profile->profile); break; case PROP_IS_DEFAULT: - g_value_set_boolean (value, color_profile->priv->is_default); + g_value_set_boolean (value, color_profile->is_default); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); @@ -319,13 +319,13 @@ cc_color_profile_set_property (GObject *object, guint param_id, switch (param_id) { case PROP_DEVICE: - color_profile->priv->device = g_value_dup_object (value); + color_profile->device = g_value_dup_object (value); break; case PROP_PROFILE: - color_profile->priv->profile = g_value_dup_object (value); + color_profile->profile = g_value_dup_object (value); break; case PROP_IS_DEFAULT: - color_profile->priv->is_default = g_value_get_boolean (value); + color_profile->is_default = g_value_get_boolean (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); @@ -337,17 +337,16 @@ static void cc_color_profile_finalize (GObject *object) { CcColorProfile *color_profile = CC_COLOR_PROFILE (object); - CcColorProfilePrivate *priv = color_profile->priv; - if (priv->device_changed_id > 0) - g_signal_handler_disconnect (priv->device, priv->device_changed_id); - if (priv->profile_changed_id > 0) - g_signal_handler_disconnect (priv->profile, priv->profile_changed_id); + if (color_profile->device_changed_id > 0) + g_signal_handler_disconnect (color_profile->device, color_profile->device_changed_id); + if (color_profile->profile_changed_id > 0) + g_signal_handler_disconnect (color_profile->profile, color_profile->profile_changed_id); - g_free (priv->sortable); - g_object_unref (priv->device); - g_object_unref (priv->profile); - g_object_unref (priv->settings); + g_free (color_profile->sortable); + g_object_unref (color_profile->device); + g_object_unref (color_profile->profile); + g_object_unref (color_profile->settings); G_OBJECT_CLASS (cc_color_profile_parent_class)->finalize (object); } @@ -357,14 +356,13 @@ cc_color_profile_changed_cb (CdDevice *device, CcColorProfile *color_profile) { CdProfile *profile; - CcColorProfilePrivate *priv = color_profile->priv; /* check to see if the default has changed */ profile = cd_device_get_default_profile (device); if (profile != NULL) { - priv->is_default = g_strcmp0 (cd_profile_get_object_path (profile), - cd_profile_get_object_path (priv->profile)) == 0; + color_profile->is_default = g_strcmp0 (cd_profile_get_object_path (profile), + cd_profile_get_object_path (color_profile->profile)) == 0; g_object_unref (profile); } cc_color_profile_refresh (color_profile); @@ -390,17 +388,16 @@ static void cc_color_profile_constructed (GObject *object) { CcColorProfile *color_profile = CC_COLOR_PROFILE (object); - CcColorProfilePrivate *priv = color_profile->priv; const gchar *sortable_data_source; gchar *sortable_device; gchar *title; /* watch to see if the default changes */ - priv->device_changed_id = - g_signal_connect (priv->device, "changed", + color_profile->device_changed_id = + g_signal_connect (color_profile->device, "changed", G_CALLBACK (cc_color_profile_changed_cb), color_profile); - priv->profile_changed_id = - g_signal_connect (priv->profile, "changed", + color_profile->profile_changed_id = + g_signal_connect (color_profile->profile, "changed", G_CALLBACK (cc_color_profile_changed_cb), color_profile); /* sort the profiles in the list by: @@ -409,13 +406,13 @@ cc_color_profile_constructed (GObject *object) * 3. the date the profiles were created (newest first) * 4. the alpha sorting of the filename */ - title = gcm_prefs_get_profile_title (priv->profile); - sortable_device = cc_color_device_get_sortable_base (priv->device); - sortable_data_source = cc_color_profile_get_profile_sort_data_source (priv->profile); - priv->sortable = g_strdup_printf ("%s-%s-%012" G_GINT64_FORMAT "-%s", + title = gcm_prefs_get_profile_title (color_profile->profile); + sortable_device = cc_color_device_get_sortable_base (color_profile->device); + sortable_data_source = cc_color_profile_get_profile_sort_data_source (color_profile->profile); + color_profile->sortable = g_strdup_printf ("%s-%s-%012" G_GINT64_FORMAT "-%s", sortable_device, sortable_data_source, - cd_profile_get_created (priv->profile), + cd_profile_get_created (color_profile->profile), title); g_free (title); g_free (sortable_device); @@ -447,43 +444,36 @@ cc_color_profile_class_init (CcColorProfileClass *klass) NULL, FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - - g_type_class_add_private (klass, sizeof (CcColorProfilePrivate)); } static void cc_color_profile_init (CcColorProfile *color_profile) { - CcColorProfilePrivate *priv; GtkWidget *box; - color_profile->priv = G_TYPE_INSTANCE_GET_PRIVATE (color_profile, - CC_TYPE_COLOR_PROFILE, - CcColorProfilePrivate); - priv = color_profile->priv; - priv->settings = g_settings_new (GCM_SETTINGS_SCHEMA); + color_profile->settings = g_settings_new (GCM_SETTINGS_SCHEMA); box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 9); /* default tick */ - priv->widget_image = gtk_image_new_from_icon_name ("object-select-symbolic", GTK_ICON_SIZE_MENU); - gtk_widget_set_margin_start (priv->widget_image, IMAGE_WIDGET_PADDING); - gtk_widget_set_margin_end (priv->widget_image, IMAGE_WIDGET_PADDING); - gtk_box_pack_start (GTK_BOX (box), priv->widget_image, FALSE, FALSE, 0); + color_profile->widget_image = gtk_image_new_from_icon_name ("object-select-symbolic", GTK_ICON_SIZE_MENU); + gtk_widget_set_margin_start (color_profile->widget_image, IMAGE_WIDGET_PADDING); + gtk_widget_set_margin_end (color_profile->widget_image, IMAGE_WIDGET_PADDING); + gtk_box_pack_start (GTK_BOX (box), color_profile->widget_image, FALSE, FALSE, 0); /* description */ - priv->widget_description = gtk_label_new (""); - gtk_widget_set_margin_top (priv->widget_description, 9); - gtk_widget_set_margin_bottom (priv->widget_description, 9); - gtk_widget_set_halign (priv->widget_description, GTK_ALIGN_START); - gtk_box_pack_start (GTK_BOX (box), priv->widget_description, TRUE, TRUE, 0); - gtk_widget_show (priv->widget_description); + color_profile->widget_description = gtk_label_new (""); + gtk_widget_set_margin_top (color_profile->widget_description, 9); + gtk_widget_set_margin_bottom (color_profile->widget_description, 9); + gtk_widget_set_halign (color_profile->widget_description, GTK_ALIGN_START); + gtk_box_pack_start (GTK_BOX (box), color_profile->widget_description, TRUE, TRUE, 0); + gtk_widget_show (color_profile->widget_description); /* profile warnings/info */ - priv->widget_info = gtk_image_new_from_icon_name ("dialog-information-symbolic", GTK_ICON_SIZE_MENU); - gtk_widget_set_margin_start (priv->widget_info, IMAGE_WIDGET_PADDING); - gtk_widget_set_margin_end (priv->widget_info, IMAGE_WIDGET_PADDING); - gtk_box_pack_start (GTK_BOX (box), priv->widget_info, FALSE, FALSE, 0); + color_profile->widget_info = gtk_image_new_from_icon_name ("dialog-information-symbolic", GTK_ICON_SIZE_MENU); + gtk_widget_set_margin_start (color_profile->widget_info, IMAGE_WIDGET_PADDING); + gtk_widget_set_margin_end (color_profile->widget_info, IMAGE_WIDGET_PADDING); + gtk_box_pack_start (GTK_BOX (box), color_profile->widget_info, FALSE, FALSE, 0); /* refresh */ gtk_container_add (GTK_CONTAINER (color_profile), box); diff --git a/panels/color/cc-color-profile.h b/panels/color/cc-color-profile.h index 30322fce9..48065117b 100644 --- a/panels/color/cc-color-profile.h +++ b/panels/color/cc-color-profile.h @@ -25,33 +25,11 @@ #include #include -#define CC_TYPE_COLOR_PROFILE (cc_color_profile_get_type()) -#define CC_COLOR_PROFILE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), CC_TYPE_COLOR_PROFILE, CcColorProfile)) -#define CC_COLOR_PROFILE_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST((cls), CC_TYPE_COLOR_PROFILE, CcColorProfileClass)) -#define CC_IS_COLOR_PROFILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), CC_TYPE_COLOR_PROFILE)) -#define CC_IS_COLOR_PROFILE_CLASS(cls) (G_TYPE_CHECK_CLASS_TYPE((cls), CC_TYPE_COLOR_PROFILE)) -#define CC_COLOR_PROFILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), CC_TYPE_COLOR_PROFILE, CcColorProfileClass)) - G_BEGIN_DECLS -typedef struct _CcColorProfile CcColorProfile; -typedef struct _CcColorProfileClass CcColorProfileClass; -typedef struct _CcColorProfilePrivate CcColorProfilePrivate; +#define CC_TYPE_COLOR_PROFILE (cc_color_profile_get_type ()) +G_DECLARE_FINAL_TYPE (CcColorProfile, cc_color_profile, CC, COLOR_PROFILE, GtkListBoxRow) -struct _CcColorProfile -{ - GtkListBoxRow parent; - - /*< private >*/ - CcColorProfilePrivate *priv; -}; - -struct _CcColorProfileClass -{ - GtkListBoxRowClass parent_class; -}; - -GType cc_color_profile_get_type (void); GtkWidget *cc_color_profile_new (CdDevice *device, CdProfile *profile, gboolean is_default);