Make global search indicate the search terms
Alpine 3.20 Success Details
Arch Linux AUR Success Details
OpenBSD 7.5 Success Details

This commit is contained in:
Přemysl Eric Janouch 2024-07-21 20:42:51 +02:00
parent e6de4f11e7
commit 20502200d9
Signed by: p
GPG Key ID: A0420B94F92B9493
3 changed files with 17 additions and 9 deletions

View File

@ -1,4 +1,4 @@
Copyright (c) 2016 - 2023, Přemysl Eric Janouch <p@janouch.name> Copyright (c) 2016 - 2024, Přemysl Eric Janouch <p@janouch.name>
Permission to use, copy, modify, and/or distribute this software for any Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted. purpose with or without fee is hereby granted.

5
NEWS
View File

@ -1,3 +1,8 @@
Unreleased
* Made global search indicate the search terms
2.1.1 (2024-02-27) 2.1.1 (2024-02-27)
* Fixed installation of Info tab plugins * Fixed installation of Info tab plugins

View File

@ -1,7 +1,7 @@
/* /*
* nncmpp -- the MPD client you never knew you needed * nncmpp -- the MPD client you never knew you needed
* *
* Copyright (c) 2016 - 2023, Přemysl Eric Janouch <p@janouch.name> * Copyright (c) 2016 - 2024, Přemysl Eric Janouch <p@janouch.name>
* *
* Permission to use, copy, modify, and/or distribute this software for any * Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted. * purpose with or without fee is hereby granted.
@ -3599,17 +3599,21 @@ static void
library_tab_on_search_data (const struct mpd_response *response, library_tab_on_search_data (const struct mpd_response *response,
const struct strv *data, void *user_data) const struct strv *data, void *user_data)
{ {
(void) user_data; char *filter = user_data;
if (!g_library_tab.searching) if (!g_library_tab.searching)
return; goto out;
if (!response->success) if (!response->success)
{
print_error ("cannot search: %s", response->message_text); print_error ("cannot search: %s", response->message_text);
return; else
{
cstr_set (&g_library_tab.super.header,
xstrdup_printf ("%s: %s", "Global search", filter));
library_tab_load_data (data);
} }
library_tab_load_data (data); out:
free (filter);
} }
static void static void
@ -3620,9 +3624,8 @@ search_on_changed (void)
size_t len; size_t len;
char *u8 = (char *) u32_to_u8 (g.editor.line, g.editor.len + 1, NULL, &len); char *u8 = (char *) u32_to_u8 (g.editor.line, g.editor.len + 1, NULL, &len);
mpd_client_send_command (c, "search", "any", u8, NULL); mpd_client_send_command (c, "search", "any", u8, NULL);
free (u8);
mpd_client_add_task (c, library_tab_on_search_data, NULL); mpd_client_add_task (c, library_tab_on_search_data, u8);
mpd_client_idle (c, 0); mpd_client_idle (c, 0);
} }