mirror of
https://gitlab.gnome.org/GNOME/calls.git
synced 2024-09-29 15:25:24 +00:00
calls-sip-account-widget: Stop using HdyValueObject
and adapt to AdwComboRow
API changes
These two are kind of hard to separate. https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/migrating-libhandy-1-4-to-libadwaita.html#stop-using-hdyvalueobject https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/migrating-libhandy-1-4-to-libadwaita.html#adapt-to-adwcomborow-api-changes Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/714>
This commit is contained in:
parent
ca059116b9
commit
47e30c12a7
1 changed files with 22 additions and 40 deletions
|
@ -70,7 +70,7 @@ struct _CallsSipAccountWidget {
|
||||||
GtkEntry *port;
|
GtkEntry *port;
|
||||||
char *last_port;
|
char *last_port;
|
||||||
AdwComboRow *protocol;
|
AdwComboRow *protocol;
|
||||||
GListStore *protocols_store; /* bound model for protocol AdwComboRow */
|
GtkStringList *protocols_store; /* bound model for protocol AdwComboRow */
|
||||||
AdwComboRow *media_encryption;
|
AdwComboRow *media_encryption;
|
||||||
GListStore *media_encryption_store;
|
GListStore *media_encryption_store;
|
||||||
GtkSwitch *tel_switch;
|
GtkSwitch *tel_switch;
|
||||||
|
@ -114,13 +114,11 @@ is_form_filled (CallsSipAccountWidget *self)
|
||||||
static const char *
|
static const char *
|
||||||
get_selected_protocol (CallsSipAccountWidget *self)
|
get_selected_protocol (CallsSipAccountWidget *self)
|
||||||
{
|
{
|
||||||
g_autoptr (AdwValueObject) obj = NULL;
|
|
||||||
const char *protocol = NULL;
|
const char *protocol = NULL;
|
||||||
gint i;
|
gint i;
|
||||||
|
|
||||||
if ((i = adw_combo_row_get_selected_index (self->protocol)) != -1) {
|
if ((i = adw_combo_row_get_selected(self->protocol)) != GTK_INVALID_LIST_POSITION) {
|
||||||
obj = g_list_model_get_item (G_LIST_MODEL (self->protocols_store), i);
|
protocol = gtk_string_list_get_string (self->protocols_store, i);
|
||||||
protocol = adw_value_object_get_string (obj);
|
|
||||||
}
|
}
|
||||||
return protocol;
|
return protocol;
|
||||||
}
|
}
|
||||||
|
@ -129,11 +127,11 @@ get_selected_protocol (CallsSipAccountWidget *self)
|
||||||
static SipMediaEncryption
|
static SipMediaEncryption
|
||||||
get_selected_media_encryption (CallsSipAccountWidget *self)
|
get_selected_media_encryption (CallsSipAccountWidget *self)
|
||||||
{
|
{
|
||||||
g_autoptr (AdwValueObject) obj = NULL;
|
GObject *obj = NULL;
|
||||||
SipMediaEncryption media_encryption = SIP_MEDIA_ENCRYPTION_NONE;
|
SipMediaEncryption media_encryption = SIP_MEDIA_ENCRYPTION_NONE;
|
||||||
gint i;
|
gint i;
|
||||||
|
|
||||||
if ((i = adw_combo_row_get_selected_index (self->media_encryption)) != -1) {
|
if ((i = adw_combo_row_get_selected(self->media_encryption)) != GTK_INVALID_LIST_POSITION) {
|
||||||
obj = g_list_model_get_item (G_LIST_MODEL (self->media_encryption_store), i);
|
obj = g_list_model_get_item (G_LIST_MODEL (self->media_encryption_store), i);
|
||||||
media_encryption = (SipMediaEncryption) GPOINTER_TO_INT (g_object_get_data (G_OBJECT (obj), "value"));
|
media_encryption = (SipMediaEncryption) GPOINTER_TO_INT (g_object_get_data (G_OBJECT (obj), "value"));
|
||||||
}
|
}
|
||||||
|
@ -158,7 +156,7 @@ update_media_encryption (CallsSipAccountWidget *self)
|
||||||
transport_is_tls | sdes_always_allowed);
|
transport_is_tls | sdes_always_allowed);
|
||||||
|
|
||||||
if (!transport_is_tls && !sdes_always_allowed)
|
if (!transport_is_tls && !sdes_always_allowed)
|
||||||
adw_combo_row_set_selected_index (self->media_encryption, 0);
|
adw_combo_row_set_selected (self->media_encryption, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -335,9 +333,7 @@ find_protocol (CallsSipAccountWidget *self,
|
||||||
|
|
||||||
len = g_list_model_get_n_items (G_LIST_MODEL (self->protocols_store));
|
len = g_list_model_get_n_items (G_LIST_MODEL (self->protocols_store));
|
||||||
for (guint i = 0; i < len; i++) {
|
for (guint i = 0; i < len; i++) {
|
||||||
g_autoptr (AdwValueObject) obj =
|
const char *prot = gtk_string_list_get_string (self->protocols_store, i);
|
||||||
g_list_model_get_item (G_LIST_MODEL (self->protocols_store), i);
|
|
||||||
const char *prot = adw_value_object_get_string (obj);
|
|
||||||
|
|
||||||
if (g_strcmp0 (protocol, prot) == 0) {
|
if (g_strcmp0 (protocol, prot) == 0) {
|
||||||
if (index)
|
if (index)
|
||||||
|
@ -363,7 +359,7 @@ find_media_encryption (CallsSipAccountWidget *self,
|
||||||
len = g_list_model_get_n_items (G_LIST_MODEL (self->media_encryption_store));
|
len = g_list_model_get_n_items (G_LIST_MODEL (self->media_encryption_store));
|
||||||
|
|
||||||
for (guint i = 0; i < len; i++) {
|
for (guint i = 0; i < len; i++) {
|
||||||
g_autoptr (AdwValueObject) obj =
|
GString* obj =
|
||||||
g_list_model_get_item (G_LIST_MODEL (self->media_encryption_store), i);
|
g_list_model_get_item (G_LIST_MODEL (self->media_encryption_store), i);
|
||||||
SipMediaEncryption obj_enc =
|
SipMediaEncryption obj_enc =
|
||||||
(SipMediaEncryption) GPOINTER_TO_INT (g_object_get_data (G_OBJECT (obj), "value"));
|
(SipMediaEncryption) GPOINTER_TO_INT (g_object_get_data (G_OBJECT (obj), "value"));
|
||||||
|
@ -390,9 +386,9 @@ clear_form (CallsSipAccountWidget *self)
|
||||||
gtk_editable_set_text (GTK_EDITABLE (self->user), "");
|
gtk_editable_set_text (GTK_EDITABLE (self->user), "");
|
||||||
gtk_editable_set_text (GTK_EDITABLE (self->password), "");
|
gtk_editable_set_text (GTK_EDITABLE (self->password), "");
|
||||||
gtk_editable_set_text (GTK_EDITABLE (self->port), "0");
|
gtk_editable_set_text (GTK_EDITABLE (self->port), "0");
|
||||||
adw_combo_row_set_selected_index (self->protocol, 0);
|
adw_combo_row_set_selected (self->protocol, 0);
|
||||||
gtk_widget_set_sensitive (GTK_WIDGET (self->media_encryption), FALSE);
|
gtk_widget_set_sensitive (GTK_WIDGET (self->media_encryption), FALSE);
|
||||||
adw_combo_row_set_selected_index (self->media_encryption, 0);
|
adw_combo_row_set_selected (self->media_encryption, 0);
|
||||||
gtk_switch_set_state (self->tel_switch, FALSE);
|
gtk_switch_set_state (self->tel_switch, FALSE);
|
||||||
gtk_switch_set_state (self->auto_connect_switch, TRUE);
|
gtk_switch_set_state (self->auto_connect_switch, TRUE);
|
||||||
|
|
||||||
|
@ -464,8 +460,8 @@ edit_form (CallsSipAccountWidget *self,
|
||||||
gtk_editable_set_text (GTK_EDITABLE (self->password), password);
|
gtk_editable_set_text (GTK_EDITABLE (self->password), password);
|
||||||
set_password_visibility (self, FALSE);
|
set_password_visibility (self, FALSE);
|
||||||
gtk_editable_set_text (GTK_EDITABLE (self->port), port_str);
|
gtk_editable_set_text (GTK_EDITABLE (self->port), port_str);
|
||||||
adw_combo_row_set_selected_index (self->protocol, protocol_index);
|
adw_combo_row_set_selected (self->protocol, protocol_index);
|
||||||
adw_combo_row_set_selected_index (self->media_encryption, encryption_index);
|
adw_combo_row_set_selected (self->media_encryption, encryption_index);
|
||||||
gtk_switch_set_state (self->tel_switch, can_tel);
|
gtk_switch_set_state (self->tel_switch, can_tel);
|
||||||
gtk_switch_set_state (self->auto_connect_switch, auto_connect);
|
gtk_switch_set_state (self->auto_connect_switch, auto_connect);
|
||||||
|
|
||||||
|
@ -652,7 +648,7 @@ calls_sip_account_widget_class_init (CallsSipAccountWidgetClass *klass)
|
||||||
static void
|
static void
|
||||||
calls_sip_account_widget_init (CallsSipAccountWidget *self)
|
calls_sip_account_widget_init (CallsSipAccountWidget *self)
|
||||||
{
|
{
|
||||||
AdwValueObject *obj;
|
GtkStringObject *obj;
|
||||||
|
|
||||||
self->settings = calls_settings_get_default ();
|
self->settings = calls_settings_get_default ();
|
||||||
|
|
||||||
|
@ -663,44 +659,30 @@ calls_sip_account_widget_init (CallsSipAccountWidget *self)
|
||||||
|
|
||||||
gtk_widget_init_template (GTK_WIDGET (self));
|
gtk_widget_init_template (GTK_WIDGET (self));
|
||||||
|
|
||||||
self->media_encryption_store = g_list_store_new (ADW_TYPE_VALUE_OBJECT);
|
self->media_encryption_store = g_list_store_new (GTK_TYPE_STRING_OBJECT);
|
||||||
|
|
||||||
obj = adw_value_object_new_string (_("No encryption"));
|
obj = gtk_string_object_new (_("No encryption"));
|
||||||
g_object_set_data (G_OBJECT (obj),
|
g_object_set_data (G_OBJECT (obj),
|
||||||
"value", GINT_TO_POINTER (SIP_MEDIA_ENCRYPTION_NONE));
|
"value", GINT_TO_POINTER (SIP_MEDIA_ENCRYPTION_NONE));
|
||||||
g_list_store_insert (self->media_encryption_store, 0, obj);
|
g_list_store_insert (self->media_encryption_store, 0, obj);
|
||||||
g_clear_object (&obj);
|
g_clear_object (&obj);
|
||||||
|
|
||||||
/* TODO Optional encryption */
|
/* TODO Optional encryption */
|
||||||
obj = adw_value_object_new_string (_("Force encryption"));
|
obj = gtk_string_object_new (_("Force encryption"));
|
||||||
g_object_set_data (G_OBJECT (obj),
|
g_object_set_data (G_OBJECT (obj),
|
||||||
"value", GINT_TO_POINTER (SIP_MEDIA_ENCRYPTION_FORCED));
|
"value", GINT_TO_POINTER (SIP_MEDIA_ENCRYPTION_FORCED));
|
||||||
g_list_store_insert (self->media_encryption_store, 1, obj);
|
g_list_store_insert (self->media_encryption_store, 1, obj);
|
||||||
g_clear_object (&obj);
|
g_clear_object (&obj);
|
||||||
|
|
||||||
adw_combo_row_bind_name_model (self->media_encryption,
|
adw_combo_row_set_model(self->media_encryption, G_LIST_MODEL (self->media_encryption_store));
|
||||||
G_LIST_MODEL (self->media_encryption_store),
|
|
||||||
(AdwComboRowGetNameFunc) adw_value_object_dup_string,
|
|
||||||
NULL, NULL);
|
|
||||||
|
|
||||||
self->protocols_store = g_list_store_new (ADW_TYPE_VALUE_OBJECT);
|
self->protocols_store = gtk_string_list_new (NULL);
|
||||||
|
|
||||||
obj = adw_value_object_new_string ("UDP");
|
gtk_string_list_append (self->protocols_store, "UDP");
|
||||||
g_list_store_insert (self->protocols_store, 0, obj);
|
gtk_string_list_append (self->protocols_store, "TCP");
|
||||||
g_clear_object (&obj);
|
gtk_string_list_append (self->protocols_store, "TLS");
|
||||||
|
|
||||||
obj = adw_value_object_new_string ("TCP");
|
adw_combo_row_set_model(self->protocol, G_LIST_MODEL (self->protocols_store));
|
||||||
g_list_store_insert (self->protocols_store, 1, obj);
|
|
||||||
g_clear_object (&obj);
|
|
||||||
|
|
||||||
obj = adw_value_object_new_string ("TLS");
|
|
||||||
g_list_store_insert (self->protocols_store, 2, obj);
|
|
||||||
g_clear_object (&obj);
|
|
||||||
|
|
||||||
adw_combo_row_bind_name_model (self->protocol,
|
|
||||||
G_LIST_MODEL (self->protocols_store),
|
|
||||||
(AdwComboRowGetNameFunc) adw_value_object_dup_string,
|
|
||||||
NULL, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue