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

Method rerenderAddressBook

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

Source from the content-addressed store, hash-verified

1792 messagelist.item(i, 0).setLabel()
1793
1794 def rerenderAddressBook(self):
1795 def addRow (address, label, type):
1796 self.ui.tableWidgetAddressBook.insertRow(0)
1797 newItem = Ui_AddressBookWidgetItemLabel(address, unicode(label, 'utf-8'), type)
1798 self.ui.tableWidgetAddressBook.setItem(0, 0, newItem)
1799 newItem = Ui_AddressBookWidgetItemAddress(address, unicode(label, 'utf-8'), type)
1800 self.ui.tableWidgetAddressBook.setItem(0, 1, newItem)
1801
1802 oldRows = {}
1803 for i in range(self.ui.tableWidgetAddressBook.rowCount()):
1804 item = self.ui.tableWidgetAddressBook.item(i, 0)
1805 oldRows[item.address] = [item.label, item.type, i]
1806
1807 if self.ui.tableWidgetAddressBook.rowCount() == 0:
1808 self.ui.tableWidgetAddressBook.horizontalHeader().setSortIndicator(0, QtCore.Qt.AscendingOrder)
1809 if self.ui.tableWidgetAddressBook.isSortingEnabled():
1810 self.ui.tableWidgetAddressBook.setSortingEnabled(False)
1811
1812 newRows = {}
1813 # subscriptions
1814 queryreturn = sqlQuery('SELECT label, address FROM subscriptions WHERE enabled = 1')
1815 for row in queryreturn:
1816 label, address = row
1817 newRows[address] = [label, AccountMixin.SUBSCRIPTION]
1818 # chans
1819 addresses = getSortedAccounts()
1820 for address in addresses:
1821 account = accountClass(address)
1822 if (account.type == AccountMixin.CHAN and BMConfigParser().safeGetBoolean(address, 'enabled')):
1823 newRows[address] = [account.getLabel(), AccountMixin.CHAN]
1824 # normal accounts
1825 queryreturn = sqlQuery('SELECT * FROM addressbook')
1826 for row in queryreturn:
1827 label, address = row
1828 newRows[address] = [label, AccountMixin.NORMAL]
1829
1830 completerList = []
1831 for address in sorted(oldRows, key = lambda x: oldRows[x][2], reverse = True):
1832 if address in newRows:
1833 completerList.append(unicode(newRows[address][0], encoding="UTF-8") + " <" + address + ">")
1834 newRows.pop(address)
1835 else:
1836 self.ui.tableWidgetAddressBook.removeRow(oldRows[address][2])
1837 for address in newRows:
1838 addRow(address, newRows[address][0], newRows[address][1])
1839 completerList.append(unicode(newRows[address][0], encoding="UTF-8") + " <" + address + ">")
1840
1841 # sort
1842 self.ui.tableWidgetAddressBook.sortByColumn(
1843 0, QtCore.Qt.AscendingOrder)
1844 self.ui.tableWidgetAddressBook.setSortingEnabled(True)
1845 self.ui.lineEditTo.completer().model().setStringList(completerList)
1846
1847 def rerenderSubscriptions(self):
1848 self.rerenderTabTreeSubscriptions()

Callers 12

__init__Method · 0.95
addEntryToAddressBookMethod · 0.95
addSubscriptionMethod · 0.95
enableIdentityMethod · 0.95
disableIdentityMethod · 0.95
treeWidgetItemChangedMethod · 0.95
checkAddressBookFunction · 0.80

Calls 6

sqlQueryFunction · 0.90
getSortedAccountsFunction · 0.90
accountClassFunction · 0.90
BMConfigParserClass · 0.90
safeGetBooleanMethod · 0.80
getLabelMethod · 0.45

Tested by

no test coverage detected