Example #1
0
 def __init__(self, config, daemon, plugins):
     set_language(config.get('language'))
     # Uncomment this call to verify objects are being properly
     # GC-ed when windows are closed
     #network.add_jobs([DebugMem([Abstract_Wallet, SPV, Synchronizer,
     #                            ElectrumWindow], interval=5)])
     QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_X11InitThreads)
     if hasattr(QtCore.Qt, "AA_ShareOpenGLContexts"):
         QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_ShareOpenGLContexts)
     if hasattr(QGuiApplication, 'setDesktopFileName'):
         QGuiApplication.setDesktopFileName('electrum.desktop')
     self.config = config
     self.daemon = daemon
     self.plugins = plugins
     self.windows = []
     self.efilter = OpenFileEventFilter(self.windows)
     self.app = QElectrumApplication(sys.argv)
     self.app.installEventFilter(self.efilter)
     self.timer = Timer()
     self.nd = None
     self.network_updated_signal_obj = QNetworkUpdatedSignalObject()
     self._num_wizards_in_progress = 0
     self._num_wizards_lock = threading.Lock()
     # init tray
     self.dark_icon = self.config.get("dark_icon", False)
     self.tray = QSystemTrayIcon(self.tray_icon(), None)
     self.tray.setToolTip('Electrum')
     self.tray.activated.connect(self.tray_activated)
     self.build_tray_menu()
     self.tray.show()
     self.app.new_window_signal.connect(self.start_new_window)
     self.set_dark_theme_if_needed()
     run_hook('init_qt', self)
Example #2
0
    def init_ui(self):
        ''' Initialize The Ux part of electrum. This function performs the basic
        tasks of setting up the ui.
        '''
        from weakref import ref
        set_language(self.electrum_config.get('language'))

        self.funds_error = False
        # setup UX
        self.screens = {}

        #setup lazy imports for mainscreen
        Factory.register('AnimatedPopup',
                         module='electrum_gui.kivy.uix.dialogs')
        Factory.register('QRCodeWidget',
                         module='electrum_gui.kivy.uix.qrcodewidget')

        # preload widgets. Remove this if you want to load the widgets on demand
        #Cache.append('electrum_widgets', 'AnimatedPopup', Factory.AnimatedPopup())
        #Cache.append('electrum_widgets', 'QRCodeWidget', Factory.QRCodeWidget())

        # load and focus the ui
        self.root.manager = self.root.ids['manager']
        self.recent_activity_card = None
        self.history_screen = None
        self.contacts_screen = None

        self.icon = "icons/electrum.png"

        # connect callbacks
        if self.network:
            interests = ['updated', 'status', 'new_transaction']
            self.network.register_callback(self.on_network, interests)

        self.wallet = None
Example #3
0
 def __init__(self, config, network, daemon, plugins):
     set_language(config.get('language'))
     # Uncomment this call to verify objects are being properly
     # GC-ed when windows are closed
     #network.add_jobs([DebugMem([Abstract_Wallet, SPV, Synchronizer,
     #                            ElectrumWindow], interval=5)])
     self.network = network
     self.config = config
     self.daemon = daemon
     self.plugins = plugins
     self.windows = []
     self.efilter = OpenFileEventFilter(self.windows)
     self.app = QApplication(sys.argv)
     self.app.installEventFilter(self.efilter)
     self.timer = Timer()
     # shared objects
     self.invoices = InvoiceStore(self.config)
     self.contacts = Contacts(self.config)
     # init tray
     self.dark_icon = self.config.get("dark_icon", False)
     self.tray = QSystemTrayIcon(self.tray_icon(), None)
     self.tray.setToolTip('Electrum')
     self.tray.activated.connect(self.tray_activated)
     self.build_tray_menu()
     self.tray.show()
     self.app.connect(self.app, QtCore.SIGNAL('new_window'), self.start_new_window)
