about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/command/command.c22
-rw-r--r--src/command/commands.c47
-rw-r--r--src/config/preferences.c99
-rw-r--r--src/config/preferences.h6
-rw-r--r--src/ui/console.c5
5 files changed, 5 insertions, 174 deletions
diff --git a/src/command/command.c b/src/command/command.c
index 456bfe6c..6f60b3ac 100644
--- a/src/command/command.c
+++ b/src/command/command.c
@@ -1063,10 +1063,6 @@ static struct cmd_t command_defs[] =
             "/notify message on|off",
             "/notify message current on|off",
             "/notify message text on|off",
-            "/notify message trigger add <text>",
-            "/notify message trigger remove <text>",
-            "/notify message trigger list",
-            "/notify message trigger on|off",
             "/notify room on|off",
             "/notify room mention on|off",
             "/notify room current on|off",
@@ -1089,10 +1085,6 @@ static struct cmd_t command_defs[] =
             { "message on|off",                 "Notifications for regular chat messages." },
             { "message current on|off",         "Whether to show regular chat message notifications when the window is focussed." },
             { "message text on|off",            "Show message text in regular message notifications." },
-            { "message trigger add <text>",     "Notify when specified text included in regular chat message." },
-            { "message trigger remove <text>",  "Remove regular chat notification for specified text." },
-            { "message trigger list",           "List all regular chat custom text notifications." },
-            { "message trigger on|off",         "Enable or disable all regular chat notification triggers." },
             { "room on|off",                    "Notifications for all chat room messages, 'mention' only notifies when your nick is mentioned." },
             { "room mention on|off",            "Notifications for all chat room messages when your nick is mentioned." },
             { "room current on|off",            "Whether to show all chat room messages notifications when the window is focussed." },
@@ -1113,6 +1105,8 @@ static struct cmd_t command_defs[] =
             "/notify message on",
             "/notify message text on",
             "/notify room mention on",
+            "/notify room trigger add beer",
+            "/notify room trigger on",
             "/notify room current off",
             "/notify room text off",
             "/notify remind 10",
@@ -1958,7 +1952,6 @@ cmd_init(void)
     autocomplete_add(notify_message_ac, "off");
     autocomplete_add(notify_message_ac, "current");
     autocomplete_add(notify_message_ac, "text");
-    autocomplete_add(notify_message_ac, "trigger");
 
     notify_room_ac = autocomplete_new();
     autocomplete_add(notify_room_ac, "on");
@@ -2662,7 +2655,6 @@ cmd_reset_autocomplete(ProfWin *window)
     }
 
     bookmark_autocomplete_reset();
-    prefs_reset_message_trigger_ac();
     prefs_reset_room_trigger_ac();
 }
 
@@ -3178,11 +3170,6 @@ _notify_autocomplete(ProfWin *window, const char *const input)
     int i = 0;
     char *result = NULL;
 
-    result = autocomplete_param_with_func(input, "/notify message trigger remove", prefs_autocomplete_message_trigger);
-    if (result) {
-        return result;
-    }
-
     result = autocomplete_param_with_func(input, "/notify room trigger remove", prefs_autocomplete_room_trigger);
     if (result) {
         return result;
@@ -3203,11 +3190,6 @@ _notify_autocomplete(ProfWin *window, const char *const input)
         return result;
     }
 
-    result = autocomplete_param_with_ac(input, "/notify message trigger", notify_trigger_ac, TRUE);
-    if (result) {
-        return result;
-    }
-
     result = autocomplete_param_with_ac(input, "/notify room", notify_room_ac, TRUE);
     if (result) {
         return result;
diff --git a/src/command/commands.c b/src/command/commands.c
index f3c21cd4..4ac170e4 100644
--- a/src/command/commands.c
+++ b/src/command/commands.c
@@ -4334,53 +4334,6 @@ cmd_notify(ProfWin *window, const char *const command, gchar **args)
             } else {
                 cons_show("Usage: /notify message text on|off");
             }
