*/
#include "config.h"
-
-#include <string.h>
+#include "empathy-message.h"
#include <glib/gi18n-lib.h>
-#include <telepathy-glib/util.h>
-#include <telepathy-glib/account.h>
-#include <telepathy-glib/account-manager.h>
-
-#include <telepathy-logger/entity.h>
-#include <telepathy-logger/event.h>
-#include <telepathy-logger/text-event.h>
-#ifdef HAVE_CALL_LOGS
-# include <telepathy-logger/call-event.h>
-#endif
-
-#define DEBUG_FLAG EMPATHY_DEBUG_CHAT
-#include "empathy-debug.h"
-
#include "empathy-client-factory.h"
-#include "empathy-message.h"
+#include "empathy-time.h"
#include "empathy-utils.h"
#include "empathy-enum-types.h"
type = tpl_text_event_get_message_type (TPL_TEXT_EVENT (logevent));
token = tpl_text_event_get_message_token (textevent);
}
-#ifdef HAVE_CALL_LOGS
else if (TPL_IS_CALL_EVENT (logevent)) {
TplCallEvent *call = TPL_CALL_EVENT (logevent);
timestamp = tpl_event_get_timestamp (logevent);
- if (tpl_call_event_get_end_reason (call) == TPL_CALL_END_REASON_NO_ANSWER)
+ if (tpl_call_event_get_end_reason (call) == TP_CALL_STATE_CHANGE_REASON_NO_ANSWER)
body = g_strdup_printf (_("Missed call from %s"),
tpl_entity_get_alias (tpl_event_get_sender (logevent)));
else if (tpl_entity_get_entity_type (tpl_event_get_sender (logevent)) == TPL_ENTITY_SELF)
body = g_strdup_printf (_("Call from %s"),
tpl_entity_get_alias (tpl_event_get_sender (logevent)));
}
-#endif
else {
/* Unknown event type */
return NULL;
return priv->is_backlog;
}
-static GRegex *
-get_highlight_regex_for (const gchar *name)
-{
- GRegex *regex;
- gchar *name_esc, *pattern;
- GError *error = NULL;
-
- name_esc = g_regex_escape_string (name, -1);
- pattern = g_strdup_printf ("\\b%s\\b", name_esc);
- regex = g_regex_new (pattern, G_REGEX_CASELESS | G_REGEX_OPTIMIZE, 0,
- &error);
-
- if (regex == NULL) {
- DEBUG ("couldn't compile regex /%s/: %s", pattern,
- error->message);
-
- g_error_free (error);
- }
-
- g_free (pattern);
- g_free (name_esc);
-
- return regex;
-}
-
-gboolean
-empathy_message_should_highlight (EmpathyMessage *message)
-{
- EmpathyContact *contact;
- const gchar *msg, *to;
- gboolean ret_val = FALSE;
- TpChannelTextMessageFlags flags;
- GRegex *regex;
-
- g_return_val_if_fail (EMPATHY_IS_MESSAGE (message), FALSE);
-
- msg = empathy_message_get_body (message);
- if (!msg) {
- return FALSE;
- }
-
- contact = empathy_message_get_receiver (message);
- if (!contact || !empathy_contact_is_user (contact)) {
- return FALSE;
- }
-
- to = empathy_contact_get_alias (contact);
- if (!to) {
- return FALSE;
- }
-
- flags = empathy_message_get_flags (message);
- if (flags & TP_CHANNEL_TEXT_MESSAGE_FLAG_SCROLLBACK) {
- /* FIXME: Ideally we shouldn't highlight scrollback messages only if they
- * have already been received by the user before (and so are in the logs) */
- return FALSE;
- }
-
- regex = get_highlight_regex_for (to);
- if (regex != NULL) {
- ret_val = g_regex_match (regex, msg, 0, NULL);
- g_regex_unref (regex);
- }
-
- return ret_val;
-}
-
TpChannelTextMessageType
empathy_message_type_from_str (const gchar *type_str)
{