bool HistoryChatsModelProxy::lessThan(const QModelIndex &left, const QModelIndex &right) const { // chats? Chat *leftChat = left.data(ChatRole).value<Chat *>(); Chat *rightChat = right.data(ChatRole).value<Chat *>(); if (leftChat && rightChat) return compareNames(leftChat->name(), rightChat->name()) < 0; ChatType leftType = left.data(ChatTypeRole).value<ChatType>(); ChatType rightType = right.data(ChatTypeRole).value<ChatType>(); return compareNames(leftType.displayName(), rightType.displayName()) < 0; }
QString title(const Chat& chat) { if (!chat.display().isEmpty()) return chat.display(); else return chat.name(); }