spinner: Remove private struct

Since priv->active is equivalent to the widget state being CHECKED, we
can as well use that everywhere.
This commit is contained in:
Timm Bäder 2018-08-19 13:26:34 +02:00
parent fb51f8be9a
commit ab0b54db76

View File

@ -67,13 +67,7 @@ enum {
PROP_ACTIVE PROP_ACTIVE
}; };
struct _GtkSpinnerPrivate G_DEFINE_TYPE (GtkSpinner, gtk_spinner, GTK_TYPE_WIDGET)
{
guint active : 1;
};
typedef struct _GtkSpinnerPrivate GtkSpinnerPrivate;
G_DEFINE_TYPE_WITH_PRIVATE (GtkSpinner, gtk_spinner, GTK_TYPE_WIDGET)
#define DEFAULT_SIZE 16 #define DEFAULT_SIZE 16
@ -118,18 +112,22 @@ gtk_spinner_snapshot (GtkWidget *widget,
GTK_CSS_IMAGE_BUILTIN_SPINNER); GTK_CSS_IMAGE_BUILTIN_SPINNER);
} }
static gboolean
gtk_spinner_get_active (GtkSpinner *spinner)
{
return (gtk_widget_get_state_flags ((GtkWidget *)spinner) & GTK_STATE_FLAG_CHECKED) > 0;
}
static void static void
gtk_spinner_set_active (GtkSpinner *spinner, gtk_spinner_set_active (GtkSpinner *spinner,
gboolean active) gboolean active)
{ {
GtkSpinnerPrivate *priv = gtk_spinner_get_instance_private (spinner); gboolean current_active = gtk_spinner_get_active (spinner);
active = !!active; active = !!active;
if (priv->active != active) if (active != current_active)
{ {
priv->active = active;
g_object_notify (G_OBJECT (spinner), "active"); g_object_notify (G_OBJECT (spinner), "active");
if (active) if (active)
@ -147,12 +145,10 @@ gtk_spinner_get_property (GObject *object,
GValue *value, GValue *value,
GParamSpec *pspec) GParamSpec *pspec)
{ {
GtkSpinnerPrivate *priv = gtk_spinner_get_instance_private (GTK_SPINNER (object));
switch (param_id) switch (param_id)
{ {
case PROP_ACTIVE: case PROP_ACTIVE:
g_value_set_boolean (value, priv->active); g_value_set_boolean (value, gtk_spinner_get_active (GTK_SPINNER (object)));
break; break;
default: default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);