Example #4
0
 def __init__(self, config, daemon, plugins):
     set_language(config.get('language'))
     # Uncomment this call to verify objects are being properly
     # GC-ed when windows are closed
     #network.add_jobs([DebugMem([Abstract_Wallet, SPV, Synchronizer,
     #                            ElectrumWindow], interval=5)])
     QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_X11InitThreads)
     self.config = config
     self.daemon = daemon
     self.plugins = plugins
     self.windows = []
     self.efilter = OpenFileEventFilter(self.windows)
     self.app = QElectrumApplication(sys.argv)
     self.app.installEventFilter(self.efilter)
     self.timer = Timer()
     self.nd = None
     self.network_updated_signal_obj = QNetworkUpdatedSignalObject()
     # init tray
     self.dark_icon = self.config.get("dark_icon", False)
     self.tray = QSystemTrayIcon(self.tray_icon(), None)
     self.tray.setToolTip('Electrum')
     self.tray.activated.connect(self.tray_activated)
     self.build_tray_menu()
     self.tray.show()
     self.app.new_window_signal.connect(self.start_new_window)
     run_hook('init_qt', self)
     ColorScheme.update_from_widget(QWidget())
Example #5
0
    def init_ui(self):
        ''' Initialize The Ux part of electrum. This function performs the basic
        tasks of setting up the ui.
        '''
        global ref
        if not ref:
            from weakref import ref

        set_language(self.electrum_config.get('language'))

        self.funds_error = False
        self.completions = []

        # setup UX
        self.screens = ['mainscreen',]

        #setup lazy imports for mainscreen
        Factory.register('AnimatedPopup',
                         module='electrum_gui.kivy.uix.dialogs')
        Factory.register('TabbedCarousel',
                         module='electrum_gui.kivy.uix.screens')
        Factory.register('ScreenDashboard',
                         module='electrum_gui.kivy.uix.screens')
        #Factory.register('EffectWidget',
        #                 module='electrum_gui.kivy.uix.effectwidget')
        Factory.register('QRCodeWidget',
                         module='electrum_gui.kivy.uix.qrcodewidget')
        Factory.register('MainScreen',
                         module='electrum_gui.kivy.uix.screens')
        Factory.register('CSpinner',
                         module='electrum_gui.kivy.uix.screens')

        # preload widgets. Remove this if you want to load the widgets on demand
        Cache.append('electrum_widgets', 'AnimatedPopup', Factory.AnimatedPopup())
        Cache.append('electrum_widgets', 'TabbedCarousel', Factory.TabbedCarousel())
        Cache.append('electrum_widgets', 'QRCodeWidget', Factory.QRCodeWidget())
        Cache.append('electrum_widgets', 'CSpinner', Factory.CSpinner())

        # load and focus the ui
        #Load mainscreen
        dr = Builder.load_file('gui/kivy/uix/ui_screens/mainscreen.kv')
        self.root.add_widget(dr)
        self.root.manager = manager = dr.ids.manager
        self.root.main_screen = m = manager.screens[0]
        self.tabs = m.ids.tabs

        #TODO
        # load left_menu

        self.icon = "icons/electrum.png"

        # connect callbacks
        if self.network:
            self.network.register_callback('updated', self._trigger_update_wallet)
            self.network.register_callback('status', self._trigger_update_status)
            self.network.register_callback('new_transaction', self._trigger_notify_transactions)

        self.wallet = None
Example #6
0
 def __init__(self, config, network, app=None):
     set_language(config.get('language'))
     self.network = network
     self.config = config
     self.windows = []
     self.efilter = OpenFileEventFilter(self.windows)
     if app is None:
         self.app = QApplication(sys.argv)
     self.app.installEventFilter(self.efilter)
Example #7
0
 def __init__(self, config, network, app=None):
     set_language(config.get('language'))
     self.network = network
     self.config = config
     self.windows = []
     self.efilter = OpenFileEventFilter(self.windows)
     if app is None:
         self.app = QApplication(sys.argv)
     self.app.installEventFilter(self.efilter)
     # let plugins know that we are using the qt gui
     always_hook('init_qt_app', self.app)
