[cheese] Use private GObject pointer in Widget and Chooser
- From: David King <davidk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [cheese] Use private GObject pointer in Widget and Chooser
- Date: Sun, 13 Nov 2011 18:50:37 +0000 (UTC)
commit 04138f9027562c412a133b9a1dac9cbe77992c7e
Author: David King <amigadave amigadave com>
Date: Sun Nov 13 19:48:20 2011 +0100
Use private GObject pointer in Widget and Chooser
Additionally, remove some dead code.
libcheese/cheese-avatar-chooser.c | 20 +++-----
libcheese/cheese-widget.c | 88 ++++++++----------------------------
libcheese/cheese-widget.h | 2 +
3 files changed, 29 insertions(+), 81 deletions(-)
---
diff --git a/libcheese/cheese-avatar-chooser.c b/libcheese/cheese-avatar-chooser.c
index 9ef716a..2cc900a 100644
--- a/libcheese/cheese-avatar-chooser.c
+++ b/libcheese/cheese-avatar-chooser.c
@@ -89,7 +89,7 @@ cheese_widget_photo_taken_cb (CheeseCamera *camera,
GdkPixbuf *pixbuf,
CheeseAvatarChooser *chooser)
{
- CheeseAvatarChooserPrivate *priv = CHEESE_AVATAR_CHOOSER_GET_PRIVATE (chooser);
+ CheeseAvatarChooserPrivate *priv = chooser->priv;
GtkAllocation allocation;
gdk_threads_enter ();
@@ -120,7 +120,7 @@ static void
take_button_clicked_cb (GtkButton *button,
CheeseAvatarChooser *chooser)
{
- CheeseAvatarChooserPrivate *priv = CHEESE_AVATAR_CHOOSER_GET_PRIVATE (chooser);
+ CheeseAvatarChooserPrivate *priv = chooser->priv;
GObject *camera;
camera = cheese_widget_get_camera (CHEESE_WIDGET (priv->camera));
@@ -155,7 +155,7 @@ static void
take_again_button_clicked_cb (GtkButton *button,
CheeseAvatarChooser *chooser)
{
- CheeseAvatarChooserPrivate *priv = CHEESE_AVATAR_CHOOSER_GET_PRIVATE (chooser);
+ CheeseAvatarChooserPrivate *priv = chooser->priv;
gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), WIDGET_PAGE);
gtk_dialog_set_response_sensitive (GTK_DIALOG (chooser),
@@ -179,7 +179,7 @@ state_change_cb (GObject *object,
GParamSpec *param_spec,
CheeseAvatarChooser *chooser)
{
- CheeseAvatarChooserPrivate *priv = CHEESE_AVATAR_CHOOSER_GET_PRIVATE (chooser);
+ CheeseAvatarChooserPrivate *priv = chooser->priv;
CheeseWidgetState state;
g_object_get (object, "state", &state, NULL);
@@ -312,7 +312,7 @@ cheese_avatar_chooser_init (CheeseAvatarChooser *chooser)
static void
cheese_avatar_chooser_finalize (GObject *object)
{
- CheeseAvatarChooserPrivate *priv = CHEESE_AVATAR_CHOOSER (object)->priv;
+ CheeseAvatarChooserPrivate *priv = ((CheeseAvatarChooser *) object)->priv;
if (priv->flash != NULL)
{
@@ -327,9 +327,7 @@ static void
cheese_avatar_chooser_get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
- CheeseAvatarChooserPrivate *priv = CHEESE_AVATAR_CHOOSER_GET_PRIVATE (object);
-
- g_return_if_fail (CHEESE_IS_AVATAR_CHOOSER (object));
+ CheeseAvatarChooserPrivate *priv = ((CheeseAvatarChooser *) object)->priv;
switch (prop_id)
{
@@ -391,11 +389,7 @@ cheese_avatar_chooser_new (void)
GdkPixbuf *
cheese_avatar_chooser_get_picture (CheeseAvatarChooser *chooser)
{
- CheeseAvatarChooserPrivate *priv;
-
g_return_val_if_fail (CHEESE_IS_AVATAR_CHOOSER (chooser), NULL);
- priv = CHEESE_AVATAR_CHOOSER_GET_PRIVATE (chooser);
-
- return um_crop_area_get_picture (UM_CROP_AREA (priv->image));
+ return um_crop_area_get_picture (UM_CROP_AREA (chooser->priv->image));
}
diff --git a/libcheese/cheese-widget.c b/libcheese/cheese-widget.c
index 93e2ff2..de58c2c 100644
--- a/libcheese/cheese-widget.c
+++ b/libcheese/cheese-widget.c
@@ -55,7 +55,7 @@ enum
static GParamSpec *properties[PROP_LAST];
-typedef struct
+struct _CheeseWidgetPrivate
{
GtkWidget *spinner;
GtkWidget *screen;
@@ -65,7 +65,7 @@ typedef struct
CheeseCamera *webcam;
CheeseWidgetState state;
GError *error;
-} CheeseWidgetPrivate;
+};
#define CHEESE_WIDGET_GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), CHEESE_TYPE_WIDGET, \
@@ -179,7 +179,7 @@ static void
cheese_widget_set_problem_page (CheeseWidget *widget,
const char *icon_name)
{
- CheeseWidgetPrivate *priv = CHEESE_WIDGET_GET_PRIVATE (widget);
+ CheeseWidgetPrivate *priv = widget->priv;
gtk_notebook_set_current_page (GTK_NOTEBOOK (widget), PROBLEM_PAGE);
g_object_set_data_full (G_OBJECT (priv->problem),
@@ -191,7 +191,7 @@ cheese_widget_set_problem_page (CheeseWidget *widget,
static void
cheese_widget_init (CheeseWidget *widget)
{
- CheeseWidgetPrivate *priv = CHEESE_WIDGET_GET_PRIVATE (widget);
+ CheeseWidgetPrivate *priv = widget->priv = CHEESE_WIDGET_GET_PRIVATE (widget);
GtkWidget *box;
ClutterActor *stage, *frame;
ClutterConstraint *constraint;
@@ -247,7 +247,7 @@ cheese_widget_init (CheeseWidget *widget)
static void
cheese_widget_finalize (GObject *object)
{
- CheeseWidgetPrivate *priv = CHEESE_WIDGET_GET_PRIVATE (object);
+ CheeseWidgetPrivate *priv = ((CheeseWidget *) object)->priv;
if (priv->settings)
{
@@ -263,34 +263,11 @@ cheese_widget_finalize (GObject *object)
G_OBJECT_CLASS (cheese_widget_parent_class)->finalize (object);
}
-#if 0
-static void
-cheese_widget_set_property (GObject *object, guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- CheeseWidgetPrivate *priv = CHEESE_WIDGET_GET_PRIVATE (object);
-
- g_return_if_fail (CHEESE_IS_WIDGET (object));
-
- switch (prop_id)
- {
- case PROP_STATE:
- priv->state = g_value_get_enum (value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-#endif
-
static void
cheese_widget_get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
- CheeseWidgetPrivate *priv = CHEESE_WIDGET_GET_PRIVATE (object);
+ CheeseWidgetPrivate *priv = ((CheeseWidget *) object)->priv;
g_return_if_fail (CHEESE_IS_WIDGET (object));
@@ -305,25 +282,17 @@ cheese_widget_get_property (GObject *object, guint prop_id,
}
}
-#if 0
-static void
-cheese_widget_changed (CheeseWidget *self)
-{
-}
-
-#endif
-
void
setup_camera (CheeseWidget *widget)
{
- CheeseWidgetPrivate *priv = CHEESE_WIDGET_GET_PRIVATE (widget);
- char *webcam_device = NULL;
- int x_resolution;
- int y_resolution;
- gdouble brightness;
- gdouble contrast;
- gdouble saturation;
- gdouble hue;
+ CheeseWidgetPrivate *priv = widget->priv;
+ gchar *webcam_device = NULL;
+ gint x_resolution;
+ gint y_resolution;
+ gdouble brightness;
+ gdouble contrast;
+ gdouble saturation;
+ gdouble hue;
g_settings_get (priv->settings, "photo-x-resolution", "i", &x_resolution);
g_settings_get (priv->settings, "photo-y-resolution", "i", &y_resolution);
@@ -372,7 +341,7 @@ setup_camera (CheeseWidget *widget)
static void
cheese_widget_realize (GtkWidget *widget)
{
- CheeseWidgetPrivate *priv = CHEESE_WIDGET_GET_PRIVATE (widget);
+ CheeseWidgetPrivate *priv = ((CheeseWidget *) widget)->priv;
GTK_WIDGET_CLASS (cheese_widget_parent_class)->realize (widget);
@@ -440,13 +409,9 @@ cheese_widget_new (void)
GSettings *
cheese_widget_get_settings (CheeseWidget *widget)
{
- CheeseWidgetPrivate *priv;
-
g_return_val_if_fail (CHEESE_WIDGET (widget), NULL);
- priv = CHEESE_WIDGET_GET_PRIVATE (widget);
-
- return priv->settings;
+ return widget->priv->settings;
}
/*
@@ -458,13 +423,9 @@ cheese_widget_get_settings (CheeseWidget *widget)
GObject *
cheese_widget_get_camera (CheeseWidget *widget)
{
- CheeseWidgetPrivate *priv;
-
g_return_val_if_fail (CHEESE_WIDGET (widget), NULL);
- priv = CHEESE_WIDGET_GET_PRIVATE (widget);
-
- return G_OBJECT (priv->webcam);
+ return G_OBJECT (widget->priv->webcam);
}
/*
@@ -476,13 +437,9 @@ cheese_widget_get_camera (CheeseWidget *widget)
GtkWidget *
cheese_widget_get_video_area (CheeseWidget *widget)
{
- CheeseWidgetPrivate *priv;
-
g_return_val_if_fail (CHEESE_WIDGET (widget), NULL);
- priv = CHEESE_WIDGET_GET_PRIVATE (widget);
-
- return priv->screen;
+ return widget->priv->screen;
}
/**
@@ -494,8 +451,7 @@ cheese_widget_get_video_area (CheeseWidget *widget)
* %CHEESE_WIDGET_STATE_ERROR.
*
* The returned #GError will contain more details on what went wrong.
- **/
-
+ */
void
cheese_widget_get_error (CheeseWidget *widget, GError **error)
{
@@ -503,13 +459,9 @@ cheese_widget_get_error (CheeseWidget *widget, GError **error)
g_return_if_fail (CHEESE_WIDGET (widget));
- priv = CHEESE_WIDGET_GET_PRIVATE (widget);
+ priv = (widget)->priv;
g_propagate_error (error, priv->error);
priv->error = NULL;
}
-
-/*
- * vim: sw=2 ts=8 cindent noai bs=2
- */
diff --git a/libcheese/cheese-widget.h b/libcheese/cheese-widget.h
index 220b79f..3aacaa7 100644
--- a/libcheese/cheese-widget.h
+++ b/libcheese/cheese-widget.h
@@ -37,6 +37,7 @@ G_BEGIN_DECLS
#define CHEESE_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CHEESE_TYPE_WIDGET, \
CheeseWidgetClass))
+typedef struct _CheeseWidgetPrivate CheeseWidgetPrivate;
typedef struct _CheeseWidgetClass CheeseWidgetClass;
typedef struct _CheeseWidget CheeseWidget;
@@ -60,6 +61,7 @@ struct _CheeseWidget
{
/*< private >*/
GtkNotebook parent_instance;
+ CheeseWidgetPrivate *priv;
};
GType cheese_widget_get_type (void) G_GNUC_CONST;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]