(self, address = None, folder = "inbox", widget = None, type = 1)
| 955 | related.item(rrow, col).setUnread(not status) |
| 956 | |
| 957 | def propagateUnreadCount(self, address = None, folder = "inbox", widget = None, type = 1): |
| 958 | widgets = [self.ui.treeWidgetYourIdentities, self.ui.treeWidgetSubscriptions, self.ui.treeWidgetChans] |
| 959 | queryReturn = sqlQuery("SELECT toaddress, folder, COUNT(msgid) AS cnt FROM inbox WHERE read = 0 GROUP BY toaddress, folder") |
| 960 | totalUnread = {} |
| 961 | normalUnread = {} |
| 962 | for row in queryReturn: |
| 963 | normalUnread[row[0]] = {} |
| 964 | if row[1] in ["trash"]: |
| 965 | continue |
| 966 | normalUnread[row[0]][row[1]] = row[2] |
| 967 | if row[1] in totalUnread: |
| 968 | totalUnread[row[1]] += row[2] |
| 969 | else: |
| 970 | totalUnread[row[1]] = row[2] |
| 971 | queryReturn = sqlQuery("SELECT fromaddress, folder, COUNT(msgid) AS cnt FROM inbox WHERE read = 0 AND toaddress = ? GROUP BY fromaddress, folder", str_broadcast_subscribers) |
| 972 | broadcastsUnread = {} |
| 973 | for row in queryReturn: |
| 974 | broadcastsUnread[row[0]] = {} |
| 975 | broadcastsUnread[row[0]][row[1]] = row[2] |
| 976 | |
| 977 | for treeWidget in widgets: |
| 978 | root = treeWidget.invisibleRootItem() |
| 979 | for i in range(root.childCount()): |
| 980 | addressItem = root.child(i) |
| 981 | newCount = 0 |
| 982 | if addressItem.type == AccountMixin.ALL: |
| 983 | newCount = sum(totalUnread.itervalues()) |
| 984 | self.drawTrayIcon(self.currentTrayIconFileName, newCount) |
| 985 | elif addressItem.type == AccountMixin.SUBSCRIPTION: |
| 986 | if addressItem.address in broadcastsUnread: |
| 987 | newCount = sum(broadcastsUnread[addressItem.address].itervalues()) |
| 988 | elif addressItem.address in normalUnread: |
| 989 | newCount = sum(normalUnread[addressItem.address].itervalues()) |
| 990 | if newCount != addressItem.unreadCount: |
| 991 | addressItem.setUnreadCount(newCount) |
| 992 | if addressItem.childCount == 0: |
| 993 | continue |
| 994 | for j in range(addressItem.childCount()): |
| 995 | folderItem = addressItem.child(j) |
| 996 | newCount = 0 |
| 997 | folderName = folderItem.folderName |
| 998 | if folderName == "new": |
| 999 | folderName = "inbox" |
| 1000 | if addressItem.type == AccountMixin.ALL and folderName in totalUnread: |
| 1001 | newCount = totalUnread[folderName] |
| 1002 | elif addressItem.type == AccountMixin.SUBSCRIPTION: |
| 1003 | if addressItem.address in broadcastsUnread and folderName in broadcastsUnread[addressItem.address]: |
| 1004 | newCount = broadcastsUnread[addressItem.address][folderName] |
| 1005 | elif addressItem.address in normalUnread and folderName in normalUnread[addressItem.address]: |
| 1006 | newCount = normalUnread[addressItem.address][folderName] |
| 1007 | if newCount != folderItem.unreadCount: |
| 1008 | folderItem.setUnreadCount(newCount) |
| 1009 | |
| 1010 | def addMessageListItem(self, tableWidget, items): |
| 1011 | sortingEnabled = tableWidget.isSortingEnabled() |
no test coverage detected