MCPcopy Index your code
hub / github.com/Bitmessage/PyBitmessage / Ui_FolderWidget

Class Ui_FolderWidget

src/bitmessageqt/foldertree.py:116–164  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

114
115
116class 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
167class Ui_AddressWidget(QtGui.QTreeWidgetItem, AccountMixin, SettingsMixin):

Callers 2

rerenderTabTreeMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected