https://bugs.kde.org/show_bug.cgi?id=358681

--- Comment #7 from Jan Kundrát <j...@kde.org> ---
> I might ask for some additional hand-holding in IRC, if that is okay

Sure.

> I'd be comfortable defining this as part of the formatting work.

It is not specific to QtWidgets, though. For example, Dekko, Ubuntu's 
e-mail client which is impleemnted in QML, builds on top of our code. It 
doesn't use the PrettyMsgListModel because that's just an implementation 
detail of the QTreeView -- we could have just as easily used custom 
delegates, I suppose.

> Maybe especially given how easy
> the code for that is, and that these two filters are the 
> important ones – this does not have to snowball.

The problem is that the code which supports the unread message state in 
particular goes deep into the rest of the models. The "is unread" is 
special because of the associated "was unread" tracking, but that's not 
all. Because the model really operates on a wrong layer, it has to support 
the tree structure of the underlying data (see 
RoleThreadRootWithUnreadMessages), and even despite that, our code has to 
deactivate threading when a search operation is active. That just sucks.

> Because messages deeper in threads would not be found, right?

Yes.

> I thought if that were a problem, it could be solved the same way
> `RoleThreadRootWithUnreadMessages` seems to solve that for unread messages.

This existing feature is extremely invasive and it by definition not 
extensible. Really, it's a hack.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to