mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
Add bookmark ignore add|remove
Regards https://github.com/profanity-im/profanity/issues/1115
This commit is contained in:
parent
f121554088
commit
be4a6cac78
@ -809,10 +809,13 @@ static struct cmd_t command_defs[] =
|
||||
"/bookmark remove [<room>]",
|
||||
"/bookmark join <room>",
|
||||
"/bookmark invites on|off",
|
||||
"/bookmark ignore")
|
||||
"/bookmark ignore",
|
||||
"/bookmark ignore add <jid>",
|
||||
"/bookmark ignore remove <jid>")
|
||||
CMD_DESC(
|
||||
"Manage bookmarks and join bookmarked rooms. "
|
||||
"In a chat room, no arguments will bookmark the current room, setting autojoin to \"on\".")
|
||||
"In a chat room, no arguments will bookmark the current room, setting autojoin to \"on\"."
|
||||
"There is also an autojoin ignore list in case you want to autojoind in many clients but not on Profanity.")
|
||||
CMD_ARGS(
|
||||
{ "list", "List all bookmarks." },
|
||||
{ "add [<room>]", "Add a bookmark, passing no room will bookmark the current room, setting autojoin to \"on\"." },
|
||||
@ -823,7 +826,9 @@ static struct cmd_t command_defs[] =
|
||||
{ "name <roomname>", "Optional name for the bookmark. By default localpart of the JID will be used." },
|
||||
{ "autojoin on|off", "Whether to join the room automatically on login." },
|
||||
{ "join <room>", "Join room using the properties associated with the bookmark." },
|
||||
{ "invites on|off", "Whether or not to bookmark accepted room invites, defaults to 'on'."})
|
||||
{ "invites on|off", "Whether or not to bookmark accepted room invites, defaults to 'on'."},
|
||||
{ "ignore add <barejid>", "Add a bookmark to the autojoin ignore list."},
|
||||
{ "ignore remove <barejid>", "Remove a bookmark from the autojoin ignore list."})
|
||||
CMD_NOEXAMPLES
|
||||
},
|
||||
|
||||
|
@ -4787,6 +4787,18 @@ cmd_bookmark_ignore(ProfWin *window, const char *const command, gchar **args)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (strcmp(args[1], "add") == 0 && args[2] != NULL) {
|
||||
bookmark_ignore_add(args[2]);
|
||||
cons_show("Autojoin for bookmark %s added to ignore list.", args[2]);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (strcmp(args[1], "remove") == 0 && args[2] != NULL) {
|
||||
bookmark_ignore_remove(args[2]);
|
||||
cons_show("Autojoin for bookmark %s removed from ignore list.", args[2]);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
cons_bad_cmd_usage(command);
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -91,3 +91,15 @@ bookmark_ignore_list(gsize *len)
|
||||
{
|
||||
return g_key_file_get_keys(bookmark_ignore_keyfile, account_jid, len, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
bookmark_ignore_add(const char *const barejid)
|
||||
{
|
||||
g_key_file_set_boolean(bookmark_ignore_keyfile, account_jid, barejid, TRUE);
|
||||
}
|
||||
|
||||
void
|
||||
bookmark_ignore_remove(const char *const barejid)
|
||||
{
|
||||
g_key_file_remove_key(bookmark_ignore_keyfile, account_jid, barejid, NULL);
|
||||
}
|
||||
|
@ -40,5 +40,7 @@ void bookmark_ignore_on_connect();
|
||||
void bookmark_ignore_on_disconnect();
|
||||
gboolean bookmark_ignored(Bookmark *bookmark);
|
||||
gchar ** bookmark_ignore_list(gsize *len);
|
||||
void bookmark_ignore_add(const char *const barejid);
|
||||
void bookmark_ignore_remove(const char *const barejid);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user