Example #8
0
    def __init__(self, config, network):
        set_language(config.get('language'))
        self.network = network
        self.config = config
        self.windows = {}
        self.efilter = OpenFileEventFilter(self.windows)
        self.app = QApplication(sys.argv)
        self.app.installEventFilter(self.efilter)
        self.timer = Timer()

        self.app.connect(self.app, QtCore.SIGNAL('new_window'), self.start_new_window)
Example #9
0
    def __init__(self, *, config: 'SimpleConfig', daemon: 'Daemon',
                 plugins: 'Plugins'):
        set_language(config.get('language', get_default_language()))
        BaseElectrumGui.__init__(self,
                                 config=config,
                                 daemon=daemon,
                                 plugins=plugins)
        Logger.__init__(self)
        self.logger.info(
            f"Qt GUI starting up... Qt={QtCore.QT_VERSION_STR}, PyQt={QtCore.PYQT_VERSION_STR}"
        )
        # Uncomment this call to verify objects are being properly
        # GC-ed when windows are closed
        #network.add_jobs([DebugMem([Abstract_Wallet, SPV, Synchronizer,
        #                            ElectrumWindow], interval=5)])
        QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_X11InitThreads)
        if hasattr(QtCore.Qt, "AA_ShareOpenGLContexts"):
            QtCore.QCoreApplication.setAttribute(
                QtCore.Qt.AA_ShareOpenGLContexts)
        if hasattr(QGuiApplication, 'setDesktopFileName'):
            QGuiApplication.setDesktopFileName('electrum.desktop')
        self.gui_thread = threading.current_thread()
        self.windows = []  # type: List[ElectrumWindow]
        self.efilter = OpenFileEventFilter(self.windows)
        self.app = QElectrumApplication(sys.argv)
        self.app.installEventFilter(self.efilter)
        self.app.setWindowIcon(read_QIcon("electrum.png"))
        self._cleaned_up = False
        # timer
        self.timer = QTimer(self.app)
        self.timer.setSingleShot(False)
        self.timer.setInterval(500)  # msec

        self.network_dialog = None
        self.lightning_dialog = None
        self.watchtower_dialog = None
        self._num_wizards_in_progress = 0
        self._num_wizards_lock = threading.Lock()
        self.dark_icon = self.config.get("dark_icon", False)
        self.tray = None
        self._init_tray()
        self.app.new_window_signal.connect(self.start_new_window)
        self.app.quit_signal.connect(self.app.quit, Qt.QueuedConnection)
        # maybe set dark theme
        self._default_qtstylesheet = self.app.styleSheet()
        self.reload_app_stylesheet()

        run_hook('init_qt', self)
Example #10
0
    def __init__(self, config: 'SimpleConfig', daemon: 'Daemon',
                 plugins: 'Plugins'):
        set_language(config.get('language', get_default_language()))
        Logger.__init__(self)
        self.logger.info(
            f"Qt GUI starting up... Qt={QtCore.QT_VERSION_STR}, PyQt={QtCore.PYQT_VERSION_STR}"
        )
        # Uncomment this call to verify objects are being properly
        # GC-ed when windows are closed
        #network.add_jobs([DebugMem([Abstract_Wallet, SPV, Synchronizer,
        #                            ElectrumWindow], interval=5)])
        QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_X11InitThreads)
        if hasattr(QtCore.Qt, "AA_ShareOpenGLContexts"):
            QtCore.QCoreApplication.setAttribute(
                QtCore.Qt.AA_ShareOpenGLContexts)
        if hasattr(QGuiApplication, 'setDesktopFileName'):
            QGuiApplication.setDesktopFileName('electrum.desktop')
        self.gui_thread = threading.current_thread()
        self.config = config
        self.daemon = daemon
        self.plugins = plugins
        self.windows = []  # type: List[ElectrumWindow]
        self.efilter = OpenFileEventFilter(self.windows)
        self.app = QElectrumApplication(sys.argv)
        self.app.installEventFilter(self.efilter)
        self.app.setWindowIcon(read_QIcon("electrum.png"))
        # timer
        self.timer = QTimer(self.app)
        self.timer.setSingleShot(False)
        self.timer.setInterval(500)  # msec

        self.network_dialog = None
        self.lightning_dialog = None
        self.watchtower_dialog = None
        self.network_updated_signal_obj = QNetworkUpdatedSignalObject()
        self._num_wizards_in_progress = 0
        self._num_wizards_lock = threading.Lock()
        # init tray
        self.dark_icon = self.config.get("dark_icon", False)
        self.tray = QSystemTrayIcon(self.tray_icon(), None)
        self.tray.setToolTip('Electrum')
        self.tray.activated.connect(self.tray_activated)
        self.build_tray_menu()
        self.tray.show()
        self.app.new_window_signal.connect(self.start_new_window)
        self.set_dark_theme_if_needed()
        run_hook('init_qt', self)
