From f121554088a6bffd2721b94c46a40d8ec61e0b46 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Sun, 24 May 2020 17:17:20 +0200 Subject: List ignored bookmarks `/bookmarl ignore` lists the ignored bookmarks. Regards https://github.com/profanity-im/profanity/issues/1115 --- src/command/cmd_defs.c | 7 +++++-- src/command/cmd_funcs.c | 25 +++++++++++++++++++++++++ src/command/cmd_funcs.h | 1 + 3 files changed, 31 insertions(+), 2 deletions(-) (limited to 'src/command') diff --git a/src/command/cmd_defs.c b/src/command/cmd_defs.c index 485c8324..d8a06bf2 100644 --- a/src/command/cmd_defs.c +++ b/src/command/cmd_defs.c @@ -795,7 +795,9 @@ static struct cmd_t command_defs[] = { "/bookmark", parse_args, 0, 8, NULL, - CMD_NOSUBFUNCS + CMD_SUBFUNCS( + { "ignore", cmd_bookmark_ignore } + ) CMD_MAINFUNC(cmd_bookmark) CMD_TAGS( CMD_TAG_GROUPCHAT) @@ -806,7 +808,8 @@ static struct cmd_t command_defs[] = "/bookmark update [nick ] [password ] [name ] autojoin on|off]", "/bookmark remove []", "/bookmark join ", - "/bookmark invites on|off") + "/bookmark invites on|off", + "/bookmark ignore") CMD_DESC( "Manage bookmarks and join bookmarked rooms. " "In a chat room, no arguments will bookmark the current room, setting autojoin to \"on\".") diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c index 8e02a822..171a3e52 100644 --- a/src/command/cmd_funcs.c +++ b/src/command/cmd_funcs.c @@ -68,6 +68,7 @@ #include "tools/autocomplete.h" #include "tools/parser.h" #include "tools/tinyurl.h" +#include "tools/bookmark_ignore.h" #include "plugins/plugins.h" #include "ui/ui.h" #include "ui/window_list.h" @@ -4766,6 +4767,30 @@ cmd_bookmark(ProfWin *window, const char *const command, gchar **args) return TRUE; } +gboolean +cmd_bookmark_ignore(ProfWin *window, const char *const command, gchar **args) +{ + jabber_conn_status_t conn_status = connection_get_status(); + + if (conn_status != JABBER_CONNECTED) { + cons_show("You are not currently connected."); + cons_alert(); + return TRUE; + } + + // `/bookmark ignore` lists them + if (args[1] == NULL) { + gsize len; + gchar **list = bookmark_ignore_list(&len); + cons_show_bookmarks_ignore(list, len); + g_strfreev(list); + return TRUE; + } + + cons_bad_cmd_usage(command); + return TRUE; +} + gboolean cmd_disco(ProfWin *window, const char *const command, gchar **args) { diff --git a/src/command/cmd_funcs.h b/src/command/cmd_funcs.h index b87cc22f..d0d37efa 100644 --- a/src/command/cmd_funcs.h +++ b/src/command/cmd_funcs.h @@ -115,6 +115,7 @@ gboolean cmd_reconnect(ProfWin *window, const char *const command, gchar **args) gboolean cmd_room(ProfWin *window, const char *const command, gchar **args); gboolean cmd_rooms(ProfWin *window, const char *const command, gchar **args); gboolean cmd_bookmark(ProfWin *window, const char *const command, gchar **args); +gboolean cmd_bookmark_ignore(ProfWin *window, const char *const command, gchar **args); gboolean cmd_roster(ProfWin *window, const char *const command, gchar **args); gboolean cmd_software(ProfWin *window, const char *const command, gchar **args); gboolean cmd_splash(ProfWin *window, const char *const command, gchar **args); -- cgit 1.4.1-2-gfad0