[gtk+] GtkCellRendererProgress: Use G_PARAM_EXPLICIT_NOTIFY
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] GtkCellRendererProgress: Use G_PARAM_EXPLICIT_NOTIFY
- Date: Mon, 9 Jun 2014 17:41:45 +0000 (UTC)
commit 31654f4515b7c8601de6f4fb507b109653561beb
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Jun 8 11:27:00 2014 -0400
GtkCellRendererProgress: Use G_PARAM_EXPLICIT_NOTIFY
Also add explicit notification and avoid redundant notification
for some properties.
gtk/gtkcellrendererprogress.c | 61 ++++++++++++++++++++++++-----------------
1 files changed, 36 insertions(+), 25 deletions(-)
---
diff --git a/gtk/gtkcellrendererprogress.c b/gtk/gtkcellrendererprogress.c
index 6c01176..e452a9a 100644
--- a/gtk/gtkcellrendererprogress.c
+++ b/gtk/gtkcellrendererprogress.c
@@ -137,7 +137,7 @@ gtk_cell_renderer_progress_class_init (GtkCellRendererProgressClass *klass)
P_("Value"),
P_("Value of the progress bar"),
0, 100, 0,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkCellRendererProgress:text:
@@ -179,7 +179,7 @@ gtk_cell_renderer_progress_class_init (GtkCellRendererProgressClass *klass)
P_("Pulse"),
P_("Set this to positive values to indicate that some
progress is made, but you don't know how much."),
-1, G_MAXINT, -1,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkCellRendererProgress:text-xalign:
@@ -225,7 +225,7 @@ gtk_cell_renderer_progress_class_init (GtkCellRendererProgressClass *klass)
P_("Inverted"),
P_("Invert the direction in which the progress bar
grows"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
}
static void
@@ -280,9 +280,9 @@ gtk_cell_renderer_progress_finalize (GObject *object)
}
static void
-gtk_cell_renderer_progress_get_property (GObject *object,
- guint param_id,
- GValue *value,
+gtk_cell_renderer_progress_get_property (GObject *object,
+ guint param_id,
+ GValue *value,
GParamSpec *pspec)
{
GtkCellRendererProgress *cellprogress = GTK_CELL_RENDERER_PROGRESS (object);
@@ -317,8 +317,8 @@ gtk_cell_renderer_progress_get_property (GObject *object,
}
static void
-gtk_cell_renderer_progress_set_property (GObject *object,
- guint param_id,
+gtk_cell_renderer_progress_set_property (GObject *object,
+ guint param_id,
const GValue *value,
GParamSpec *pspec)
{
@@ -346,10 +346,18 @@ gtk_cell_renderer_progress_set_property (GObject *object,
priv->text_yalign = g_value_get_float (value);
break;
case PROP_ORIENTATION:
- priv->orientation = g_value_get_enum (value);
+ if (priv->orientation != g_value_get_enum (value))
+ {
+ priv->orientation = g_value_get_enum (value);
+ g_object_notify_by_pspec (object, pspec);
+ }
break;
case PROP_INVERTED:
- priv->inverted = g_value_get_boolean (value);
+ if (priv->inverted != g_value_get_boolean (value))
+ {
+ priv->inverted = g_value_get_boolean (value);
+ g_object_notify_by_pspec (object, pspec);
+ }
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
@@ -377,9 +385,12 @@ static void
gtk_cell_renderer_progress_set_value (GtkCellRendererProgress *cellprogress,
gint value)
{
- cellprogress->priv->value = value;
-
- recompute_label (cellprogress);
+ if (cellprogress->priv->value != value)
+ {
+ cellprogress->priv->value = value;
+ recompute_label (cellprogress);
+ g_object_notify (G_OBJECT (cellprogress), "value");
+ }
}
static void
@@ -391,27 +402,27 @@ gtk_cell_renderer_progress_set_text (GtkCellRendererProgress *cellprogress,
new_text = g_strdup (text);
g_free (cellprogress->priv->text);
cellprogress->priv->text = new_text;
-
recompute_label (cellprogress);
+ g_object_notify (G_OBJECT (cellprogress), "text");
}
static void
gtk_cell_renderer_progress_set_pulse (GtkCellRendererProgress *cellprogress,
gint pulse)
{
- GtkCellRendererProgressPrivate *priv = cellprogress->priv;
-
- if (pulse != priv->pulse)
- {
- if (pulse <= 0)
- priv->offset = 0;
- else
- priv->offset = pulse;
- }
+ GtkCellRendererProgressPrivate *priv = cellprogress->priv;
- priv->pulse = pulse;
+ if (pulse != priv->pulse)
+ {
+ if (pulse <= 0)
+ priv->offset = 0;
+ else
+ priv->offset = pulse;
+ g_object_notify (G_OBJECT (cellprogress), "pulse");
+ }
- recompute_label (cellprogress);
+ priv->pulse = pulse;
+ recompute_label (cellprogress);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]