| 114 | |
| 115 | |
| 116 | class Ui_FolderWidget(QtGui.QTreeWidgetItem, AccountMixin): |
| 117 | folderWeight = {"inbox": 1, "new": 2, "sent": 3, "trash": 4} |
| 118 | def __init__(self, parent, pos = 0, address = "", folderName = "", unreadCount = 0): |
| 119 | super(QtGui.QTreeWidgetItem, self).__init__() |
| 120 | self.setAddress(address) |
| 121 | self.setFolderName(folderName) |
| 122 | self.setUnreadCount(unreadCount) |
| 123 | parent.insertChild(pos, self) |
| 124 | |
| 125 | def setFolderName(self, fname): |
| 126 | self.folderName = str(fname) |
| 127 | |
| 128 | def data(self, column, role): |
| 129 | if column == 0: |
| 130 | if role == QtCore.Qt.DisplayRole: |
| 131 | return _translate("MainWindow", self.folderName) + ( |
| 132 | " (" + str(self.unreadCount) + ")" |
| 133 | if self.unreadCount > 0 else "" |
| 134 | ) |
| 135 | elif role in (QtCore.Qt.EditRole, QtCore.Qt.ToolTipRole): |
| 136 | return _translate("MainWindow", self.folderName) |
| 137 | elif role == QtCore.Qt.FontRole: |
| 138 | font = QtGui.QFont() |
| 139 | font.setBold(self.unreadCount > 0) |
| 140 | return font |
| 141 | elif role == QtCore.Qt.ForegroundRole: |
| 142 | return self.folderBrush() |
| 143 | return super(Ui_FolderWidget, self).data(column, role) |
| 144 | |
| 145 | # inbox, sent, thrash first, rest alphabetically |
| 146 | def __lt__(self, other): |
| 147 | if (isinstance(other, Ui_FolderWidget)): |
| 148 | if self.folderName in self.folderWeight: |
| 149 | x = self.folderWeight[self.folderName] |
| 150 | else: |
| 151 | x = 99 |
| 152 | if other.folderName in self.folderWeight: |
| 153 | y = self.folderWeight[other.folderName] |
| 154 | else: |
| 155 | y = 99 |
| 156 | reverse = False |
| 157 | if self.treeWidget().header().sortIndicatorOrder() == QtCore.Qt.DescendingOrder: |
| 158 | reverse = True |
| 159 | if x == y: |
| 160 | return self.folderName < other.folderName |
| 161 | else: |
| 162 | return (x >= y if reverse else x < y) |
| 163 | |
| 164 | return super(QtGui.QTreeWidgetItem, self).__lt__(other) |
| 165 | |
| 166 | |
| 167 | class Ui_AddressWidget(QtGui.QTreeWidgetItem, AccountMixin, SettingsMixin): |
no outgoing calls
no test coverage detected