Example #11
0
    def __init__(self, config: 'SimpleConfig', daemon: 'Daemon',
                 plugins: 'Plugins'):
        set_language(config.get('language', self.get_default_language()))
        Logger.__init__(self)
        #os.environ['QML_IMPORT_TRACE'] = '1'
        #os.environ['QT_DEBUG_PLUGINS'] = '1'

        self.logger.info(
            f"Qml GUI starting up... Qt={QtCore.QT_VERSION_STR}, PyQt={QtCore.PYQT_VERSION_STR}"
        )
        self.logger.info("CWD=%s" % os.getcwd())
        # Uncomment this call to verify objects are being properly
        # GC-ed when windows are closed
        #network.add_jobs([DebugMem([Abstract_Wallet, SPV, Synchronizer,
        #                            ElectrumWindow], interval=5)])
        QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_X11InitThreads)
        if hasattr(QtCore.Qt, "AA_ShareOpenGLContexts"):
            QtCore.QCoreApplication.setAttribute(
                QtCore.Qt.AA_ShareOpenGLContexts)
        if hasattr(QGuiApplication, 'setDesktopFileName'):
            QGuiApplication.setDesktopFileName('electrum.desktop')
        if hasattr(QtCore.Qt, "AA_EnableHighDpiScaling"):
            QtCore.QCoreApplication.setAttribute(
                QtCore.Qt.AA_EnableHighDpiScaling)

        if not "QT_QUICK_CONTROLS_STYLE" in os.environ:
            os.environ["QT_QUICK_CONTROLS_STYLE"] = "Material"

        self.gui_thread = threading.current_thread()
        self.plugins = plugins
        self.app = ElectrumQmlApplication(sys.argv, config, daemon)
        # timer
        self.timer = QTimer(self.app)
        self.timer.setSingleShot(False)
        self.timer.setInterval(500)  # msec
        self.timer.timeout.connect(
            lambda: None)  # periodically enter python scope

        sys.excepthook = self.excepthook
        threading.excepthook = self.texcepthook

        # Initialize any QML plugins
        run_hook('init_qml', self)
        self.app.engine.load('electrum/gui/qml/components/main.qml')
