fix Master Public Keys dialog

This commit is contained in:
ThomasV 2015-02-05 13:29:18 +01:00
parent 19d7a81d70
commit 76cbafe754
2 changed files with 25 additions and 20 deletions

View File

@ -1907,39 +1907,44 @@ class ElectrumWindow(QMainWindow):
dialog.setModal(1) dialog.setModal(1)
dialog.setWindowTitle(_("Master Public Keys")) dialog.setWindowTitle(_("Master Public Keys"))
main_layout = QGridLayout()
mpk_dict = self.wallet.get_master_public_keys() mpk_dict = self.wallet.get_master_public_keys()
# filter out the empty keys (PendingAccount) vbox = QVBoxLayout()
mpk_dict = {acc:mpk for acc,mpk in mpk_dict.items() if mpk}
# only show the combobox in case multiple accounts are available # only show the combobox in case multiple accounts are available
if len(mpk_dict) > 1: if len(mpk_dict) > 1:
combobox = QComboBox() gb = QGroupBox(_("Master Public Keys"))
for name in mpk_dict: vbox.addWidget(gb)
combobox.addItem(name) group = QButtonGroup()
combobox.setCurrentIndex(0) first_button = None
main_layout.addWidget(combobox, 1, 0) for name in sorted(mpk_dict.keys()):
b = QRadioButton(gb)
b.setText(name)
group.addButton(b)
vbox.addWidget(b)
if not first_button:
first_button = b
account = unicode(combobox.currentText()) mpk_text = ShowQRTextEdit()
mpk_text = ShowQRTextEdit(text=mpk_dict[account])
mpk_text.setMaximumHeight(170) mpk_text.setMaximumHeight(170)
mpk_text.selectAll() # for easy copying vbox.addWidget(mpk_text)
main_layout.addWidget(mpk_text, 2, 0)
def show_mpk(account): def show_mpk(b):
mpk = mpk_dict.get(unicode(account), "") name = str(b.text())
mpk = mpk_dict.get(name, "")
mpk_text.setText(mpk) mpk_text.setText(mpk)
mpk_text.selectAll() # for easy copying
combobox.currentIndexChanged[str].connect(lambda acc: show_mpk(acc)) group.buttonReleased.connect(show_mpk)
first_button.setChecked(True)
show_mpk(first_button)
#combobox.currentIndexChanged[str].connect(lambda acc: show_mpk(acc))
elif len(mpk_dict) == 1: elif len(mpk_dict) == 1:
mpk = mpk_dict.values()[0] mpk = mpk_dict.values()[0]
mpk_text = ShowQRTextEdit(text=mpk) mpk_text = ShowQRTextEdit(text=mpk)
mpk_text.setMaximumHeight(170) mpk_text.setMaximumHeight(170)
mpk_text.selectAll() # for easy copying mpk_text.selectAll() # for easy copying
main_layout.addWidget(mpk_text, 2, 0) vbox.addWidget(mpk_text, 2, 0)
vbox = QVBoxLayout()
vbox.addLayout(main_layout)
vbox.addLayout(close_button(dialog)) vbox.addLayout(close_button(dialog))
dialog.setLayout(vbox) dialog.setLayout(vbox)

View File

@ -1494,7 +1494,7 @@ class Wallet_2of2(BIP32_Wallet, Mnemonic):
def get_master_public_keys(self): def get_master_public_keys(self):
xpub1 = self.master_public_keys.get("x1/") xpub1 = self.master_public_keys.get("x1/")
xpub2 = self.master_public_keys.get("x2/") xpub2 = self.master_public_keys.get("x2/")
return {'x1':xpub1, 'x2':xpub2} return { 'Self':xpub1, 'Cosigner':xpub2 }
def get_action(self): def get_action(self):
xpub1 = self.master_public_keys.get("x1/") xpub1 = self.master_public_keys.get("x1/")