qt wizard: start: merge "start_viewstate" and "initial_data"
This commit is contained in:
@@ -57,7 +57,7 @@ class QEKeystoreWizard(KeystoreWizard, QEAbstractWizard, MessageBoxMixin):
|
|||||||
config: 'SimpleConfig',
|
config: 'SimpleConfig',
|
||||||
app: 'QElectrumApplication',
|
app: 'QElectrumApplication',
|
||||||
plugins: 'Plugins',
|
plugins: 'Plugins',
|
||||||
start_viewstate: WizardViewState = None
|
start_viewstate: WizardViewState = None,
|
||||||
):
|
):
|
||||||
assert 'wallet_type' in start_viewstate.wizard_data, 'wallet_type required'
|
assert 'wallet_type' in start_viewstate.wizard_data, 'wallet_type required'
|
||||||
|
|
||||||
|
|||||||
@@ -124,10 +124,7 @@ class QEAbstractWizard(QDialog, MessageBoxMixin):
|
|||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def strt(self):
|
def strt(self):
|
||||||
if self.start_viewstate is not None:
|
viewstate = self.start_wizard(start_viewstate=self.start_viewstate)
|
||||||
viewstate = self._current = self.start_viewstate
|
|
||||||
else:
|
|
||||||
viewstate = self.start_wizard()
|
|
||||||
self.load_next_component(viewstate.view, viewstate.wizard_data, viewstate.params)
|
self.load_next_component(viewstate.view, viewstate.wizard_data, viewstate.params)
|
||||||
self.set_default_focus()
|
self.set_default_focus()
|
||||||
|
|
||||||
@@ -236,8 +233,8 @@ class QEAbstractWizard(QDialog, MessageBoxMixin):
|
|||||||
self.prev() # rollback the submit above
|
self.prev() # rollback the submit above
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
def start_wizard(self) -> 'WizardViewState':
|
def start_wizard(self, *, start_viewstate: Optional['WizardViewState'] = None) -> 'WizardViewState':
|
||||||
self.start()
|
self.start(start_viewstate=start_viewstate)
|
||||||
return self._current
|
return self._current
|
||||||
|
|
||||||
def view_to_component(self, view) -> QWidget:
|
def view_to_component(self, view) -> QWidget:
|
||||||
|
|||||||
@@ -257,13 +257,14 @@ class KeystoreWizard(AbstractWizard):
|
|||||||
# one at a time
|
# one at a time
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def start(self, *, initial_data: dict = None) -> WizardViewState:
|
def start(self, *, start_viewstate: WizardViewState = None) -> WizardViewState:
|
||||||
if initial_data is None:
|
|
||||||
initial_data = {}
|
|
||||||
self.reset()
|
self.reset()
|
||||||
start_view = 'keystore_type'
|
if start_viewstate is None:
|
||||||
params = self.navmap[start_view].get('params', {})
|
start_view = 'keystore_type'
|
||||||
self._current = WizardViewState(start_view, initial_data, params)
|
params = self.navmap[start_view].get('params', {})
|
||||||
|
self._current = WizardViewState(start_view, {}, params)
|
||||||
|
else:
|
||||||
|
self._current = start_viewstate
|
||||||
return self._current
|
return self._current
|
||||||
|
|
||||||
# returns (sub)dict of current cosigner (or root if first)
|
# returns (sub)dict of current cosigner (or root if first)
|
||||||
@@ -487,13 +488,14 @@ class NewWalletWizard(KeystoreWizard):
|
|||||||
# todo: load only if needed, like hw plugins
|
# todo: load only if needed, like hw plugins
|
||||||
self.plugins.load_plugin_by_name('trustedcoin')
|
self.plugins.load_plugin_by_name('trustedcoin')
|
||||||
|
|
||||||
def start(self, *, initial_data: dict = None) -> WizardViewState:
|
def start(self, *, start_viewstate: WizardViewState = None) -> WizardViewState:
|
||||||
if initial_data is None:
|
|
||||||
initial_data = {}
|
|
||||||
self.reset()
|
self.reset()
|
||||||
start_view = 'wallet_name'
|
if start_viewstate is None:
|
||||||
params = self.navmap[start_view].get('params', {})
|
start_view = 'wallet_name'
|
||||||
self._current = WizardViewState(start_view, initial_data, params)
|
params = self.navmap[start_view].get('params', {})
|
||||||
|
self._current = WizardViewState(start_view, {}, params)
|
||||||
|
else:
|
||||||
|
self._current = start_viewstate
|
||||||
return self._current
|
return self._current
|
||||||
|
|
||||||
def is_single_password(self) -> bool:
|
def is_single_password(self) -> bool:
|
||||||
@@ -861,13 +863,14 @@ class ServerConnectWizard(AbstractWizard):
|
|||||||
if wizard_data.get('autoconnect') is not None:
|
if wizard_data.get('autoconnect') is not None:
|
||||||
self._daemon.config.NETWORK_AUTO_CONNECT = wizard_data.get('autoconnect')
|
self._daemon.config.NETWORK_AUTO_CONNECT = wizard_data.get('autoconnect')
|
||||||
|
|
||||||
def start(self, *, initial_data: dict = None) -> WizardViewState:
|
def start(self, *, start_viewstate: WizardViewState = None) -> WizardViewState:
|
||||||
if initial_data is None:
|
|
||||||
initial_data = {}
|
|
||||||
self.reset()
|
self.reset()
|
||||||
start_view = 'welcome'
|
if start_viewstate is None:
|
||||||
params = self.navmap[start_view].get('params', {})
|
start_view = 'welcome'
|
||||||
self._current = WizardViewState(start_view, initial_data, params)
|
params = self.navmap[start_view].get('params', {})
|
||||||
|
self._current = WizardViewState(start_view, {}, params)
|
||||||
|
else:
|
||||||
|
self._current = start_viewstate
|
||||||
return self._current
|
return self._current
|
||||||
|
|
||||||
|
|
||||||
@@ -888,11 +891,12 @@ class TermsOfUseWizard(AbstractWizard):
|
|||||||
def accept_terms_of_use(self, _):
|
def accept_terms_of_use(self, _):
|
||||||
self._config.TERMS_OF_USE_ACCEPTED = TERMS_OF_USE_LATEST_VERSION
|
self._config.TERMS_OF_USE_ACCEPTED = TERMS_OF_USE_LATEST_VERSION
|
||||||
|
|
||||||
def start(self, *, initial_data: dict = None) -> WizardViewState:
|
def start(self, *, start_viewstate: WizardViewState = None) -> WizardViewState:
|
||||||
if initial_data is None:
|
|
||||||
initial_data = {}
|
|
||||||
self.reset()
|
self.reset()
|
||||||
start_view = 'terms_of_use'
|
if start_viewstate is None:
|
||||||
params = self.navmap[start_view].get('params', {})
|
start_view = 'terms_of_use'
|
||||||
self._current = WizardViewState(start_view, initial_data, params)
|
params = self.navmap[start_view].get('params', {})
|
||||||
|
self._current = WizardViewState(start_view, {}, params)
|
||||||
|
else:
|
||||||
|
self._current = start_viewstate
|
||||||
return self._current
|
return self._current
|
||||||
|
|||||||
@@ -140,7 +140,8 @@ class KeystoreWizardTestCase(WizardTestCase):
|
|||||||
|
|
||||||
def _wizard_for(self, *, wallet_type: str = 'standard', hww: bool = False) -> tuple[KeystoreWizard, WizardViewState]:
|
def _wizard_for(self, *, wallet_type: str = 'standard', hww: bool = False) -> tuple[KeystoreWizard, WizardViewState]:
|
||||||
w = KeystoreWizardTestCase.TKeystoreWizard(self.plugins)
|
w = KeystoreWizardTestCase.TKeystoreWizard(self.plugins)
|
||||||
v = w.start(initial_data={'wallet_type': wallet_type})
|
start_viewstate = WizardViewState('keystore_type', {'wallet_type': wallet_type}, {})
|
||||||
|
v = w.start(start_viewstate=start_viewstate)
|
||||||
self.assertEqual('keystore_type', v.view)
|
self.assertEqual('keystore_type', v.view)
|
||||||
d = v.wizard_data
|
d = v.wizard_data
|
||||||
if hww:
|
if hww:
|
||||||
|
|||||||
Reference in New Issue
Block a user