Example #12
0
    def __init__(self, config, daemon, plugins):
        # Uncomment 2L below for Japanese version.
        #if config.get('auto_connect') is None:
        #    config.set_key("language", "ja_JP", True)
        set_language(config.get('language', get_default_language()))
        # Uncomment this call to verify objects are being properly
        # GC-ed when windows are closed
        #network.add_jobs([DebugMem([Abstract_Wallet, SPV, Synchronizer,
        #                            ElectrumWindow], interval=5)])
        QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_X11InitThreads)
        if hasattr(QtCore.Qt, "AA_ShareOpenGLContexts"):
            QtCore.QCoreApplication.setAttribute(
                QtCore.Qt.AA_ShareOpenGLContexts)
        if hasattr(QGuiApplication, 'setDesktopFileName'):
            QGuiApplication.setDesktopFileName('electrum.desktop')
        self.gui_thread = threading.current_thread()
        self.config = config
        self.daemon = daemon
        self.plugins = plugins
        self.windows = []
        self.efilter = OpenFileEventFilter(self.windows)
        self.app = QElectrumApplication(sys.argv)
        self.app.installEventFilter(self.efilter)
        self.app.setWindowIcon(read_QIcon("electrum.png"))
        # timer
        self.timer = QTimer(self.app)
        self.timer.setSingleShot(False)
        self.timer.setInterval(500)  # msec

        self.nd = None
        self.network_updated_signal_obj = QNetworkUpdatedSignalObject()
        self._num_wizards_in_progress = 0
        self._num_wizards_lock = threading.Lock()
        # init tray
        self.dark_icon = self.config.get("dark_icon", False)
        self.tray = QSystemTrayIcon(self.tray_icon(), None)
        self.tray.setToolTip('Electrum')
        self.tray.activated.connect(self.tray_activated)
        self.build_tray_menu()
        self.tray.show()
        self.app.new_window_signal.connect(self.start_new_window)
        self.set_dark_theme_if_needed()
        run_hook('init_qt', self)
Example #13
0
    def init_ui(self):
        ''' Initialize The Ux part of electrum. This function performs the basic
        tasks of setting up the ui.
        '''
        global ref
        if not ref:
            from weakref import ref

        set_language(self.electrum_config.get('language'))

        self.funds_error = False
        self.completions = []

        # setup UX
        self.screens = {}

        #setup lazy imports for mainscreen
        Factory.register('AnimatedPopup',
                         module='electrum_gui.kivy.uix.dialogs')
        Factory.register('QRCodeWidget',
                         module='electrum_gui.kivy.uix.qrcodewidget')

        # preload widgets. Remove this if you want to load the widgets on demand
        #Cache.append('electrum_widgets', 'AnimatedPopup', Factory.AnimatedPopup())
        #Cache.append('electrum_widgets', 'QRCodeWidget', Factory.QRCodeWidget())

        # load and focus the ui
        self.root.manager = self.root.ids['manager']
        self.recent_activity_card = None
        self.history_screen = None
        self.contacts_screen = None

        self.icon = "icons/electrum.png"

        # connect callbacks
        if self.network:
            self.network.register_callback('updated', self._trigger_update_wallet)
            self.network.register_callback('status', self._trigger_update_status)
            self.network.register_callback('new_transaction', self._trigger_notify_transactions)

        self.wallet = None
Example #14
0
 def __init__(self, config, network, plugins):
     set_language(config.get('language'))
     self.network = network
     self.config = config
     self.plugins = plugins
     self.windows = []
     self.efilter = OpenFileEventFilter(self.windows)
     self.app = QApplication(sys.argv)
     self.app.installEventFilter(self.efilter)
     self.timer = Timer()
     # shared objects
     self.invoices = InvoiceStore(self.config)
     self.contacts = Contacts(self.config)
     # init tray
     self.dark_icon = self.config.get("dark_icon", False)
     self.tray = QSystemTrayIcon(self.tray_icon(), None)
     self.tray.setToolTip('Electrum')
     self.tray.activated.connect(self.tray_activated)
     self.build_tray_menu()
     self.tray.show()
     self.app.connect(self.app, QtCore.SIGNAL('new_window'), self.start_new_window)
Example #15
0
 def __init__(self, config, network, plugins):
     set_language(config.get('language'))
     self.network = network
     self.config = config
     self.plugins = plugins
     self.windows = []
     self.efilter = OpenFileEventFilter(self.windows)
     self.app = QApplication(sys.argv)
     self.app.installEventFilter(self.efilter)
     self.timer = Timer()
     # shared objects
     self.invoices = InvoiceStore(self.config)
     self.contacts = Contacts(self.config)
     # init tray
     self.dark_icon = self.config.get("dark_icon", False)
     self.tray = QSystemTrayIcon(self.tray_icon(), None)
     self.tray.setToolTip('Electrum')
     self.tray.activated.connect(self.tray_activated)
     self.build_tray_menu()
     self.tray.show()
     self.app.connect(self.app, QtCore.SIGNAL('new_window'),
                      self.start_new_window)
