wizard: (trivial) add show_error to base class, document API

This commit is contained in:
SomberNight 2020-04-09 19:10:39 +02:00
parent 08a7925235
commit 71eed1d4cb
No known key found for this signature in database
GPG key ID: B33B5F232C6271E9
3 changed files with 14 additions and 5 deletions

View file

@ -685,3 +685,6 @@ class BaseWizard(Logger):
self.line_dialog(run_next=f, title=title, message=message, default='', test=lambda x: x==passphrase)
else:
f('')
def show_error(self, msg: Union[str, BaseException]) -> None:
raise NotImplementedError()

View file

@ -975,8 +975,8 @@ class ElectrumWindow(App):
self.qr_dialog(label.name, label.data, True)
def show_error(self, error, width='200dp', pos=None, arrow_pos=None,
exit=False, icon='atlas://electrum/gui/kivy/theming/light/error', duration=0,
modal=False):
exit=False, icon='atlas://electrum/gui/kivy/theming/light/error', duration=0,
modal=False):
''' Show an error Message Bubble.
'''
self.show_info_bubble( text=error, icon=icon, width=width,
@ -984,7 +984,7 @@ class ElectrumWindow(App):
duration=duration, modal=modal)
def show_info(self, error, width='200dp', pos=None, arrow_pos=None,
exit=False, duration=0, modal=False):
exit=False, duration=0, modal=False):
''' Show an Info Message Bubble.
'''
self.show_error(error, icon='atlas://electrum/gui/kivy/theming/light/important',
@ -992,7 +992,7 @@ class ElectrumWindow(App):
arrow_pos=arrow_pos)
def show_info_bubble(self, text=_('Hello World'), pos=None, duration=0,
arrow_pos='bottom_mid', width=None, icon='', modal=False, exit=False):
arrow_pos='bottom_mid', width=None, icon='', modal=False, exit=False):
'''Method to show an Information Bubble
.. parameters::
@ -1002,6 +1002,7 @@ class ElectrumWindow(App):
width: width of the Bubble
arrow_pos: arrow position for the bubble
'''
text = str(text) # so that we also handle e.g. Exception
info_bubble = self.info_bubble
if not info_bubble:
info_bubble = self.info_bubble = Factory.InfoBubble()

View file

@ -2,6 +2,7 @@
from functools import partial
import threading
import os
from typing import TYPE_CHECKING
from kivy.app import App
from kivy.clock import Clock
@ -24,6 +25,10 @@ from . import EventsDialog
from ...i18n import _
from .password_dialog import PasswordDialog
if TYPE_CHECKING:
from electrum.gui.kivy.main_window import ElectrumWindow
# global Variables
is_test = (platform == "linux")
test_seed = "grape impose jazz bind spatial mind jelly tourist tank today holiday stomach"
@ -1153,7 +1158,7 @@ class InstallWizard(BaseWizard, Widget):
def show_message(self, msg): self.show_error(msg)
def show_error(self, msg):
app = App.get_running_app()
app = App.get_running_app() # type: ElectrumWindow
Clock.schedule_once(lambda dt: app.show_error(msg))
def request_password(self, run_next, force_disable_encrypt_cb=False):