Release threads removing the feature flag.

This mr performs some final cleanup to make sure the threads are sized correctly and it all works with the new chatbar
This commit is contained in:
James Graham
2026-02-15 15:26:49 +00:00
committed by Joshua Goins
parent 85b731e9fb
commit 7e6b79d5d4
18 changed files with 60 additions and 93 deletions

View File

@@ -27,7 +27,6 @@ using namespace Quotient;
std::function<bool(const Quotient::RoomEvent *)> MessageModel::m_hiddenFilter = [](const Quotient::RoomEvent *) -> bool {
return false;
};
bool MessageModel::m_threadsEnabled = false;
MessageModel::MessageModel(QObject *parent)
: QAbstractListModel(parent)
@@ -40,10 +39,6 @@ MessageModel::MessageModel(QObject *parent)
connect(this, &MessageModel::modelReset, this, [this]() {
m_resetting = false;
});
connect(this, &MessageModel::threadsEnabledChanged, this, [this]() {
Q_EMIT dataChanged(index(0), index(rowCount() - 1), {DelegateTypeRole, ContentModelRole, IsThreadedRole, SpecialMarksRole});
});
}
NeoChatRoom *MessageModel::room() const
@@ -151,7 +146,7 @@ QVariant MessageModel::data(const QModelIndex &idx, int role) const
}
auto roomMessageEvent = eventCast<const RoomMessageEvent>(&event.value().get());
if (m_threadsEnabled && roomMessageEvent && roomMessageEvent->isThreaded()) {
if (roomMessageEvent && roomMessageEvent->isThreaded()) {
return QVariant::fromValue<EventMessageContentModel *>(
ContentProvider::self().contentModelForEvent(eventRoom, roomMessageEvent->threadRootEventId()));
}
@@ -200,7 +195,7 @@ QVariant MessageModel::data(const QModelIndex &idx, int role) const
}
auto roomMessageEvent = eventCast<const RoomMessageEvent>(&event.value().get());
if (m_threadsEnabled && roomMessageEvent && (roomMessageEvent->isThreaded() || eventRoom->threads().contains(event.value().get().id()))) {
if (roomMessageEvent && (roomMessageEvent->isThreaded() || eventRoom->threads().contains(event.value().get().id()))) {
const auto &thread = eventRoom->threads().value(roomMessageEvent->isThreaded() ? roomMessageEvent->threadRootEventId() : event.value().get().id());
if (thread.latestEventId != event.value().get().id()) {
return EventStatus::Hidden;
@@ -231,9 +226,6 @@ QVariant MessageModel::data(const QModelIndex &idx, int role) const
}
if (role == IsThreadedRole) {
if (!m_threadsEnabled) {
return false;
}
if (auto roomMessageEvent = eventCast<const RoomMessageEvent>(&event.value().get())) {
return roomMessageEvent->isThreaded();
}
@@ -559,9 +551,4 @@ void MessageModel::setHiddenFilter(std::function<bool(const Quotient::RoomEvent
MessageModel::m_hiddenFilter = hiddenFilter;
}
void MessageModel::setThreadsEnabled(bool enableThreads)
{
MessageModel::m_threadsEnabled = enableThreads;
}
#include "moc_messagemodel.cpp"