Example #16
0
 def __init__(self, config, daemon, plugins):
     set_language(config.get('language'))
     # Uncomment this call to verify objects are being properly
     # GC-ed when windows are closed
     #network.add_jobs([DebugMem([Abstract_Wallet, SPV, Synchronizer,
     #                            ElectrumWindow], interval=5)])
     self.config = config
     self.daemon = daemon
     self.plugins = plugins
     self.windows = []
     self.efilter = OpenFileEventFilter(self.windows)
     self.app = QApplication(sys.argv)
     self.app.installEventFilter(self.efilter)
     self.timer = Timer()
     self.nd = None
     # init tray
     self.dark_icon = self.config.get("dark_icon", False)
     self.tray = QSystemTrayIcon(self.tray_icon(), None)
     self.tray.setToolTip('Electrum')
     self.tray.activated.connect(self.tray_activated)
     self.build_tray_menu()
     self.tray.show()
     self.app.connect(self.app, QtCore.SIGNAL('new_window'), self.start_new_window)
     run_hook('init_qt', self)
Example #17
0
 def __init__(self, config, network, daemon, plugins):
     Logger.debug('ElectrumGUI: initialising')
     self.network = network
     self.config = config
     self.plugins = plugins
     set_language(config.get('language'))
Example #18
0
    def init_ui(self):
        """ Initialize The Ux part of electrum. This function performs the basic
        tasks of setting up the ui.
        """

        # unused?
        # self._close_electrum = False

        # self._tray_icon = 'icons/" + (electrum_dark_icon.png'\
        #     if platform == 'mac' else 'electrum_light_icon.png')

        # setup tray TODO: use the systray branch
        # self.tray = SystemTrayIcon(self.icon, self)
        # self.tray.setToolTip('Electrum')
        # self.tray.activated.connect(self.tray_activated)

        global ref
        if ref is None:
            from weakref import ref

            assert ref is not None
        set_language(self.electrum_config.get("language"))

        self.funds_error = False
        self.completions = []

        # setup UX
        self.screens = ["mainscreen"]

        # setup lazy imports for mainscreen
        Factory.register("AnimatedPopup", module="electrum_gui.kivy.uix.dialogs")
        Factory.register("TabbedCarousel", module="electrum_gui.kivy.uix.screens")
        Factory.register("ScreenDashboard", module="electrum_gui.kivy.uix.screens")
        # Factory.register('EffectWidget',
        #                 module='electrum_gui.kivy.uix.effectwidget')
        Factory.register("QRCodeWidget", module="electrum_gui.kivy.uix.qrcodewidget")
        Factory.register("MainScreen", module="electrum_gui.kivy.uix.screens")
        Factory.register("CSpinner", module="electrum_gui.kivy.uix.screens")

        # preload widgets. Remove this if you want to load the widgets on demand
        Cache.append("electrum_widgets", "AnimatedPopup", Factory.AnimatedPopup())
        Cache.append("electrum_widgets", "TabbedCarousel", Factory.TabbedCarousel())
        Cache.append("electrum_widgets", "QRCodeWidget", Factory.QRCodeWidget())
        Cache.append("electrum_widgets", "CSpinner", Factory.CSpinner())

        # load and focus the ui
        # Load mainscreen
        dr = Builder.load_file("gui/kivy/uix/ui_screens/mainscreen.kv")
        self.root.add_widget(dr)
        self.root.manager = manager = dr.ids.manager
        self.root.main_screen = m = manager.screens[0]
        self.tabs = m.ids.tabs

        # TODO
        # load left_menu

        self.icon = "icons/electrum.png"

        # connect callbacks
        if self.network:
            self.network.register_callback("updated", self._trigger_update_wallet)
            self.network.register_callback("status", self._trigger_update_status)
            self.network.register_callback("new_transaction", self._trigger_notify_transactions)

        self.wallet = None