-        } else if (g_strcmp0(args[1], "trigger") == 0) {
-            if (g_strcmp0(args[2], "add") == 0) {
-                if (!args[3]) {
-                    cons_bad_cmd_usage(command);
-                } else {
-                    gboolean res = prefs_add_msg_notify_trigger(args[3]);
-                    if (res) {
-                        cons_show("Adding message notification trigger: %s", args[3]);
-                    } else {
-                        cons_show("Message notification trigger already exists: %s", args[3]);
-                    }
-                }
-            } else if (g_strcmp0(args[2], "remove") == 0) {
-                if (!args[3]) {
-                    cons_bad_cmd_usage(command);
-                } else {
-                    gboolean res = prefs_remove_msg_notify_trigger(args[3]);
-                    if (res) {
-                        cons_show("Removing message notification trigger: %s", args[3]);
-                    } else {
-                        cons_show("Message notification trigger does not exist: %s", args[3]);
-                    }
-                }
-            } else if (g_strcmp0(args[2], "list") == 0) {
-                GList *triggers = prefs_get_msg_notify_triggers();
-                GList *curr = triggers;
-                if (curr) {
-                    cons_show("Message notification triggers:");
-                } else {
-                    cons_show("No message notification triggers");
-                }
-                while (curr) {
-                    cons_show("  %s", curr->data);
-                    curr = g_list_next(curr);
-                }
-                g_list_free_full(triggers, free);
-            } else if (g_strcmp0(args[2], "on") == 0) {
-                cons_show("Enabling message notification triggers");
-                prefs_set_boolean(PREF_NOTIFY_MESSAGE_TRIGGER, TRUE);
-            } else if (g_strcmp0(args[2], "off") == 0) {
-                cons_show("Disabling message notification triggers");
-                prefs_set_boolean(PREF_NOTIFY_MESSAGE_TRIGGER, FALSE);
-            } else {
-                cons_bad_cmd_usage(command);
-            }
-        } else {
-            cons_show("Usage: /notify message on|off");
         }
 
     // chat room settings
diff --git a/src/config/preferences.c b/src/config/preferences.c
index 3afead41..839ab5e6 100644
--- a/src/config/preferences.c
+++ b/src/config/preferences.c
@@ -65,7 +65,6 @@ static GKeyFile *prefs;
 gint log_maxsize = 0;
 
 static Autocomplete boolean_choice_ac;
-static Autocomplete message_trigger_ac;
 static Autocomplete room_trigger_ac;
 
 static void _save_prefs(void);
@@ -149,20 +148,11 @@ prefs_load(void)
     autocomplete_add(boolean_choice_ac, "on");
     autocomplete_add(boolean_choice_ac, "off");
 
-    message_trigger_ac = autocomplete_new();
-    gsize len = 0;
-    gchar **triggers = g_key_file_get_string_list(prefs, PREF_GROUP_NOTIFICATIONS, "message.trigger.list", &len, NULL);
-
-    int i;
-    for (i = 0; i < len; i++) {
-        autocomplete_add(message_trigger_ac, triggers[i]);
-    }
-    g_strfreev(triggers);
-
     room_trigger_ac = autocomplete_new();
-    len = 0;
-    triggers = g_key_file_get_string_list(prefs, PREF_GROUP_NOTIFICATIONS, "room.trigger.list", &len, NULL);
+    gsize len = 0;
+    gchar **triggers = g_key_file_get_string_list(prefs, PREF_GROUP_NOTIFICATIONS, "room.trigger.list", &len, NULL);
 
+    int i = 0;
     for (i = 0; i < len; i++) {
         autocomplete_add(room_trigger_ac, triggers[i]);
     }
@@ -173,7 +163,6 @@ void
 prefs_close(void)
 {
     autocomplete_free(boolean_choice_ac);
-    autocomplete_free(message_trigger_ac);
     autocomplete_free(room_trigger_ac);
     g_key_file_free(prefs);
     prefs = NULL;
@@ -192,18 +181,6 @@ prefs_reset_boolean_choice(void)
 }
 
 char*
-prefs_autocomplete_message_trigger(const char *const prefix)
-{
-    return autocomplete_complete(message_trigger_ac, prefix, TRUE);
-}
-
-void
-prefs_reset_message_trigger_ac(void)
-{
-    autocomplete_reset(message_trigger_ac);
-}
-
-char*
 prefs_autocomplete_room_trigger(const char *const prefix)
 {
     return autocomplete_complete(room_trigger_ac, prefix, TRUE);
@@ -232,30 +209,6 @@ prefs_do_chat_notify(gboolean current_win, const char *const message)
         return TRUE;
     }
 
-    gboolean notify_trigger = prefs_get_boolean(PREF_NOTIFY_MESSAGE_TRIGGER);
-    if (notify_trigger) {
-        gboolean trigger_found = FALSE;
-        char *message_lower = g_utf8_strdown(message, -1);
-        gsize len = 0;
-        gchar **triggers = g_key_file_get_string_list(prefs, PREF_GROUP_NOTIFICATIONS, "message.trigger.list", &len, NULL);
-        int i;
-        for (i = 0; i < len; i++) {
-            char *trigger_lower = g_utf8_strdown(triggers[i], -1);
-            if (g_strrstr(message_lower, trigger_lower)) {
-                trigger_found = TRUE;
-                g_free(trigger_lower);
-                break;
-            }
-            g_free(trigger_lower);
-        }
-        g_strfreev(triggers);
-        g_free(message_lower);
-
-        if (trigger_found) {
-            return TRUE;
-        }
-    }
-
     return FALSE;
 }
 
@@ -854,49 +807,6 @@ prefs_set_roster_presence_indent(gint value)
 }
 
 gboolean
