summaryrefslogtreecommitdiff
path: root/libpurple
diff options
context:
space:
mode:
authorElliott Sales de Andrade <quantum.analyst@gmail.com>2023-03-19 03:25:37 -0500
committerElliott Sales de Andrade <quantum.analyst@gmail.com>2023-03-19 03:25:37 -0500
commitefb594e63ab922a3f55a7936c59fcab17762eb2a (patch)
treebd454a97e2ca64481c133a4088c02838d71c8edc /libpurple
parente36cb1a755080a95a1af8c1917e799f862b062c4 (diff)
downloadpidgin-efb594e63ab922a3f55a7936c59fcab17762eb2a.tar.gz
demo: Toggle sensitivity of fields in requests demo
This allows verifying that they really get disabled. Also, add a tooltip on the boolean field for testing. Testing Done: Opened Request Fields from Demo protocol, toggled the boolean field, and the others all became insensitive. Reviewed at https://reviews.imfreedom.org/r/2356/
Diffstat (limited to 'libpurple')
-rw-r--r--libpurple/protocols/demo/purpledemoprotocolactions.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/libpurple/protocols/demo/purpledemoprotocolactions.c b/libpurple/protocols/demo/purpledemoprotocolactions.c
index ab3e9bbcda..9611077b17 100644
--- a/libpurple/protocols/demo/purpledemoprotocolactions.c
+++ b/libpurple/protocols/demo/purpledemoprotocolactions.c
@@ -456,6 +456,7 @@ purple_demo_protocol_request_fields_activate(G_GNUC_UNUSED GSimpleAction *action
PurpleAccount *account = NULL;
PurpleRequestPage *page = NULL;
PurpleRequestGroup *group = NULL;
+ PurpleRequestField *boolfield = NULL;
PurpleRequestField *field = NULL;
PurpleRequestFieldChoice *choice_field = NULL;
PurpleRequestFieldList *list_field = NULL;
@@ -480,23 +481,32 @@ purple_demo_protocol_request_fields_activate(G_GNUC_UNUSED GSimpleAction *action
group = purple_request_group_new(_("Basic"));
purple_request_page_add_group(page, group);
+ boolfield = purple_request_field_bool_new("bool", _("Sensitive?"), TRUE);
+ purple_request_field_set_tooltip(boolfield,
+ _("Allow modifying all fields."));
+ purple_request_group_add_field(group, boolfield);
+
field = purple_request_field_label_new("basic-label",
_("This group contains basic fields"));
+ g_object_bind_property(boolfield, "value", field, "sensitive", 0);
purple_request_group_add_field(group, field);
field = purple_request_field_string_new("string", _("A string"),
_("default"), FALSE);
purple_request_field_set_required(field, TRUE);
+ g_object_bind_property(boolfield, "value", field, "sensitive", 0);
purple_request_group_add_field(group, field);
field = purple_request_field_string_new("multiline-string",
_("A multiline string"),
_("default"), TRUE);
purple_request_group_add_field(group, field);
+ g_object_bind_property(boolfield, "value", field, "sensitive", 0);
field = purple_request_field_string_new("masked-string",
_("A masked string"), _("default"),
FALSE);
purple_request_field_string_set_masked(PURPLE_REQUEST_FIELD_STRING(field),
TRUE);
+ g_object_bind_property(boolfield, "value", field, "sensitive", 0);
purple_request_group_add_field(group, field);
field = purple_request_field_string_new("alphanumeric",
_("An alphanumeric string"),
@@ -504,16 +514,17 @@ purple_demo_protocol_request_fields_activate(G_GNUC_UNUSED GSimpleAction *action
purple_request_field_set_validator(field,
purple_request_field_alphanumeric_validator,
NULL, NULL);
+ g_object_bind_property(boolfield, "value", field, "sensitive", 0);
purple_request_group_add_field(group, field);
field = purple_request_field_string_new("email", _("An email"),
_("me@example.com"), FALSE);
purple_request_field_set_validator(field,
purple_request_field_email_validator,
NULL, NULL);
+ g_object_bind_property(boolfield, "value", field, "sensitive", 0);
purple_request_group_add_field(group, field);
field = purple_request_field_int_new("int", _("An integer"), 123, -42, 1337);
- purple_request_group_add_field(group, field);
- field = purple_request_field_bool_new("bool", _("A boolean"), FALSE);
+ g_object_bind_property(boolfield, "value", field, "sensitive", 0);
purple_request_group_add_field(group, field);
/* This group will contain fields with multiple options. */
@@ -522,6 +533,7 @@ purple_demo_protocol_request_fields_activate(G_GNUC_UNUSED GSimpleAction *action
field = purple_request_field_label_new("multiple-label",
_("This group contains fields with multiple options"));
+ g_object_bind_property(boolfield, "value", field, "sensitive", 0);
purple_request_group_add_field(group, field);
field = purple_request_field_choice_new("choice", _("A choice"), "foo");
@@ -530,6 +542,7 @@ purple_demo_protocol_request_fields_activate(G_GNUC_UNUSED GSimpleAction *action
purple_request_field_choice_add(choice_field, _("bar"), "bar");
purple_request_field_choice_add(choice_field, _("baz"), "baz");
purple_request_field_choice_add(choice_field, _("quux"), "quux");
+ g_object_bind_property(boolfield, "value", field, "sensitive", 0);
purple_request_group_add_field(group, field);
field = purple_request_field_list_new("list", _("A list"));
@@ -538,6 +551,7 @@ purple_demo_protocol_request_fields_activate(G_GNUC_UNUSED GSimpleAction *action
purple_request_field_list_add_icon(list_field, _("bar"), NULL, "bar");
purple_request_field_list_add_icon(list_field, _("baz"), NULL, "baz");
purple_request_field_list_add_icon(list_field, _("quux"), NULL, "quux");
+ g_object_bind_property(boolfield, "value", field, "sensitive", 0);
purple_request_group_add_field(group, field);
field = purple_request_field_list_new("multilist", _("A multi-select list"));
@@ -547,6 +561,7 @@ purple_demo_protocol_request_fields_activate(G_GNUC_UNUSED GSimpleAction *action
purple_request_field_list_add_icon(list_field, _("bar"), NULL, "bar");
purple_request_field_list_add_icon(list_field, _("baz"), NULL, "baz");
purple_request_field_list_add_icon(list_field, _("quux"), NULL, "quux");
+ g_object_bind_property(boolfield, "value", field, "sensitive", 0);
purple_request_group_add_field(group, field);
/* This group will contain specialized fields. */
@@ -555,6 +570,7 @@ purple_demo_protocol_request_fields_activate(G_GNUC_UNUSED GSimpleAction *action
field = purple_request_field_label_new("special-label",
_("This group contains specialized fields"));
+ g_object_bind_property(boolfield, "value", field, "sensitive", 0);
purple_request_group_add_field(group, field);
icon = g_resource_lookup_data(purple_demo_get_resource(),
@@ -563,11 +579,13 @@ purple_demo_protocol_request_fields_activate(G_GNUC_UNUSED GSimpleAction *action
icon_data = g_bytes_get_data(icon, &icon_len);
field = purple_request_field_image_new("image", _("An image"),
icon_data, icon_len);
+ g_object_bind_property(boolfield, "value", field, "sensitive", 0);
purple_request_group_add_field(group, field);
g_bytes_unref(icon);
field = purple_request_field_account_new("account", _("An account"),
account);
+ g_object_bind_property(boolfield, "value", field, "sensitive", 0);
purple_request_group_add_field(group, field);
purple_request_fields(connection, _("Request Fields Demo"),