1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-06-24 12:49:30 +00:00

origin: Add "numeric-addresses" property

This will be useful in the dialpad to determine whether we should allow
only numeric input or not.
This commit is contained in:
Evangelos Ribeiro Tzaras 2021-07-17 15:25:16 +02:00
parent f5cd48bd99
commit c7731b189a
6 changed files with 50 additions and 0 deletions

View file

@ -59,6 +59,7 @@ enum {
PROP_CALLS,
PROP_COUNTRY_CODE,
PROP_NUMERIC,
PROP_LAST_PROP,
};
static GParamSpec *props[PROP_LAST_PROP];
@ -214,6 +215,10 @@ get_property (GObject *object,
g_value_set_string (value, NULL);
break;
case PROP_NUMERIC:
g_value_set_boolean (value, TRUE);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@ -269,6 +274,7 @@ calls_dummy_origin_class_init (CallsDummyOriginClass *klass)
IMPLEMENTS (PROP_NAME, "name");
IMPLEMENTS (PROP_CALLS, "calls");
IMPLEMENTS (PROP_COUNTRY_CODE, "country-code");
IMPLEMENTS (PROP_NUMERIC, "numeric-addresses");
#undef IMPLEMENTS
}

View file

@ -72,6 +72,7 @@ enum {
PROP_CALLS,
PROP_MODEM,
PROP_COUNTRY_CODE,
PROP_NUMERIC,
PROP_LAST_PROP,
};
static GParamSpec *props[PROP_LAST_PROP];
@ -666,6 +667,10 @@ get_property (GObject *object,
g_value_set_string (value, self->country_code);
break;
case PROP_NUMERIC:
g_value_set_boolean (value, TRUE);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@ -881,6 +886,7 @@ calls_mm_origin_class_init (CallsMMOriginClass *klass)
IMPLEMENTS (PROP_NAME, "name");
IMPLEMENTS (PROP_CALLS, "calls");
IMPLEMENTS (PROP_COUNTRY_CODE, "country-code");
IMPLEMENTS (PROP_NUMERIC, "numeric-addresses");
#undef IMPLEMENTS

View file

@ -59,6 +59,7 @@ enum {
PROP_CALLS,
PROP_MODEM,
PROP_COUNTRY_CODE,
PROP_NUMERIC,
PROP_LAST_PROP,
};
static GParamSpec *props[PROP_LAST_PROP];
@ -176,6 +177,10 @@ get_property (GObject *object,
g_value_set_string (value, NULL);
break;
case PROP_NUMERIC:
g_value_set_boolean (value, TRUE);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@ -572,6 +577,7 @@ calls_ofono_origin_class_init (CallsOfonoOriginClass *klass)
IMPLEMENTS (PROP_NAME, "name");
IMPLEMENTS (PROP_CALLS, "calls");
IMPLEMENTS (PROP_COUNTRY_CODE, "country-code");
IMPLEMENTS (PROP_NUMERIC, "numeric-addresses");
#undef IMPLEMENTS

View file

@ -73,6 +73,7 @@ enum {
PROP_ACC_ADDRESS,
PROP_CALLS,
PROP_COUNTRY_CODE,
PROP_NUMERIC,
PROP_LAST_PROP,
};
static GParamSpec *props[PROP_LAST_PROP];
@ -1184,6 +1185,10 @@ calls_sip_origin_get_property (GObject *object,
g_value_set_string (value, NULL);
break;
case PROP_NUMERIC:
g_value_set_boolean (value, FALSE);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@ -1365,6 +1370,7 @@ calls_sip_origin_class_init (CallsSipOriginClass *klass)
IMPLEMENTS (PROP_NAME, "name");
IMPLEMENTS (PROP_CALLS, "calls");
IMPLEMENTS (PROP_COUNTRY_CODE, "country-code");
IMPLEMENTS (PROP_NUMERIC, "numeric-addresses");
#undef IMPLEMENTS
}

View file

@ -70,6 +70,14 @@ calls_origin_default_init (CallsOriginInterface *iface)
NULL,
G_PARAM_READABLE));
g_object_interface_install_property (
iface,
g_param_spec_boolean ("numeric-addresses",
"Numeric addresses",
"Whether this origin can only dial numeric addresses (aka numbers)",
TRUE,
G_PARAM_READABLE));
signals[SIGNAL_CALL_ADDED] =
g_signal_newv ("call-added",
G_TYPE_FROM_INTERFACE (iface),
@ -113,6 +121,23 @@ DEFINE_ORIGIN_GETTER(name, char *, NULL);
*/
DEFINE_ORIGIN_GETTER(calls, GList *, NULL);
/**
* calls_origin_get_numeric_addresses:
* @self: a #CallsOrigin
*
* Returns: %TRUE if this origin can only dial numeric addresses (i.e. telephone numbers),
* %FALSE otherwise.
*/
gboolean
calls_origin_get_numeric_addresses (CallsOrigin *origin)
{
gboolean numeric;
g_return_val_if_fail (CALLS_IS_ORIGIN (origin), FALSE);
g_object_get (origin, "numeric-addresses", &numeric, NULL);
return numeric;
}
/**
* calls_origin_foreach_call:

View file

@ -52,6 +52,7 @@ typedef void (*CallsOriginForeachCallFunc) (gpointer param, CallsCall* call, Cal
char * calls_origin_get_name (CallsOrigin *self);
GList * calls_origin_get_calls (CallsOrigin *self);
gboolean calls_origin_get_numeric_addresses (CallsOrigin *self);
void calls_origin_foreach_call (CallsOrigin *self,
CallsOriginForeachCallFunc callback,
gpointer param);