Show edited time and retain revision metadata in desktop rows

This commit is contained in:
evgeny committed 2026-10-26 22:38:17 +01:00
1 parent 20350338b8
commit 2a9b5748e9
3 files changed
+11

No files matched your search

+1
View File
@@ -51,6 +51,7 @@ enum MessageDataRole {
MsgReplyToRole = Qt::UserRole + 40,
MsgHighlightRole = Qt::UserRole + 41,
MsgEncryptedRole = Qt::UserRole + 42,
MsgVersionRole = Qt::UserRole + 43,
};
class MessageDelegate : public QStyledItemDelegate {
+9
View File
@@ -95,6 +95,15 @@ void MessageList::sendFeedback(QJsonObject command, bool userAction) {
void MessageList::setupFeedback(QStandardItem* item, const MessageRow& message, const QString& channel) {
item->setData(QString::fromLatin1(message.messageId.toHex()), MsgMessageKeyRole);
item->setData(message.timestamp, MsgRawTimestampRole); item->setData(channel, MsgChannelIdRole);
item->setData(QVariant::fromValue(message.version), MsgVersionRole);
item->setData(message.editedAt > 0, MsgEditedRole);
QString time = QDateTime::fromMSecsSinceEpoch(message.timestamp).toString("HH:mm");
if (message.editedAt > 0) {
const auto edited = QDateTime::fromMSecsSinceEpoch(message.editedAt);
const QString format = edited.date() == QDate::currentDate() ? "HH:mm" : "dd.MM.yyyy HH:mm";
time += " · " + QCoreApplication::translate("ChatGui", "edited %1").arg(edited.toString(format));
}
item->setData(time, MsgTimeRole);
if (message.contentType == "poll") {
struct chat_poll poll;
QByteArray wire = QByteArray::fromBase64(message.data.mid(4), QByteArray::Base64UrlEncoding);
+1
View File
@@ -50,6 +50,7 @@ public:
void onFeedbackChanged(const uint8_t* data, int len);
void onFeedbackResult(const uint8_t* data, int len);
void onMessageSubmitted(const uint8_t* data, int len);
void onMessageUpdated(const uint8_t* data, int len);
void onAttachmentKeysChanged(const uint8_t* data, int len);
void onRadioTalk(quint64 groupId, quint64 srcNodeId, bool on); /* индикация говорящего */
bool enableRadio(); /* идемпотентное включение рации выбранного канала, false при ошибке аудио */