Removed regular chat message triggers
This commit is contained in:
@@ -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;
|
||||
@@ -191,18 +180,6 @@ prefs_reset_boolean_choice(void)
|
||||
autocomplete_reset(boolean_choice_ac);
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -853,49 +806,6 @@ prefs_set_roster_presence_indent(gint value)
|
||||
_save_prefs();
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
@@ -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:
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user