ThomasV 13 years ago
parent
commit
eac8fb3c32
  1. 53
      client/gui_qt.py

53
client/gui_qt.py

@ -41,6 +41,8 @@ class ElectrumWindow(QMainWindow):
QShortcut(QKeySequence("Ctrl+W"), self, self.close)
QShortcut(QKeySequence("Ctrl+Q"), self, self.close)
QShortcut(QKeySequence("Ctrl+PgUp"), self, lambda: tabs.setCurrentIndex( tabs.currentIndex() - 1))
QShortcut(QKeySequence("Ctrl+PgDown"), self, lambda: tabs.setCurrentIndex( tabs.currentIndex() + 1))
def connect_slots(self, sender):
@ -83,9 +85,10 @@ class ElectrumWindow(QMainWindow):
w.setColumnWidth(2, 340)
w.setColumnWidth(3, 120)
w.setColumnWidth(4, 120)
w.setHeaderLabels( [ '', 'Date', 'Description', 'Amount', 'Balance', ''] )
self.connect(w, SIGNAL('itemClicked(QTreeWidgetItem*, int)'), self.tx_label)
w.setHeaderLabels( [ '', 'Date', 'Description', 'Amount', 'Balance'] )
self.connect(w, SIGNAL('itemActivated(QTreeWidgetItem*, int)'), self.tx_details)
self.connect(w, SIGNAL('itemDoubleClicked(QTreeWidgetItem*, int)'), self.tx_label_clicked)
self.connect(w, SIGNAL('itemChanged(QTreeWidgetItem*, int)'), self.tx_label_changed)
return w
def tx_details(self, item, column):
@ -115,13 +118,35 @@ class ElectrumWindow(QMainWindow):
QMessageBox.information(self, 'Details', tx_details, 'OK')
def tx_label(self, item, column):
if column==2:
print 's', item, column
def tx_label_clicked(self, item, column):
if column==2 and item.isSelected():
tx_hash = str(item.toolTip(0))
self.is_edit=True
#if not self.wallet.labels.get(tx_hash): item.setText(2,'')
item.setFlags(Qt.ItemIsEditable|Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsDragEnabled)
self.history_list.editItem( item, column )
item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsDragEnabled)
self.is_edit=False
def tx_label_changed(self, item, column):
if self.is_edit:
return
self.is_edit=True
tx_hash = str(item.toolTip(0))
tx = self.wallet.tx_history.get(tx_hash)
s = self.wallet.labels.get(tx_hash)
text = str( item.text(2) )
if text != '':
self.wallet.labels[tx_hash] = text
item.setForeground(2, QBrush(QColor('black')))
else:
if s: self.wallet.labels.pop(tx_hash)
text = tx['default_label']
item.setText(2, text)
item.setForeground(2, QBrush(QColor('gray')))
self.is_edit=False
def update_history_tab(self):
self.history_list.clear()
@ -148,7 +173,7 @@ class ElectrumWindow(QMainWindow):
item.setFont(4, QFont('monospace'))
item.setToolTip(0, tx_hash)
if is_default_label:
item.setForeground(2, QBrush(QColor('gray')))
item.setForeground(2, QBrush(QColor('grey')))
item.setIcon(0, icon)
self.history_list.insertTopLevelItem(0,item)
@ -243,8 +268,20 @@ class ElectrumWindow(QMainWindow):
def create_contacts_tab(self):
w, self.contacts_list = self.make_address_list(False)
self.connect(self.contacts_list, SIGNAL('itemActivated(QTreeWidgetItem*, int)'), self.show_contact_details)
return w
def show_contact_details(self, item, column):
m = str(item.text(0))
a = self.wallet.aliases.get(m)
if a:
if a[0] in self.wallet.authorities.keys():
s = self.wallet.authorities.get(a[0])
else:
s = "self-signed"
msg = 'Alias: '+ m + '\nTarget address: '+ a[1] + '\n\nSigned by: ' + s + '\nSigning address:' + a[0]
QMessageBox.information(self, 'Alias', msg, 'OK')
def update_contacts_tab(self):
self.contacts_list.clear()
for alias, v in self.wallet.aliases.items():

Loading…
Cancel
Save