diff --git a/src/core/messagesmodel.cpp b/src/core/messagesmodel.cpp index 874324a86..b55fcdfce 100755 --- a/src/core/messagesmodel.cpp +++ b/src/core/messagesmodel.cpp @@ -372,17 +372,17 @@ bool MessagesModel::switchBatchMessageImportance(const QModelIndexList &messages bool MessagesModel::setBatchMessagesDeleted(const QModelIndexList &messages) { QStringList message_ids; - QList message_ids_num; + QList msgs; // Obtain IDs of all desired messages. foreach (const QModelIndex &message, messages) { - int message_id = messageId(message.row()); + Message msg = messageAt(message.row()); - message_ids_num.append(message_id); - message_ids.append(QString::number(message_id)); + msgs.append(msg); + message_ids.append(QString::number(msg.m_id)); } - if (!m_selectedItem->getParentServiceRoot()->onBeforeMessagesDelete(m_selectedItem, message_ids_num)) { + if (!m_selectedItem->getParentServiceRoot()->onBeforeMessagesDelete(m_selectedItem, msgs)) { return false; } @@ -400,7 +400,7 @@ bool MessagesModel::setBatchMessagesDeleted(const QModelIndexList &messages) { if (query_read_msg.exec(sql_delete_query)) { fetchAllData(); - return m_selectedItem->getParentServiceRoot()->onAfterMessagesDelete(m_selectedItem, message_ids_num); + return m_selectedItem->getParentServiceRoot()->onAfterMessagesDelete(m_selectedItem, msgs); } else { return false; diff --git a/src/services/abstract/serviceroot.h b/src/services/abstract/serviceroot.h index e67dacf7d..b3ce5906d 100755 --- a/src/services/abstract/serviceroot.h +++ b/src/services/abstract/serviceroot.h @@ -121,11 +121,11 @@ class ServiceRoot : public RootItem { // Called BEFORE the list of messages is about to be deleted // by the user from message list. - virtual bool onBeforeMessagesDelete(RootItem *selected_item, QList message_db_ids) = 0; + virtual bool onBeforeMessagesDelete(RootItem *selected_item, const QList &messages) = 0; // Called AFTER the list of messages was deleted // by the user from message list. - virtual bool onAfterMessagesDelete(RootItem *selected_item, QList message_db_ids) = 0; + virtual bool onAfterMessagesDelete(RootItem *selected_item, const QList &messages) = 0; // Called BEFORE the list of messages is about to be restored from recycle bin // by the user from message list. diff --git a/src/services/standard/standardserviceroot.cpp b/src/services/standard/standardserviceroot.cpp index d706f3551..ae0363239 100755 --- a/src/services/standard/standardserviceroot.cpp +++ b/src/services/standard/standardserviceroot.cpp @@ -539,15 +539,15 @@ bool StandardServiceRoot::onAfterSwitchMessageImportance(RootItem *selected_item return true; } -bool StandardServiceRoot::onBeforeMessagesDelete(RootItem *selected_item, QList message_db_ids) { +bool StandardServiceRoot::onBeforeMessagesDelete(RootItem *selected_item, const QList &messages) { Q_UNUSED(selected_item) - Q_UNUSED(message_db_ids) + Q_UNUSED(messages) return true; } -bool StandardServiceRoot::onAfterMessagesDelete(RootItem *selected_item, QList message_db_ids) { - Q_UNUSED(message_db_ids) +bool StandardServiceRoot::onAfterMessagesDelete(RootItem *selected_item, const QList &messages) { + Q_UNUSED(messages) // User deleted some messages he selected in message list. selected_item->updateCounts(true); diff --git a/src/services/standard/standardserviceroot.h b/src/services/standard/standardserviceroot.h index 4f2b5efdb..3ea582ba8 100755 --- a/src/services/standard/standardserviceroot.h +++ b/src/services/standard/standardserviceroot.h @@ -69,8 +69,8 @@ class StandardServiceRoot : public ServiceRoot { bool onBeforeSwitchMessageImportance(RootItem *selected_item, const QList > &changes); bool onAfterSwitchMessageImportance(RootItem *selected_item, const QList > &changes); - bool onBeforeMessagesDelete(RootItem *selected_item, QList message_db_ids); - bool onAfterMessagesDelete(RootItem *selected_item, QList message_db_ids); + bool onBeforeMessagesDelete(RootItem *selected_item, const QList &messages); + bool onAfterMessagesDelete(RootItem *selected_item, const QList &messages); bool onBeforeMessagesRestoredFromBin(RootItem *selected_item, QList message_db_ids); bool onAfterMessagesRestoredFromBin(RootItem *selected_item, QList message_db_ids); diff --git a/src/services/tt-rss/ttrssserviceroot.cpp b/src/services/tt-rss/ttrssserviceroot.cpp index 8dbceeb0f..ebf0d4241 100755 --- a/src/services/tt-rss/ttrssserviceroot.cpp +++ b/src/services/tt-rss/ttrssserviceroot.cpp @@ -202,11 +202,11 @@ bool TtRssServiceRoot::onAfterSwitchMessageImportance(RootItem *selected_item, c return true; } -bool TtRssServiceRoot::onBeforeMessagesDelete(RootItem *selected_item, QList message_db_ids) { +bool TtRssServiceRoot::onBeforeMessagesDelete(RootItem *selected_item, const QList &messages) { return false; } -bool TtRssServiceRoot::onAfterMessagesDelete(RootItem *selected_item, QList message_db_ids) { +bool TtRssServiceRoot::onAfterMessagesDelete(RootItem *selected_item, const QList &messages) { return false; } diff --git a/src/services/tt-rss/ttrssserviceroot.h b/src/services/tt-rss/ttrssserviceroot.h index eacd42e34..61a560a66 100755 --- a/src/services/tt-rss/ttrssserviceroot.h +++ b/src/services/tt-rss/ttrssserviceroot.h @@ -60,8 +60,8 @@ class TtRssServiceRoot : public ServiceRoot { bool onBeforeSwitchMessageImportance(RootItem *selected_item, const QList > &changes); bool onAfterSwitchMessageImportance(RootItem *selected_item, const QList > &changes); - bool onBeforeMessagesDelete(RootItem *selected_item, QList message_db_ids); - bool onAfterMessagesDelete(RootItem *selected_item, QList message_db_ids); + bool onBeforeMessagesDelete(RootItem *selected_item, const QList &messages); + bool onAfterMessagesDelete(RootItem *selected_item, const QList &messages); bool onBeforeMessagesRestoredFromBin(RootItem *selected_item, QList message_db_ids); bool onAfterMessagesRestoredFromBin(RootItem *selected_item, QList message_db_ids);