Skip to content

Commit 1c68d8d

Browse files
committed
TimestampRole == 33 for timestamp data in myTableWidgetItem
1 parent ae6d8a9 commit 1c68d8d

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

src/bitmessageqt/__init__.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@
6262
except ImportError:
6363
get_plugins = False
6464

65+
TimestampRole = 33
66+
6567

6668
def change_translation(newlocale):
6769
global qmytranslator, qsystranslator
@@ -1071,7 +1073,7 @@ def addMessageListItemSent(
10711073
newItem = myTableWidgetItem(statusText)
10721074
newItem.setToolTip(statusText)
10731075
newItem.setData(QtCore.Qt.UserRole, ackdata)
1074-
newItem.setData(33, int(lastactiontime))
1076+
newItem.setData(TimestampRole, lastactiontime)
10751077
newItem.setFlags(
10761078
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
10771079
items.append(newItem)
@@ -1103,7 +1105,7 @@ def addMessageListItemInbox(
11031105
time_item = myTableWidgetItem(l10n.formatTimestamp(received))
11041106
time_item.setToolTip(l10n.formatTimestamp(received))
11051107
time_item.setData(QtCore.Qt.UserRole, msgid)
1106-
time_item.setData(33, int(received))
1108+
time_item.setData(TimestampRole, received)
11071109
time_item.setFlags(
11081110
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
11091111
if not read:
@@ -4635,16 +4637,25 @@ def click_pushButtonNamecoinTest(self):
46354637
# correctly (rather than alphabetically), we need to overload the <
46364638
# operator and use this class instead of QTableWidgetItem.
46374639
class myTableWidgetItem(QtWidgets.QTableWidgetItem):
4640+
"""
4641+
A subclass of QTableWidgetItem for received field.
4642+
'<' operator is overloaded to sort by TimestampRole == 33
4643+
msgid is stored in instance variable _data
4644+
"""
4645+
_data = None
46384646

46394647
def __lt__(self, other):
4640-
return self.data(33) < other.data(33)
4648+
return self.data(TimestampRole) < other.data(TimestampRole)
46414649

46424650
def setData(self, role, value):
4651+
"""Stores data for QtCore.Qt.UserRole in _data"""
46434652
if role == QtCore.Qt.UserRole:
46444653
self._data = value
4645-
return super(myTableWidgetItem, self).setData(role, value)
4654+
else:
4655+
super(myTableWidgetItem, self).setData(role, value)
46464656

46474657
def data(self, role):
4658+
"""Returns raw msgid string for QtCore.Qt.UserRole stored in _data"""
46484659
if role == QtCore.Qt.UserRole:
46494660
return self._data
46504661
return super(myTableWidgetItem, self).data(role)

0 commit comments

Comments
 (0)