URI: 
       tshow btc balance (no fiat balance yet) - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 39d765f122919377338ad11b4d9d551e852554f4
   DIR parent 64de7e55cc63e2c3300f4a23f8b91eaad70c80cc
  HTML Author: Amir Taaki <genjix@riseup.net>
       Date:   Wed, 27 Jun 2012 23:06:00 +0200
       
       show btc balance (no fiat balance yet)
       
       Diffstat:
         M electrum                            |       2 +-
         M lib/gui_lite.py                     |      92 ++++++++++++++++++++++++++++---
       
       2 files changed, 85 insertions(+), 9 deletions(-)
       ---
   DIR diff --git a/electrum b/electrum
       t@@ -140,7 +140,7 @@ if __name__ == '__main__':
                    try:
                        import lib.gui_lite as gui
                    except ImportError:
       -                import electrum.gui_life as gui
       +                import electrum.gui_lite as gui
                else:
                    print "unknown gui", options.gui
                    exit(1)
   DIR diff --git a/lib/gui_lite.py b/lib/gui_lite.py
       t@@ -10,14 +10,20 @@ def IconButton(filename, parent=None):
            return QPushButton(icon, "", parent)
        
        class ElectrumGui:
       +
            def __init__(self, wallet):
                self.wallet = wallet
       +        self.app = QApplication(sys.argv)
       +        with open("data/style.css") as style_file:
       +            self.app.setStyleSheet(style_file.read())
        
            def main(self, url):
       -        print url
       -        # Do nothing.
       +        mini = MiniWindow()
       +        driver = MiniDriver(self.wallet, mini)
       +        sys.exit(self.app.exec_())
        
        class MiniWindow(QDialog):
       +
            def __init__(self):
                super(MiniWindow, self).__init__()
        
       t@@ -45,8 +51,9 @@ class MiniWindow(QDialog):
                expand_button = IconButton("data/icons/expand.png")
                expand_button.setObjectName("expand_button")
        
       -        balance_label = BalanceLabel("80.00", "60.00", "EUR")
       -        balance_label.setObjectName("balance_label")
       +        self.balance_label = BalanceLabel()
       +        self.balance_label.set_balances("80.00", "60.00", "EUR")
       +        self.balance_label.setObjectName("balance_label")
        
                copy_button = QPushButton(_("&Copy Address"))
                copy_button.setObjectName("copy_button")
       t@@ -79,7 +86,7 @@ class MiniWindow(QDialog):
                main_layout.addWidget(interact_button, 1, 0)
                main_layout.addWidget(expand_button, 2, 0)
        
       -        main_layout.addWidget(balance_label, 0, 1)
       +        main_layout.addWidget(self.balance_label, 0, 1)
                main_layout.addWidget(copy_button, 0, 2)
        
                main_layout.addLayout(address_layout, 1, 1, 1, -1)
       t@@ -97,13 +104,27 @@ class MiniWindow(QDialog):
                super(MiniWindow, self).closeEvent(event)
                qApp.quit()
        
       +    def activate(self):
       +        pass
       +
       +    def deactivate(self):
       +        pass
       +
       +    def set_balances(self, btc_balance, quote_balance, quote_currency):
       +        self.balance_label.set_balances( \
       +            btc_balance, quote_balance, quote_currency)
       +
        class BalanceLabel(QLabel):
       -    def __init__(self, btc_balance,
       -                 quote_balance, quote_currency, parent=None):
       +
       +    def __init__(self, parent=None):
       +        super(QLabel, self).__init__("Connecting...", parent)
       +
       +    def set_balances(self, btc_balance, quote_balance, quote_currency):
                label_text = "<span style='font-size: 16pt'>%s</span> <span style='font-size: 10pt'>BTC</span> <span style='font-size: 10pt'>(%s %s)</span>"%(btc_balance, quote_balance, quote_currency)
       -        super(QLabel, self).__init__(label_text, parent)
       +        self.setText(label_text)
        
        class TextedLineEdit(QLineEdit):
       +
            def __init__(self, inactive_text, parent=None):
                super(QLineEdit, self).__init__(parent)
                self.inactive_text = inactive_text
       t@@ -135,6 +156,61 @@ class TextedLineEdit(QLineEdit):
                # also possible but more expensive:
                #qApp.setStyleSheet(qApp.styleSheet())
        
       +class MiniDriver:
       +
       +    INITIALIZING = 0
       +    CONNECTING = 1
       +    SYNCHRONIZING = 2
       +    READY = 3
       +
       +    def __init__(self, wallet, window):
       +        self.wallet = wallet
       +        self.window = window
       +
       +        self.wallet.gui_callback = self.update
       +
       +        self.state = None
       +        self.update()
       +
       +    def update(self):
       +        if not self.wallet.interface:
       +            self.initializing()
       +        elif not self.wallet.interface.is_connected:
       +            self.connecting()
       +        elif not self.wallet.blocks == -1:
       +            self.connecting()
       +        elif not self.wallet.is_up_to_date:
       +            self.synchronizing()
       +        else:
       +            self.ready()
       +
       +    def initializing(self):
       +        if self.state == self.INITIALIZING:
       +            return
       +        self.state = self.INITIALIZING
       +        self.window.deactivate()
       +
       +    def connecting(self):
       +        if self.state == self.CONNECTING:
       +            return
       +        self.state = self.CONNECTING
       +        self.window.deactivate()
       +
       +    def synchronizing(self):
       +        if self.state == self.SYNCHRONIZING:
       +            return
       +        self.state = self.SYNCHRONIZING
       +        self.window.deactivate()
       +
       +    def ready(self):
       +        if self.state == self.READY:
       +            return
       +        self.state = self.READY
       +        self.window.activate()
       +        conf_balance, unconf_balance = self.wallet.get_balance()
       +        balance = conf_balance if unconf_balance is None else unconf_balance
       +        self.window.set_balances(balance, 0, 'EUR')
       +
        if __name__ == "__main__":
            app = QApplication(sys.argv)
            with open("data/style.css") as style_file: