talways pass a parent to dialog windows - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 527ba99ef227167268f5f730c739a9b77f66b864 DIR parent 3fe0e160ca6b96d89c32b75088fb11578a131699 HTML Author: ecdsa <ecdsa@github> Date: Mon, 4 Mar 2013 17:20:38 +0100 always pass a parent to dialog windows Diffstat: M gui/gui_classic.py | 41 +++++++++++++++---------------- 1 file changed, 20 insertions(+), 21 deletions(-) --- DIR diff --git a/gui/gui_classic.py b/gui/gui_classic.py t@@ -272,13 +272,12 @@ class ElectrumWindow(QMainWindow): self.config = config self.init_plugins() - self.wallet.interface.register_callback('updated', self.update_callback) - self.wallet.interface.register_callback('banner', lambda: self.emit(QtCore.SIGNAL('banner_signal')) ) - self.wallet.interface.register_callback('disconnected', self.update_callback) - self.wallet.interface.register_callback('disconnecting', self.update_callback) + self.wallet.interface.register_callback('updated', lambda: self.emit(QtCore.SIGNAL('update_wallet'))) + self.wallet.interface.register_callback('banner', lambda: self.emit(QtCore.SIGNAL('banner_signal'))) + self.wallet.interface.register_callback('disconnected', lambda: self.emit(QtCore.SIGNAL('update_status'))) + self.wallet.interface.register_callback('disconnecting', lambda: self.emit(QtCore.SIGNAL('update_status'))) self.expert_mode = config.get('classic_expert_mode', False) - self.merchant_name = config.get('merchant_name', 'Invoice') set_language(config.get('language')) t@@ -308,7 +307,8 @@ class ElectrumWindow(QMainWindow): QShortcut(QKeySequence("Ctrl+PgUp"), self, lambda: tabs.setCurrentIndex( (tabs.currentIndex() - 1 )%tabs.count() )) QShortcut(QKeySequence("Ctrl+PgDown"), self, lambda: tabs.setCurrentIndex( (tabs.currentIndex() + 1 )%tabs.count() )) - self.connect(self, QtCore.SIGNAL('updatesignal'), self.update_wallet) + self.connect(self, QtCore.SIGNAL('update_wallet'), self.update_wallet) + self.connect(self, QtCore.SIGNAL('update_status'), self.update_status) self.connect(self, QtCore.SIGNAL('banner_signal'), lambda: self.console.showMessage(self.wallet.banner) ) self.history_list.setFocus(True) t@@ -388,10 +388,8 @@ class ElectrumWindow(QMainWindow): self.payto_e.setText(s) - def update_callback(self): - self.emit(QtCore.SIGNAL('updatesignal')) - def update_wallet(self): + def update_status(self): if self.wallet.interface and self.wallet.interface.is_connected: if not self.wallet.up_to_date: text = _("Synchronizing...") t@@ -410,6 +408,8 @@ class ElectrumWindow(QMainWindow): self.statusBar().showMessage(text) self.status_button.setIcon( icon ) + def update_wallet(self): + self.update_status() if self.wallet.up_to_date or not self.wallet.interface.is_connected: self.update_history_tab() self.update_receive_tab() t@@ -454,7 +454,7 @@ class ElectrumWindow(QMainWindow): def show_tx_details(self, tx): - dialog = QDialog(None) + dialog = QDialog(self) dialog.setModal(1) dialog.setWindowTitle(_("Transaction Details")) vbox = QVBoxLayout() t@@ -973,7 +973,7 @@ class ElectrumWindow(QMainWindow): return menu = QMenu() menu.addAction(_("Copy to clipboard"), lambda: self.app.clipboard().setText(addr)) - menu.addAction(_("QR code"), lambda: ElectrumWindow.show_qrcode("bitcoin:" + addr, _("Address")) ) + menu.addAction(_("QR code"), lambda: self.show_qrcode("bitcoin:" + addr, _("Address")) ) menu.addAction(_("Edit label"), lambda: self.edit_label(True)) menu.addAction(_("Private key"), lambda: self.view_private_key(addr)) menu.addAction(_("Sign message"), lambda: self.sign_message(addr)) t@@ -1223,7 +1223,7 @@ class ElectrumWindow(QMainWindow): QMessageBox.warning(self, _('Error'), _('Invalid Address'), _('OK')) def show_master_public_key(self): - dialog = QDialog(None) + dialog = QDialog(self) dialog.setModal(1) dialog.setWindowTitle(_("Master Public Key")) t@@ -1273,11 +1273,11 @@ class ElectrumWindow(QMainWindow): QMessageBox.warning(parent, _('Error'), _('Incorrect Password'), _('OK')) return - self.show_seed(seed) + self.show_seed(seed, parent) @classmethod - def show_seed(self, seed): - dialog = QDialog(None) + def show_seed(self, seed, parent=None): + dialog = QDialog(parent) dialog.setModal(1) dialog.setWindowTitle('Electrum' + ' - ' + _('Seed')) t@@ -1300,7 +1300,7 @@ class ElectrumWindow(QMainWindow): logo.setPixmap(QPixmap(":icons/seed.png").scaledToWidth(56)) logo.setMaximumWidth(60) - qrw = QRCodeWidget(seed, 4) + qrw = QRCodeWidget(seed) ok_button = QPushButton(_("OK")) ok_button.setDefault(True) t@@ -1328,10 +1328,9 @@ class ElectrumWindow(QMainWindow): dialog.setLayout(vbox) dialog.exec_() - @staticmethod - def show_qrcode(data, title = "QR code"): + def show_qrcode(self, data, title = "QR code"): if not data: return - d = QDialog(None) + d = QDialog(self) d.setModal(1) d.setWindowTitle(title) d.setMinimumSize(270, 300) t@@ -1634,8 +1633,8 @@ class ElectrumWindow(QMainWindow): tree_widget.setColumnWidth(0, 300) tree_widget.setColumnWidth(1, 50) - for output in tx.d["outputs"]: - item = QTreeWidgetItem( ["%s" %(output["address"]), "%s" % ( format_satoshis(output["value"]))] ) + for address, value in tx.outputs: + item = QTreeWidgetItem( [address, "%s" % ( format_satoshis(value))] ) tree_widget.addTopLevelItem(item) tree_widget.setMaximumHeight(100)