-prefs_add_msg_notify_trigger(const char * const text)
-{
-    gboolean res = conf_string_list_add(prefs, PREF_GROUP_NOTIFICATIONS, "message.trigger.list", text);
-    _save_prefs();
-
-    if (res) {
-        autocomplete_add(message_trigger_ac, text);
-    }
-
-    return res;
-}
-
-gboolean
-prefs_remove_msg_notify_trigger(const char * const text)
-{
-    gboolean res = conf_string_list_remove(prefs, PREF_GROUP_NOTIFICATIONS, "message.trigger.list", text);
-    _save_prefs();
-
-    if (res) {
-        autocomplete_remove(message_trigger_ac, text);
-    }
-
-    return res;
-}
-
-GList*
-prefs_get_msg_notify_triggers(void)
-{
-    GList *result = NULL;
-    gsize len = 0;
-    gchar **triggers = g_key_file_get_string_list(prefs, PREF_GROUP_NOTIFICATIONS, "message.trigger.list", &len, NULL);
-
-    int i;
-    for (i = 0; i < len; i++) {
-        result = g_list_append(result, strdup(triggers[i]));
-    }
-
-    g_strfreev(triggers);
-
-    return result;
-}
-
-gboolean
 prefs_add_room_notify_trigger(const char * const text)
 {
     gboolean res = conf_string_list_add(prefs, PREF_GROUP_NOTIFICATIONS, "room.trigger.list", text);
@@ -1113,7 +1023,6 @@ _get_group(preference_t pref)
         case PREF_NOTIFY_TYPING:
         case PREF_NOTIFY_TYPING_CURRENT:
         case PREF_NOTIFY_MESSAGE:
-        case PREF_NOTIFY_MESSAGE_TRIGGER:
         case PREF_NOTIFY_MESSAGE_CURRENT:
         case PREF_NOTIFY_MESSAGE_TEXT:
         case PREF_NOTIFY_ROOM:
@@ -1207,8 +1116,6 @@ _get_key(preference_t pref)
             return "typing.current";
         case PREF_NOTIFY_MESSAGE:
             return "message";
-        case PREF_NOTIFY_MESSAGE_TRIGGER:
-            return "message.trigger";
         case PREF_NOTIFY_MESSAGE_CURRENT:
             return "message.current";
         case PREF_NOTIFY_MESSAGE_TEXT:
diff --git a/src/config/preferences.h b/src/config/preferences.h
index 41fde88f..6c2451a6 100644
--- a/src/config/preferences.h
+++ b/src/config/preferences.h
@@ -94,7 +94,6 @@ typedef enum {
     PREF_NOTIFY_TYPING,
     PREF_NOTIFY_TYPING_CURRENT,
     PREF_NOTIFY_MESSAGE,
-    PREF_NOTIFY_MESSAGE_TRIGGER,
     PREF_NOTIFY_MESSAGE_CURRENT,
     PREF_NOTIFY_MESSAGE_TEXT,
     PREF_NOTIFY_ROOM,
@@ -140,8 +139,6 @@ void prefs_reset_login_search(void);
 char* prefs_autocomplete_boolean_choice(const char *const prefix);
 void prefs_reset_boolean_choice(void);
 
-char* prefs_autocomplete_message_trigger(const char *const prefix);
-void prefs_reset_message_trigger_ac(void);
 char* prefs_autocomplete_room_trigger(const char *const prefix);
 void prefs_reset_room_trigger_ac(void);
 
@@ -201,11 +198,8 @@ char* prefs_get_alias(const char *const name);
 GList* prefs_get_aliases(void);
 void prefs_free_aliases(GList *aliases);
 
-gboolean prefs_add_msg_notify_trigger(const char * const text);
 gboolean prefs_add_room_notify_trigger(const char * const text);
-gboolean prefs_remove_msg_notify_trigger(const char * const text);
 gboolean prefs_remove_room_notify_trigger(const char * const text);
-GList* prefs_get_msg_notify_triggers(void);
 GList* prefs_get_room_notify_triggers(void);
 
 gboolean prefs_get_boolean(preference_t pref);
diff --git a/src/ui/console.c b/src/ui/console.c
index 6081d56a..5532dfe1 100644
--- a/src/ui/console.c
+++ b/src/ui/console.c
@@ -1329,11 +1329,6 @@ cons_notify_setting(void)
         else
             cons_show("Messages (/notify message)          : OFF");
 
-        if (prefs_get_boolean(PREF_NOTIFY_MESSAGE_TRIGGER))
-            cons_show("Messages trigger (/notify message)  : ON");
-        else
-            cons_show("Messages trigger (/notify message)  : OFF");
-
         if (prefs_get_boolean(PREF_NOTIFY_MESSAGE_CURRENT))
             cons_show("Messages current (/notify message)  : ON");
         else