MCPcopy Create free account
hub / github.com/Bitmessage/PyBitmessage / on_action_InboxTrash

Method on_action_InboxTrash

src/bitmessageqt/__init__.py:3115–3146  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

3113
3114 # Send item on the Inbox tab to trash
3115 def on_action_InboxTrash(self):
3116 tableWidget = self.getCurrentMessagelist()
3117 if not tableWidget:
3118 return
3119 currentRow = 0
3120 folder = self.getCurrentFolder()
3121 shifted = QtGui.QApplication.queryKeyboardModifiers() & QtCore.Qt.ShiftModifier
3122 tableWidget.setUpdatesEnabled(False);
3123 inventoryHashesToTrash = []
3124 # ranges in reversed order
3125 for r in sorted(tableWidget.selectedRanges(), key=lambda r: r.topRow())[::-1]:
3126 for i in range(r.bottomRow()-r.topRow()+1):
3127 inventoryHashToTrash = str(tableWidget.item(
3128 r.topRow()+i, 3).data(QtCore.Qt.UserRole).toPyObject())
3129 if inventoryHashToTrash in inventoryHashesToTrash:
3130 continue
3131 inventoryHashesToTrash.append(inventoryHashToTrash)
3132 currentRow = r.topRow()
3133 self.getCurrentMessageTextedit().setText("")
3134 tableWidget.model().removeRows(r.topRow(), r.bottomRow()-r.topRow()+1)
3135 idCount = len(inventoryHashesToTrash)
3136 if folder == "trash" or shifted:
3137 sqlExecuteChunked('''DELETE FROM inbox WHERE msgid IN ({0})''',
3138 idCount, *inventoryHashesToTrash)
3139 else:
3140 sqlExecuteChunked('''UPDATE inbox SET folder='trash' WHERE msgid IN ({0})''',
3141 idCount, *inventoryHashesToTrash)
3142 tableWidget.selectRow(0 if currentRow == 0 else currentRow - 1)
3143 tableWidget.setUpdatesEnabled(True)
3144 self.propagateUnreadCount(self.getCurrentAccount, folder)
3145 self.updateStatusBar(_translate(
3146 "MainWindow", "Moved items to trash."))
3147
3148 def on_action_TrashUndelete(self):
3149 tableWidget = self.getCurrentMessagelist()

Callers 1

handleKeyPressMethod · 0.95

Calls 8

getCurrentMessagelistMethod · 0.95
getCurrentFolderMethod · 0.95
propagateUnreadCountMethod · 0.95
updateStatusBarMethod · 0.95
sqlExecuteChunkedFunction · 0.90
_translateFunction · 0.90
dataMethod · 0.45

Tested by

no test coverage detected