Browse Source

Qt: fix TumbleRestartWizard to use open/asyncio

add_frost_channel_encryption
zebra-lucky 2 months ago
parent
commit
b784ceaee9
  1. 8
      scripts/joinmarket-qt.py
  2. 14
      scripts/qtsupport.py

8
scripts/joinmarket-qt.py

@ -602,7 +602,8 @@ class SpendTab(QWidget):
lambda: asyncio.ensure_future(self.generateTumbleSchedule()))
self.sch_startButton = QPushButton('Run schedule')
self.sch_startButton.setEnabled(False) #not runnable until schedule chosen
self.sch_startButton.clicked.connect(self.startMultiple)
self.sch_startButton.clicked.connect(
lambda: asyncio.ensure_future(self.startMultiple()))
self.sch_abortButton = QPushButton('Abort')
self.sch_abortButton.setEnabled(False)
self.sch_abortButton.clicked.connect(self.abortTransactions)
@ -733,7 +734,7 @@ class SpendTab(QWidget):
mainWindow.statusBar().showMessage("Transaction in a block, now continuing.")
self.startJoin()
def startMultiple(self):
async def startMultiple(self):
if jm_single().bc_interface is None:
log.info("Cannot start join, blockchain source not available.")
return
@ -752,7 +753,8 @@ class SpendTab(QWidget):
#is in case the user can increase success probability by changing them.
if self.tumbler_options == True:
wizard = TumbleRestartWizard()
wizard_return = wizard.exec_()
wizard.open()
wizard_return = await wizard.result()
if wizard_return == QDialog.Rejected:
return
self.tumbler_options = wizard.getOptions()

14
scripts/qtsupport.py

@ -975,12 +975,25 @@ class ScheduleWizard(QWizard):
return get_tumble_schedule(self.opts, self.destaddrs,
wallet_balance_by_mixdepth, max_mixdepth_in_wallet)
class TumbleRestartWizard(QWizard):
def __init__(self):
super().__init__()
self.setModal(True)
self.result_fut = asyncio.get_event_loop().create_future()
self.finished.connect(self.on_finished)
self.setWindowTitle("Restart tumbler schedule")
self.setPage(0, RestartSettingsPage(self))
@QtCore.Slot(QMessageBox.StandardButton)
def on_finished(self, button):
self.result_fut.set_result(button)
async def result(self):
await self.result_fut
return self.result_fut.result()
def getOptions(self):
self.opts = {}
self.opts['mincjamount'] = int(self.field("mincjamount"))
@ -991,6 +1004,7 @@ class TumbleRestartWizard(QWizard):
jm_single().mincjamount = self.opts['mincjamount']
return self.opts
class RestartSettingsPage(QWizardPage):
def __init__(self, parent):

Loading…
Cancel
Save