mirror of https://github.com/GNOME/gimp.git
app: don't implement GtkAction activate() anymore.
All action types work fine with GAction activate() now.
This commit is contained in:
parent
4776b092bd
commit
83c466bdec
|
@ -70,7 +70,7 @@ static void gimp_action_impl_get_property (GObject *object,
|
|||
/* XXX Implementations for our GimpAction are widely inspired by GSimpleAction
|
||||
* implementations.
|
||||
*/
|
||||
static void gimp_action_impl_g_activate (GAction *action,
|
||||
static void gimp_action_impl_activate (GAction *action,
|
||||
GVariant *parameter);
|
||||
static void gimp_action_impl_change_state (GAction *action,
|
||||
GVariant *value);
|
||||
|
@ -84,8 +84,6 @@ static GVariant *
|
|||
static GVariant *
|
||||
gimp_action_impl_get_state_hint (GAction *action);
|
||||
|
||||
static void gimp_action_impl_activate (GtkAction *action);
|
||||
|
||||
static void gimp_action_impl_set_state (GimpAction *gimp_action,
|
||||
GVariant *value);
|
||||
|
||||
|
@ -102,8 +100,7 @@ static guint gimp_action_impl_signals[LAST_SIGNAL] = { 0 };
|
|||
static void
|
||||
gimp_action_impl_class_init (GimpActionImplClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
GtkActionClass *action_class = GTK_ACTION_CLASS (klass);
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
gimp_action_impl_signals[CHANGE_STATE] =
|
||||
g_signal_new ("change-state",
|
||||
|
@ -118,8 +115,6 @@ gimp_action_impl_class_init (GimpActionImplClass *klass)
|
|||
object_class->set_property = gimp_action_impl_set_property;
|
||||
object_class->get_property = gimp_action_impl_get_property;
|
||||
|
||||
action_class->activate = gimp_action_impl_activate;
|
||||
|
||||
gimp_action_install_properties (object_class);
|
||||
|
||||
/**
|
||||
|
@ -179,7 +174,7 @@ gimp_action_impl_class_init (GimpActionImplClass *klass)
|
|||
static void
|
||||
gimp_action_g_action_iface_init (GActionInterface *iface)
|
||||
{
|
||||
iface->activate = gimp_action_impl_g_activate;
|
||||
iface->activate = gimp_action_impl_activate;
|
||||
iface->change_state = gimp_action_impl_change_state;
|
||||
iface->get_enabled = gimp_action_impl_get_enabled;
|
||||
iface->get_name = (const gchar* (*) (GAction*)) gimp_action_get_name;
|
||||
|
@ -285,8 +280,8 @@ gimp_action_impl_set_property (GObject *object,
|
|||
}
|
||||
|
||||
static void
|
||||
gimp_action_impl_g_activate (GAction *action,
|
||||
GVariant *parameter)
|
||||
gimp_action_impl_activate (GAction *action,
|
||||
GVariant *parameter)
|
||||
{
|
||||
gimp_action_emit_activate (GIMP_ACTION (action), parameter);
|
||||
|
||||
|
@ -351,17 +346,6 @@ gimp_action_impl_get_state_hint (GAction *action)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_action_impl_activate (GtkAction *action)
|
||||
{
|
||||
if (GTK_ACTION_CLASS (parent_class)->activate)
|
||||
GTK_ACTION_CLASS (parent_class)->activate (action);
|
||||
|
||||
gimp_action_emit_activate (GIMP_ACTION (action), NULL);
|
||||
|
||||
gimp_action_history_action_activated (GIMP_ACTION (action));
|
||||
}
|
||||
|
||||
|
||||
/* public functions */
|
||||
|
||||
|
|
|
@ -49,9 +49,7 @@ static void gimp_double_action_get_property (GObject *object,
|
|||
GValue *value,
|
||||
GParamSpec *pspec);
|
||||
|
||||
static void gimp_double_action_activate (GtkAction *action);
|
||||
|
||||
static void gimp_double_action_g_activate (GAction *action,
|
||||
static void gimp_double_action_activate (GAction *action,
|
||||
GVariant *parameter);
|
||||
|
||||
|
||||
|
@ -64,14 +62,11 @@ G_DEFINE_TYPE_WITH_CODE (GimpDoubleAction, gimp_double_action, GIMP_TYPE_ACTION_
|
|||
static void
|
||||
gimp_double_action_class_init (GimpDoubleActionClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
GtkActionClass *action_class = GTK_ACTION_CLASS (klass);
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->set_property = gimp_double_action_set_property;
|
||||
object_class->get_property = gimp_double_action_get_property;
|
||||
|
||||
action_class->activate = gimp_double_action_activate;
|
||||
|
||||
g_object_class_install_property (object_class, PROP_VALUE,
|
||||
g_param_spec_double ("value",
|
||||
NULL, NULL,
|
||||
|
@ -88,7 +83,7 @@ gimp_double_action_init (GimpDoubleAction *action)
|
|||
static void
|
||||
gimp_double_action_g_action_iface_init (GActionInterface *iface)
|
||||
{
|
||||
iface->activate = gimp_double_action_g_activate;
|
||||
iface->activate = gimp_double_action_activate;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -155,19 +150,8 @@ gimp_double_action_new (const gchar *name,
|
|||
}
|
||||
|
||||
static void
|
||||
gimp_double_action_activate (GtkAction *action)
|
||||
{
|
||||
GimpDoubleAction *double_action = GIMP_DOUBLE_ACTION (action);
|
||||
|
||||
gimp_action_emit_activate (GIMP_ACTION (action),
|
||||
g_variant_new_double (double_action->value));
|
||||
|
||||
gimp_action_history_action_activated (GIMP_ACTION (action));
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_double_action_g_activate (GAction *action,
|
||||
GVariant *parameter)
|
||||
gimp_double_action_activate (GAction *action,
|
||||
GVariant *parameter)
|
||||
{
|
||||
GimpDoubleAction *double_action = GIMP_DOUBLE_ACTION (action);
|
||||
|
||||
|
|
|
@ -54,9 +54,7 @@ static void gimp_procedure_action_get_property (GObject *objec
|
|||
GValue *value,
|
||||
GParamSpec *pspec);
|
||||
|
||||
static void gimp_procedure_action_activate (GtkAction *action);
|
||||
|
||||
static void gimp_procedure_action_g_activate (GAction *action,
|
||||
static void gimp_procedure_action_activate (GAction *action,
|
||||
GVariant *parameter);
|
||||
|
||||
|
||||
|
@ -69,15 +67,12 @@ G_DEFINE_TYPE_WITH_CODE (GimpProcedureAction, gimp_procedure_action, GIMP_TYPE_A
|
|||
static void
|
||||
gimp_procedure_action_class_init (GimpProcedureActionClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
GtkActionClass *action_class = GTK_ACTION_CLASS (klass);
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->finalize = gimp_procedure_action_finalize;
|
||||
object_class->set_property = gimp_procedure_action_set_property;
|
||||
object_class->get_property = gimp_procedure_action_get_property;
|
||||
|
||||
action_class->activate = gimp_procedure_action_activate;
|
||||
|
||||
g_object_class_install_property (object_class, PROP_PROCEDURE,
|
||||
g_param_spec_object ("procedure",
|
||||
NULL, NULL,
|
||||
|
@ -88,7 +83,7 @@ gimp_procedure_action_class_init (GimpProcedureActionClass *klass)
|
|||
static void
|
||||
gimp_procedure_action_g_action_iface_init (GActionInterface *iface)
|
||||
{
|
||||
iface->activate = gimp_procedure_action_g_activate;
|
||||
iface->activate = gimp_procedure_action_activate;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -149,28 +144,8 @@ gimp_procedure_action_set_property (GObject *object,
|
|||
}
|
||||
|
||||
static void
|
||||
gimp_procedure_action_activate (GtkAction *action)
|
||||
{
|
||||
GimpProcedureAction *procedure_action = GIMP_PROCEDURE_ACTION (action);
|
||||
|
||||
/* Not all actions have procedures associated with them, for example
|
||||
* unused "filters-recent-[N]" actions, so check for NULL before we
|
||||
* invoke the action
|
||||
*/
|
||||
if (procedure_action->procedure)
|
||||
{
|
||||
gsize hack = GPOINTER_TO_SIZE (procedure_action->procedure);
|
||||
|
||||
gimp_action_emit_activate (GIMP_ACTION (action),
|
||||
g_variant_new_uint64 (hack));
|
||||
|
||||
gimp_action_history_action_activated (GIMP_ACTION (action));
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_procedure_action_g_activate (GAction *action,
|
||||
GVariant *parameter)
|
||||
gimp_procedure_action_activate (GAction *action,
|
||||
GVariant *parameter)
|
||||
{
|
||||
GimpProcedureAction *procedure_action = GIMP_PROCEDURE_ACTION (action);
|
||||
|
||||
|
|
|
@ -50,9 +50,7 @@ static void gimp_string_action_get_property (GObject *object,
|
|||
GValue *value,
|
||||
GParamSpec *pspec);
|
||||
|
||||
static void gimp_string_action_activate (GtkAction *action);
|
||||
|
||||
static void gimp_string_action_g_activate (GimpAction *action,
|
||||
static void gimp_string_action_activate (GAction *action,
|
||||
GVariant *parameter);
|
||||
|
||||
|
||||
|
@ -65,15 +63,12 @@ G_DEFINE_TYPE_WITH_CODE (GimpStringAction, gimp_string_action, GIMP_TYPE_ACTION_
|
|||
static void
|
||||
gimp_string_action_class_init (GimpStringActionClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
GtkActionClass *action_class = GTK_ACTION_CLASS (klass);
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->finalize = gimp_string_action_finalize;
|
||||
object_class->set_property = gimp_string_action_set_property;
|
||||
object_class->get_property = gimp_string_action_get_property;
|
||||
|
||||
action_class->activate = gimp_string_action_activate;
|
||||
|
||||
g_object_class_install_property (object_class, PROP_VALUE,
|
||||
g_param_spec_string ("value",
|
||||
NULL, NULL,
|
||||
|
@ -84,7 +79,7 @@ gimp_string_action_class_init (GimpStringActionClass *klass)
|
|||
static void
|
||||
gimp_string_action_g_action_iface_init (GActionInterface *iface)
|
||||
{
|
||||
iface->activate = gimp_string_action_g_activate;
|
||||
iface->activate = gimp_string_action_activate;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -167,19 +162,8 @@ gimp_string_action_new (const gchar *name,
|
|||
}
|
||||
|
||||
static void
|
||||
gimp_string_action_activate (GtkAction *action)
|
||||
{
|
||||
GimpStringAction *string_action = GIMP_STRING_ACTION (action);
|
||||
|
||||
gimp_action_emit_activate (GIMP_ACTION (action),
|
||||
g_variant_new_string (string_action->value));
|
||||
|
||||
gimp_action_history_action_activated (GIMP_ACTION (action));
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_string_action_g_activate (GimpAction *action,
|
||||
GVariant *parameter)
|
||||
gimp_string_action_activate (GAction *action,
|
||||
GVariant *parameter)
|
||||
{
|
||||
GimpStringAction *string_action = GIMP_STRING_ACTION (action);
|
||||
|
||||
|
|
Loading…
Reference in New Issue