electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit eac8fb3c3249e28a7d24db71942ff8ac71a77839
parent af52d67f84fa56c33d40295bc00ea58b3df4e3d2
Author: ThomasV <thomasv@gitorious>
Date:   Sun, 12 Feb 2012 21:41:42 +0100

labels

Diffstat:
Mclient/gui_qt.py | 53+++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 45 insertions(+), 8 deletions(-)

diff --git a/client/gui_qt.py b/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():