Show subscription unread count
Subscriptions were not showing unread count. This commit implements it.
This commit is contained in:
parent
dad14b0cb8
commit
8b527f81ee
|
@ -420,13 +420,30 @@ class MyForm(QtGui.QMainWindow):
|
||||||
treeWidget.clear()
|
treeWidget.clear()
|
||||||
treeWidget.setSortingEnabled(False)
|
treeWidget.setSortingEnabled(False)
|
||||||
treeWidget.header().setSortIndicator(0, Qt.AscendingOrder)
|
treeWidget.header().setSortIndicator(0, Qt.AscendingOrder)
|
||||||
|
db = {}
|
||||||
|
queryreturn = sqlQuery('''SELECT fromaddress, folder, count(msgid) as cnt
|
||||||
|
FROM inbox, subscriptions
|
||||||
|
WHERE read = 0 AND subscriptions.address = inbox.fromaddress
|
||||||
|
GROUP BY inbox.fromaddress, folder''')
|
||||||
|
for row in queryreturn:
|
||||||
|
fromaddress, folder, cnt = row
|
||||||
|
if fromaddress not in db:
|
||||||
|
db[fromaddress] = {}
|
||||||
|
db[fromaddress][folder] = cnt
|
||||||
queryreturn = sqlQuery('SELECT label, address, enabled FROM subscriptions')
|
queryreturn = sqlQuery('SELECT label, address, enabled FROM subscriptions')
|
||||||
for row in queryreturn:
|
for row in queryreturn:
|
||||||
label, address, enabled = row
|
label, address, enabled = row
|
||||||
newItem = Ui_SubscriptionWidget(treeWidget, 0, address, 0, label, enabled)
|
newItem = Ui_SubscriptionWidget(treeWidget, 0, address, 0, label, enabled)
|
||||||
|
|
||||||
|
unread = 0
|
||||||
for folder in folders:
|
for folder in folders:
|
||||||
|
try:
|
||||||
|
newSubItem = Ui_FolderWidget(newItem, 0, address, folder, db[address][folder])
|
||||||
|
unread += db[address][folder]
|
||||||
|
except KeyError:
|
||||||
newSubItem = Ui_FolderWidget(newItem, 0, address, folder, 0)
|
newSubItem = Ui_FolderWidget(newItem, 0, address, folder, 0)
|
||||||
|
|
||||||
|
newItem.setUnreadCount(unread)
|
||||||
treeWidget.setSortingEnabled(True)
|
treeWidget.setSortingEnabled(True)
|
||||||
|
|
||||||
def rerenderTabTreeMessages(self):
|
def rerenderTabTreeMessages(self):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user