URI: 
       tkivy: - simplify menu - add lightning network dialog - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 7b5869c7bcd058ab8b8b1b2428c288e9f658863d
   DIR parent 2dd368e76e2bc22d500fe8d35a9b2b6f91e60708
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Tue, 22 Oct 2019 22:56:17 +0200
       
       kivy:
        - simplify menu
        - add lightning network dialog
       
       Diffstat:
         M electrum/gui/kivy/main.kv           |      33 +++++++++++++++++++------------
         M electrum/gui/kivy/main_window.py    |      17 +++++++++++++++++
         A electrum/gui/kivy/uix/ui_screens/l… |      28 ++++++++++++++++++++++++++++
       
       3 files changed, 65 insertions(+), 13 deletions(-)
       ---
   DIR diff --git a/electrum/gui/kivy/main.kv b/electrum/gui/kivy/main.kv
       t@@ -421,35 +421,41 @@ BoxLayout:
                ActionView:
                    id: av
                    ActionPrevious:
       -                app_icon: 'atlas://electrum/gui/kivy/theming/light/logo'
       -                app_icon_width: '100dp'
                        with_previous: False
       -                size_hint_x: None
       -                on_release: app.popup_dialog('network')
       +                size_hint: None, None
       +                size: 0, 0
        
                    ActionButton:
       -                id: action_status
       -                important: True
       -                size_hint: 1, 1
       +                size_hint_x: 0.5
       +                text: app.wallet_name
                        bold: True
                        color: 0.7, 0.7, 0.7, 1
       -                text: app.wallet_name
                        font_size: '22dp'
       -                #minimum_width: '1dp'
       -                on_release: app.popup_dialog('status')
       +                on_release:
       +                    Clock.schedule_once(lambda dt: app.popup_dialog('wallets'), 0.05)
       +                    self.state = 'normal'
       +
       +            ActionButton:
       +                size_hint_x: 0.4
       +                text: ''
       +                opacity:0
        
                    ActionOverflow:
                        id: ao
       +                size_hint_x: 0.15
                        ActionOvrButton:
                            name: 'about'
                            text: _('About')
                        ActionOvrButton:
       -                    name: 'wallets'
       -                    text: _('Wallets')
       -                ActionOvrButton:
                            name: 'network'
                            text: _('Network')
                        ActionOvrButton:
       +                    name: 'lightning'
       +                    text: _('Lightning')
       +                ActionOvrButton:
       +                    name: 'status'
       +                    text: _('Wallet Info')
       +                ActionOvrButton:
                            name: 'addresses_dialog'
                            text: _('Addresses')
                        ActionOvrButton:
       t@@ -462,6 +468,7 @@ BoxLayout:
                                # when widget overflow drop down is shown, adjust the width
                                parent = args[1]
                                if parent: ao._dropdown.width = sp(200)
       +
            ScreenManager:
                id: manager
                ScreenTabs:
   DIR diff --git a/electrum/gui/kivy/main_window.py b/electrum/gui/kivy/main_window.py
       t@@ -104,6 +104,11 @@ class ElectrumWindow(App):
            is_fiat = BooleanProperty(False)
            blockchain_forkpoint = NumericProperty(0)
        
       +    lightning_gossip_num_peers = NumericProperty(0)
       +    lightning_gossip_num_nodes = NumericProperty(0)
       +    lightning_gossip_num_channels = NumericProperty(0)
       +    lightning_gossip_num_queries = NumericProperty(0)
       +
            auto_connect = BooleanProperty(False)
            def on_auto_connect(self, instance, x):
                net_params = self.network.get_parameters()
       t@@ -561,6 +566,9 @@ class ElectrumWindow(App):
                    self.network.register_callback(self.on_channel, ['channel'])
                    self.network.register_callback(self.on_invoice_status, ['invoice_status'])
                    self.network.register_callback(self.on_request_status, ['request_status'])
       +            self.network.register_callback(self.on_channel_db, ['channel_db'])
       +            self.network.register_callback(self.set_num_peers, ['gossip_peers'])
       +            self.network.register_callback(self.set_unknown_channels, ['unknown_channels'])
                # load wallet
                self.load_wallet_by_name(self.electrum_config.get_wallet_path(use_gui_last_wallet=True))
                # URI passed in config
       t@@ -568,6 +576,15 @@ class ElectrumWindow(App):
                if uri:
                    self.set_URI(uri)
        
       +    def on_channel_db(self, event, num_nodes, num_channels, num_policies):
       +        self.lightning_gossip_num_nodes = num_nodes
       +        self.lightning_gossip_num_channels = num_channels
       +
       +    def set_num_peers(self, event, num_peers):
       +        self.lightning_gossip_num_peers = num_peers
       +
       +    def set_unknown_channels(self, event, unknown):
       +        self.lightning_gossip_num_queries = unknown
        
            def get_wallet_path(self):
                if self.wallet:
   DIR diff --git a/electrum/gui/kivy/uix/ui_screens/lightning.kv b/electrum/gui/kivy/uix/ui_screens/lightning.kv
       t@@ -0,0 +1,28 @@
       +Popup:
       +    id: ln
       +    title: _('Lightning Network')
       +    BoxLayout:
       +        orientation: 'vertical'
       +        ScrollView:
       +            GridLayout:
       +                id: scrollviewlayout
       +                cols:1
       +                size_hint: 1, None
       +                height: self.minimum_height
       +                padding: '10dp'
       +                SettingsItem:
       +                    value: _("{} connections.").format(app.lightning_gossip_num_peers) if app.lightning_gossip_num_peers else _("Not connected")
       +                    title: _("Gossip") + ': ' + self.value
       +                    description: _("Connections with lightning nodes")
       +                CardSeparator
       +                SettingsItem:
       +                    title: _("Nodes") + ': ' + str(app.lightning_gossip_num_nodes)
       +                    description: _("Nodes in database.")
       +                CardSeparator
       +                SettingsItem:
       +                    title: _("Channels") + ': ' + str(app.lightning_gossip_num_channels)
       +                    description: _("Channels in database.")
       +                CardSeparator
       +                SettingsItem:
       +                    title: _("Pending") + ': ' + str(app.lightning_gossip_num_queries)
       +                    description: _("Channel updates to query.")