Use KFormat for formatting dates
This commit is contained in:
@@ -384,25 +384,6 @@ QDateTime MessageEventModel::makeMessageTimestamp(const Quotient::Room::rev_iter
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
QString MessageEventModel::renderDate(const QDateTime ×tamp)
|
|
||||||
{
|
|
||||||
auto date = timestamp.toLocalTime().date();
|
|
||||||
if (date == QDate::currentDate()) {
|
|
||||||
return i18n("Today");
|
|
||||||
}
|
|
||||||
if (date == QDate::currentDate().addDays(-1)) {
|
|
||||||
return i18n("Yesterday");
|
|
||||||
}
|
|
||||||
if (date == QDate::currentDate().addDays(-2)) {
|
|
||||||
return i18n("The day before yesterday");
|
|
||||||
}
|
|
||||||
if (date > QDate::currentDate().addDays(-7)) {
|
|
||||||
return date.toString("dddd");
|
|
||||||
}
|
|
||||||
|
|
||||||
return QLocale::system().toString(date, QLocale::ShortFormat);
|
|
||||||
}
|
|
||||||
|
|
||||||
void MessageEventModel::refreshLastUserEvents(int baseTimelineRow)
|
void MessageEventModel::refreshLastUserEvents(int baseTimelineRow)
|
||||||
{
|
{
|
||||||
if (!m_currentRoom || m_currentRoom->timelineSize() <= baseTimelineRow) {
|
if (!m_currentRoom || m_currentRoom->timelineSize() <= baseTimelineRow) {
|
||||||
@@ -701,7 +682,7 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
|
|||||||
|
|
||||||
if (role == TimeRole || role == SectionRole) {
|
if (role == TimeRole || role == SectionRole) {
|
||||||
auto ts = isPending ? pendingIt->lastUpdated() : makeMessageTimestamp(timelineIt);
|
auto ts = isPending ? pendingIt->lastUpdated() : makeMessageTimestamp(timelineIt);
|
||||||
return role == TimeRole ? QVariant(ts) : renderDate(ts);
|
return role == TimeRole ? QVariant(ts) : m_format.formatRelativeDate(ts.toLocalTime().date(), QLocale::ShortFormat);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (role == ShowLinkPreviewRole) {
|
if (role == ShowLinkPreviewRole) {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <KFormat>
|
||||||
#include <QAbstractListModel>
|
#include <QAbstractListModel>
|
||||||
|
|
||||||
#include "linkpreviewer.h"
|
#include "linkpreviewer.h"
|
||||||
@@ -184,13 +185,13 @@ private:
|
|||||||
QPersistentModelIndex m_lastReadEventIndex;
|
QPersistentModelIndex m_lastReadEventIndex;
|
||||||
int rowBelowInserted = -1;
|
int rowBelowInserted = -1;
|
||||||
bool movingEvent = false;
|
bool movingEvent = false;
|
||||||
|
KFormat m_format;
|
||||||
|
|
||||||
QMap<QString, LinkPreviewer *> m_linkPreviewers;
|
QMap<QString, LinkPreviewer *> m_linkPreviewers;
|
||||||
QMap<QString, ReactionModel *> m_reactionModels;
|
QMap<QString, ReactionModel *> m_reactionModels;
|
||||||
|
|
||||||
[[nodiscard]] int timelineBaseIndex() const;
|
[[nodiscard]] int timelineBaseIndex() const;
|
||||||
[[nodiscard]] QDateTime makeMessageTimestamp(const Quotient::Room::rev_iter_t &baseIt) const;
|
[[nodiscard]] QDateTime makeMessageTimestamp(const Quotient::Room::rev_iter_t &baseIt) const;
|
||||||
[[nodiscard]] static QString renderDate(const QDateTime ×tamp);
|
|
||||||
|
|
||||||
bool canFetchMore(const QModelIndex &parent) const override;
|
bool canFetchMore(const QModelIndex &parent) const override;
|
||||||
void fetchMore(const QModelIndex &parent) override;
|
void fetchMore(const QModelIndex &parent) override;
|
||||||
|
|||||||
Reference in New Issue
Block a user