Example #19
0
    def init_ui(self):
        ''' Initialize The Ux part of electrum. This function performs the basic
        tasks of setting up the ui.
        '''

        # unused?
        #self._close_electrum = False

        #self._tray_icon = 'icons/" + (electrum_dark_icon.png'\
        #    if platform == 'mac' else 'electrum_light_icon.png')

        #setup tray TODO: use the systray branch
        #self.tray = SystemTrayIcon(self.icon, self)
        #self.tray.setToolTip('Electrum')
        #self.tray.activated.connect(self.tray_activated)

        global ref
        if not ref:
            from weakref import ref

        set_language(self.electrum_config.get('language'))

        self.funds_error = False
        self.completions = []

        # setup UX
        self.screens = [
            'mainscreen',
        ]

        #setup lazy imports for mainscreen
        Factory.register('AnimatedPopup',
                         module='electrum_gui.kivy.uix.dialogs')
        Factory.register('TabbedCarousel',
                         module='electrum_gui.kivy.uix.screens')
        Factory.register('ScreenDashboard',
                         module='electrum_gui.kivy.uix.screens')
        #Factory.register('EffectWidget',
        #                 module='electrum_gui.kivy.uix.effectwidget')
        Factory.register('QRCodeWidget',
                         module='electrum_gui.kivy.uix.qrcodewidget')
        Factory.register('MainScreen', module='electrum_gui.kivy.uix.screens')
        Factory.register('CSpinner', module='electrum_gui.kivy.uix.screens')
        # preload widgets. Remove this if you want to load the widgets on demand
        Cache.append('electrum_widgets', 'AnimatedPopup',
                     Factory.AnimatedPopup())
        Cache.append('electrum_widgets', 'TabbedCarousel',
                     Factory.TabbedCarousel())
        Cache.append('electrum_widgets', 'QRCodeWidget',
                     Factory.QRCodeWidget())
        Cache.append('electrum_widgets', 'CSpinner', Factory.CSpinner())

        # load and focus the ui
        #Load mainscreen
        dr = Builder.load_file('gui/kivy/uix/ui_screens/mainscreen.kv')
        self.root.add_widget(dr)
        self.root.manager = manager = dr.ids.manager
        self.root.main_screen = m = manager.screens[0]
        self.tabs = m.ids.tabs

        #TODO
        # load left_menu

        self.icon = "icons/electrum.png"

        # connect callbacks
        if self.network:
            self.network.register_callback('updated',
                                           self._trigger_update_wallet)
            #self.network.register_callback('banner', self.console.show_message(self.network.banner))
            self.network.register_callback('disconnected',
                                           self._trigger_update_status)
            self.network.register_callback('disconnecting',
                                           self._trigger_update_status)
            self.network.register_callback('new_transaction',
                                           self._trigger_notify_transactions)

            # set initial message
            #self.console.show_message(self.network.banner)

        self.wallet = None
Example #20
0
 def cb(key):
     self.config.set_key("language", key, True)
     item.lang = self.get_language_name()
     set_language(key)
Example #21
0
 def on_change():
     language_abbreviation = language_abbreviations[cb.currentIndex()]
     set_language(language_abbreviation)
     self._set_gui_text()
     self.refresh_gui()
Example #22
0
 def __init__(self, config, network, plugins, app=None):
     Logger.debug('ElectrumGUI: initialising')
     self.network = network
     self.config = config
     self.plugins = plugins
     set_language(config.get('language'))
Example #23
0
 def cb(key):
     self.app.electrum_config.set_key("language", key, True)
     item.lang = self.get_language_name()
     set_language(key)