V0.6 #852
|
@ -2940,10 +2940,16 @@ class MyForm(QtGui.QMainWindow):
|
||||||
font = QFont()
|
font = QFont()
|
||||||
font.setBold(True)
|
font.setBold(True)
|
||||||
inventoryHashesToMarkUnread = []
|
inventoryHashesToMarkUnread = []
|
||||||
|
modified = 0
|
||||||
for row in tableWidget.selectedIndexes():
|
for row in tableWidget.selectedIndexes():
|
||||||
currentRow = row.row()
|
currentRow = row.row()
|
||||||
inventoryHashToMarkUnread = str(tableWidget.item(
|
inventoryHashToMarkUnread = str(tableWidget.item(
|
||||||
currentRow, 3).data(Qt.UserRole).toPyObject())
|
currentRow, 3).data(Qt.UserRole).toPyObject())
|
||||||
|
if inventoryHashToMarkUnread in inventoryHashesToMarkUnread:
|
||||||
|
# it returns columns as separate items, so we skip dupes
|
||||||
|
continue
|
||||||
|
if not tableWidget.item(currentRow, 0).font().bold():
|
||||||
|
modified += 1
|
||||||
inventoryHashesToMarkUnread.append(inventoryHashToMarkUnread)
|
inventoryHashesToMarkUnread.append(inventoryHashToMarkUnread)
|
||||||
tableWidget.item(currentRow, 0).setFont(font)
|
tableWidget.item(currentRow, 0).setFont(font)
|
||||||
tableWidget.item(currentRow, 1).setFont(font)
|
tableWidget.item(currentRow, 1).setFont(font)
|
||||||
|
@ -2952,7 +2958,11 @@ class MyForm(QtGui.QMainWindow):
|
||||||
#sqlite requires the exact number of ?s to prevent injection
|
#sqlite requires the exact number of ?s to prevent injection
|
||||||
sqlExecute('''UPDATE inbox SET read=0 WHERE msgid IN (%s)''' % (
|
sqlExecute('''UPDATE inbox SET read=0 WHERE msgid IN (%s)''' % (
|
||||||
"?," * len(inventoryHashesToMarkUnread))[:-1], *inventoryHashesToMarkUnread)
|
"?," * len(inventoryHashesToMarkUnread))[:-1], *inventoryHashesToMarkUnread)
|
||||||
self.propagateUnreadCount(self.getCurrentAccount(), "inbox", self.getCurrentTreeWidget(), 0)
|
if modified == 1:
|
||||||
|
# performance optimisation
|
||||||
|
self.propagateUnreadCount(self.getCurrentAccount())
|
||||||
|
else:
|
||||||
|
self.propagateUnreadCount(self.getCurrentAccount(), "inbox", self.getCurrentTreeWidget(), 0)
|
||||||
# tableWidget.selectRow(currentRow + 1)
|
# tableWidget.selectRow(currentRow + 1)
|
||||||
# This doesn't de-select the last message if you try to mark it unread, but that doesn't interfere. Might not be necessary.
|
# This doesn't de-select the last message if you try to mark it unread, but that doesn't interfere. Might not be necessary.
|
||||||
# We could also select upwards, but then our problem would be with the topmost message.
|
# We could also select upwards, but then our problem would be with the topmost message.
|
||||||
|
|
Reference in New Issue
Block a user