Mercurial > pidgin
changeset 31461:ba00769a1493
jabber: Remember the last-used user directory. Closes #12451
Patch from Keith Moyer.
committer: Paul Aurich <paul@darkrain42.org>
author | pidgin@keithmoyer.com |
---|---|
date | Sun, 10 Apr 2011 19:21:27 +0000 |
parents | c62dc6d25802 |
children | 277b7f1d6214 74e2492967be 12676cfd4a1e |
files | ChangeLog libpurple/protocols/jabber/buddy.c |
diffstat | 2 files changed, 18 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Sun Apr 10 02:35:17 2011 +0000 +++ b/ChangeLog Sun Apr 10 19:21:27 2011 +0000 @@ -54,6 +54,10 @@ IRC: * Add "authserv" service command. (tomos) (#13337) + XMPP: + * Remember the previously entered user directory when searching. + (Keith Moyer) (#12451) + Plugins: * The Voice/Video Settings plugin now includes the ability to test microphone settings. (Jakub Adam) (#13182)
--- a/libpurple/protocols/jabber/buddy.c Sun Apr 10 02:35:17 2011 +0000 +++ b/libpurple/protocols/jabber/buddy.c Sun Apr 10 19:21:27 2011 +0000 @@ -2229,6 +2229,16 @@ return; } + /* If the value provided isn't the disco#info default, persist it. Otherwise, + make sure we aren't persisting an old value */ + if(js->user_directories && js->user_directories->data && + !strcmp(directory, js->user_directories->data)) { + purple_account_set_string(js->gc->account, "user_directory", ""); + } + else { + purple_account_set_string(js->gc->account, "user_directory", directory); + } + iq = jabber_iq_new_query(js, JABBER_IQ_GET, "jabber:iq:search"); xmlnode_set_attrib(iq->node, "to", directory); @@ -2241,10 +2251,13 @@ { PurpleConnection *gc = (PurpleConnection *) action->context; JabberStream *js = purple_connection_get_protocol_data(gc); + const char *def_val = purple_account_get_string(js->gc->account, "user_directory", ""); + if(!*def_val && js->user_directories) + def_val = js->user_directories->data; purple_request_input(gc, _("Enter a User Directory"), _("Enter a User Directory"), _("Select a user directory to search"), - js->user_directories ? js->user_directories->data : NULL, + def_val, FALSE, FALSE, NULL, _("Search Directory"), PURPLE_CALLBACK(jabber_user_search), _("Cancel"), NULL,