31 #include <QListWidgetItem>
41 setContextMenuPolicy(Qt::CustomContextMenu);
42 setSelectionMode(QAbstractItemView::ExtendedSelection);
50 return reinterpret_cast<RSS::Article *
>(item->data(Qt::UserRole).value<quintptr>());
105 const QColor defaultColor {palette().color(QPalette::Inactive, QPalette::WindowText)};
107 item->setData(Qt::ForegroundRole, foregroundBrush);
127 auto *item =
new QListWidgetItem;
129 item->setData(Qt::DisplayRole, article->
title());
130 item->setData(Qt::UserRole,
reinterpret_cast<quintptr
>(article));
133 const QColor defaultColor {palette().color(QPalette::Inactive, QPalette::WindowText)};
135 item->setData(Qt::ForegroundRole, foregroundBrush);
140 const QColor defaultColor {palette().color(QPalette::Active, QPalette::Link)};
142 item->setData(Qt::ForegroundRole, foregroundBrush);
void handleArticleAdded(RSS::Article *rssArticle)
void checkInvariant() const
void setRSSItem(RSS::Item *rssItem, bool unreadOnly=false)
QListWidgetItem * mapRSSArticle(RSS::Article *rssArticle) const
ArticleListWidget(QWidget *parent)
QHash< RSS::Article *, QListWidgetItem * > m_rssArticleToListItemMapping
QListWidgetItem * createItem(RSS::Article *article) const
void handleArticleRead(RSS::Article *rssArticle)
RSS::Article * getRSSArticle(QListWidgetItem *item) const
void handleArticleAboutToBeRemoved(RSS::Article *rssArticle)
void newArticle(Article *article)
void articleAboutToBeRemoved(Article *article)
virtual QList< Article * > articles() const =0
void articleRead(Article *article)
static UIThemeManager * instance()
QColor getColor(const QString &id, const QColor &defaultColor) const
constexpr std::add_const_t< T > & asConst(T &t) noexcept