Show edited time and retain revision metadata in desktop rows
This commit is contained in:
1 parent
20350338b8
commit
2a9b5748e9
3 files changed
+11
No files matched your search
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 при ошибке аудио */
|
||||
|
||||
Reference in new issue
Block a user