Some refactoring.
This commit is contained in:
parent
fe9efa6202
commit
562ea97ffa
@ -564,14 +564,8 @@ QList<Feed*> FeedsModel::feedsForScheduledUpdate(bool auto_update_now) {
|
||||
return feeds_for_update;
|
||||
}
|
||||
|
||||
QList<Message> FeedsModel::messagesForFeeds(const QList<Feed*> &feeds) {
|
||||
QList<Message> messages;
|
||||
|
||||
foreach (Feed *feed, feeds) {
|
||||
messages.append(feed->undeletedMessages());
|
||||
}
|
||||
|
||||
return messages;
|
||||
QList<Message> FeedsModel::messagesForItem(RootItem *item) {
|
||||
return item->undeletedMessages();
|
||||
}
|
||||
|
||||
int FeedsModel::columnCount(const QModelIndex &parent) const {
|
||||
|
@ -98,7 +98,7 @@ class FeedsModel : public QAbstractItemModel {
|
||||
// Returns (undeleted) messages for given feeds.
|
||||
// This is usually used for displaying whole feeds
|
||||
// in "newspaper" mode.
|
||||
QList<Message> messagesForFeeds(const QList<Feed*> &feeds);
|
||||
QList<Message> messagesForItem(RootItem *item);
|
||||
|
||||
// Returns list of all categories contained in the model.
|
||||
QList<Category*> allCategories();
|
||||
|
@ -271,11 +271,11 @@ void FeedMessageViewer::createConnections() {
|
||||
connect(form_main->m_ui->m_actionMarkAllItemsRead,
|
||||
SIGNAL(triggered()), m_feedsView, SLOT(markAllItemsRead()));
|
||||
connect(form_main->m_ui->m_actionMarkSelectedItemsAsRead,
|
||||
SIGNAL(triggered()), m_feedsView, SLOT(markSelectedItemsRead()));
|
||||
SIGNAL(triggered()), m_feedsView, SLOT(markSelectedItemRead()));
|
||||
connect(form_main->m_ui->m_actionExpandCollapseItem,
|
||||
SIGNAL(triggered()), m_feedsView, SLOT(expandCollapseCurrentItem()));
|
||||
connect(form_main->m_ui->m_actionMarkSelectedItemsAsUnread,
|
||||
SIGNAL(triggered()), m_feedsView, SLOT(markSelectedItemsUnread()));
|
||||
SIGNAL(triggered()), m_feedsView, SLOT(markSelectedItemUnread()));
|
||||
connect(form_main->m_ui->m_actionClearSelectedItems,
|
||||
SIGNAL(triggered()), m_feedsView, SLOT(clearSelectedFeeds()));
|
||||
connect(form_main->m_ui->m_actionClearAllItems,
|
||||
|
@ -249,11 +249,11 @@ void FeedsView::markSelectedItemReadStatus(RootItem::ReadStatus read) {
|
||||
m_sourceModel->markItemRead(selectedItem(), read);
|
||||
}
|
||||
|
||||
void FeedsView::markSelectedItemsRead() {
|
||||
void FeedsView::markSelectedItemRead() {
|
||||
markSelectedItemReadStatus(RootItem::Read);
|
||||
}
|
||||
|
||||
void FeedsView::markSelectedItemsUnread() {
|
||||
void FeedsView::markSelectedItemUnread() {
|
||||
markSelectedItemReadStatus(RootItem::Unread);
|
||||
}
|
||||
|
||||
@ -266,11 +266,11 @@ void FeedsView::markAllItemsRead() {
|
||||
}
|
||||
|
||||
void FeedsView::openSelectedItemsInNewspaperMode() {
|
||||
QList<Message> messages = m_sourceModel->messagesForFeeds(selectedFeeds());
|
||||
QList<Message> messages = m_sourceModel->messagesForItem(selectedItem());
|
||||
|
||||
if (!messages.isEmpty()) {
|
||||
emit openMessagesInNewspaperView(messages);
|
||||
QTimer::singleShot(0, this, SLOT(markSelectedItemsRead()));
|
||||
QTimer::singleShot(0, this, SLOT(markSelectedItemRead()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -69,8 +69,8 @@ class FeedsView : public QTreeView {
|
||||
void updateSelectedItems();
|
||||
|
||||
// Feed read/unread manipulators.
|
||||
void markSelectedItemsRead();
|
||||
void markSelectedItemsUnread();
|
||||
void markSelectedItemRead();
|
||||
void markSelectedItemUnread();
|
||||
void markAllItemsRead();
|
||||
|
||||
// Newspaper accessors.
|
||||
|
@ -61,9 +61,6 @@ class Feed : public RootItem {
|
||||
// messages.
|
||||
virtual int update() = 0;
|
||||
|
||||
// Get ALL undeleted messages from this feed in one single list.
|
||||
virtual QList<Message> undeletedMessages() const = 0;
|
||||
|
||||
/////////////////////////////////////////
|
||||
// Members to override. */
|
||||
/////////////////////////////////////////
|
||||
|
@ -62,22 +62,20 @@ bool RootItem::deleteViaGui() {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool RootItem::canBeMarkedAsReadUnread(ReadStatus status) {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool RootItem::markAsReadUnread(ReadStatus status) {
|
||||
bool result = true;
|
||||
|
||||
foreach (RootItem *child, m_childItems) {
|
||||
if (child->canBeMarkedAsReadUnread(status)) {
|
||||
result &= child->markAsReadUnread(status);
|
||||
}
|
||||
result &= child->markAsReadUnread(status);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
QList<Message> RootItem::undeletedMessages() const {
|
||||
return QList<Message>();
|
||||
}
|
||||
|
||||
bool RootItem::cleanMessages(bool clear_only_read) {
|
||||
bool result = true;
|
||||
|
||||
|
@ -18,6 +18,8 @@
|
||||
#ifndef ROOTITEM_H
|
||||
#define ROOTITEM_H
|
||||
|
||||
#include "core/message.h"
|
||||
|
||||
#include <QIcon>
|
||||
#include <QDateTime>
|
||||
#include <QFont>
|
||||
@ -92,13 +94,14 @@ class RootItem : public QObject {
|
||||
// Returns result status.
|
||||
virtual bool deleteViaGui();
|
||||
|
||||
// Can this item be marked read/unread?
|
||||
virtual bool canBeMarkedAsReadUnread(ReadStatus status);
|
||||
|
||||
// Performs all needed steps (DB update, remote server update)
|
||||
// to mark this item as read/unread.
|
||||
virtual bool markAsReadUnread(ReadStatus status);
|
||||
|
||||
// Get ALL undeleted messages from this item in one single list.
|
||||
// This is currently used for displaying items in "newspaper mode".
|
||||
virtual QList<Message> undeletedMessages() const;
|
||||
|
||||
// This method should "clean" all messages it contains.
|
||||
// What "clean" means? It means delete messages -> move them to recycle bin
|
||||
// or eventually remove them completely if there is no recycle bin functionality.
|
||||
|
Loading…
x
Reference in New Issue
Block a user