summaryrefslogtreecommitdiff
path: root/finch/gntprefs.c
diff options
context:
space:
mode:
authorGary Kramlich <grim@reaperworld.com>2022-08-15 20:47:21 -0500
committerGary Kramlich <grim@reaperworld.com>2022-08-15 20:47:21 -0500
commitae19dc50680d60c286b43c721c90a4c21f190b38 (patch)
treed7136ed8f4d7847bc3f0edcd119820818ed70ae1 /finch/gntprefs.c
parentb05b9efd614ba0aa280cf19dab401e73b295ff13 (diff)
downloadpidgin-ae19dc50680d60c286b43c721c90a4c21f190b38.tar.gz
Remove Finch logging preferences but add Credential Provider preference.
The logging preferences were removed because they were removed when the History API was merged, but their Finch UI remained. Also there's currently no preference for the history adapter so no reason to put it in now. Testing Done: Opened the preference window in finch and made sure the settings saved. Reviewed at https://reviews.imfreedom.org/r/1595/
Diffstat (limited to 'finch/gntprefs.c')
-rw-r--r--finch/gntprefs.c43
1 files changed, 34 insertions, 9 deletions
diff --git a/finch/gntprefs.c b/finch/gntprefs.c
index a9796fbe35..efd9f1b037 100644
--- a/finch/gntprefs.c
+++ b/finch/gntprefs.c
@@ -97,6 +97,33 @@ get_status_titles(void)
return list;
}
+static void
+get_credential_provider_options_helper(PurpleCredentialProvider *provider,
+ gpointer data)
+{
+ GList **list = data;
+ const gchar *value = NULL;
+
+ value = purple_credential_provider_get_name(provider);
+ *list = g_list_append(*list, (gpointer)value);
+
+ value = purple_credential_provider_get_id(provider);
+ *list = g_list_append(*list, (gpointer)value);
+}
+
+static GList *
+get_credential_provider_options(void) {
+ PurpleCredentialManager *manager = NULL;
+ GList *list = NULL;
+
+ manager = purple_credential_manager_get_default();
+ purple_credential_manager_foreach(manager,
+ get_credential_provider_options_helper,
+ &list);
+
+ return list;
+}
+
static PurpleRequestField *
get_pref_field(Prefs *prefs)
{
@@ -177,14 +204,6 @@ static Prefs convs[] =
{PURPLE_PREF_NONE, NULL, NULL, NULL}
};
-static Prefs logging[] =
-{
- {PURPLE_PREF_BOOLEAN, "/purple/logging/log_ims", N_("Log IMs"), NULL},
- {PURPLE_PREF_BOOLEAN, "/purple/logging/log_chats", N_("Log chats"), NULL},
- {PURPLE_PREF_BOOLEAN, "/purple/logging/log_system", N_("Log status change events"), NULL},
- {PURPLE_PREF_NONE, NULL, NULL, NULL},
-};
-
static Prefs idle[] =
{
{PURPLE_PREF_STRING, "/purple/away/idle_reporting", N_("Report Idle time"), get_idle_options},
@@ -194,6 +213,12 @@ static Prefs idle[] =
{PURPLE_PREF_NONE, NULL, NULL, NULL},
};
+static Prefs credentials[] =
+{
+ {PURPLE_PREF_STRING, "/purple/credentials/active-provider", N_("Provider"), get_credential_provider_options},
+ {PURPLE_PREF_NONE, NULL, NULL, NULL},
+};
+
static void
free_strings(void)
{
@@ -239,8 +264,8 @@ void finch_prefs_show_all()
add_pref_group(fields, _("Buddy List"), blist);
add_pref_group(fields, _("Conversations"), convs);
- add_pref_group(fields, _("Logging"), logging);
add_pref_group(fields, _("Idle"), idle);
+ add_pref_group(fields, _("Credentials"), credentials);
pref_request.showing = TRUE;
pref_request.window = purple_request_fields(NULL, _("Preferences"), NULL, NULL, fields,