Exemple #1
0
bool HistoryFeedHook::hook(const FeedNotify &notify, QVariantMap &out)
{
  if (notify.name() != MESSAGES_FEED_LAST_REQ && notify.name() != MESSAGES_FEED_SINCE_REQ)
    return false;

  QVariantMap data = out.value(FeedNotify::kData).toMap();
  if (data.isEmpty())
    return false;

  const QStringList messages = data.value(MESSAGES_FEED_MESSAGES_KEY).toStringList();
  if (messages.isEmpty())
    return false;

  QStringList list;
# if QT_VERSION >= 0x040700
  list.reserve(messages.size());
# endif

  ChatId id;

  foreach (const QString &message, messages) {
    id.init(message.toLatin1());
    if (id.hasOid())
      list.append(ChatId::toBase32(id.oid().byteArray()));
    else
      list.append(message);
  }