@ -12,6 +12,7 @@ import sys
import time
import wallet
import webbrowser
import history_widget
try :
import lib . gui_qt as gui_qt
@ -174,16 +175,33 @@ class MiniWindow(QDialog):
main_layout . addWidget ( self . amount_input , 2 , 0 )
main_layout . addWidget ( self . send_button , 2 , 1 )
self . history_list = history_widget . HistoryWidget ( )
self . history_list . setObjectName ( " history " )
self . history_list . hide ( )
self . history_list . setAlternatingRowColors ( True )
main_layout . addWidget ( self . history_list , 3 , 0 , 1 , - 1 )
menubar = QMenuBar ( )
electrum_menu = menubar . addMenu ( _ ( " &Bitcoin " ) )
#electrum_menu.addMenu(_("&Servers"))
#electrum_menu.addSeparator()
electrum_menu . addAction ( _ ( " &Quit " ) )
view_menu = menubar . addMenu ( _ ( " &View " ) )
expert_gui = view_menu . addAction ( _ ( " &Pro Mode " ) )
self . connect ( expert_gui , SIGNAL ( " triggered() " ) , expand_callback )
show_history = view_menu . addAction ( _ ( " Show History " ) )
show_history . setCheckable ( True )
self . connect ( show_history , SIGNAL ( " toggled(bool) " ) , self . show_history )
help_menu = menubar . addMenu ( _ ( " &Help " ) )
the_website = help_menu . addAction ( _ ( " &Website " ) )
self . connect ( the_website , SIGNAL ( " triggered() " ) , self . the_website )
help_menu . addSeparator ( )
report_bug = help_menu . addAction ( _ ( " &Report Bug " ) )
self . connect ( report_bug , SIGNAL ( " triggered() " ) , self . show_report_bug )
show_about = help_menu . addAction ( _ ( " &About " ) )
self . connect ( show_about , SIGNAL ( " triggered() " ) , self . show_about )
main_layout . setMenuBar ( menubar )
quit_shortcut = QShortcut ( QKeySequence ( " Ctrl+Q " ) , self )
@ -309,9 +327,18 @@ class MiniWindow(QDialog):
def update_completions ( self , completions ) :
self . address_completions . setStringList ( completions )
def update_history ( self , tx_history ) :
for tx in tx_history [ - 10 : ] :
address = tx [ " default_label " ]
amount = D ( tx [ " value " ] ) / 10 * * 8
self . history_list . append ( address , amount )
def acceptbit ( self ) :
self . actuator . acceptbit ( self . quote_currencies [ 0 ] )
def the_website ( self ) :
webbrowser . open ( " http://electrum-desktop.com " )
def show_about ( self ) :
QMessageBox . about ( self , " Electrum " ,
_ ( " Electrum ' s focus is speed, with low resource usage and simplifying Bitcoin. You do not need to perform regular backups, because your wallet can be recovered from a secret phrase that you can memorize or write on paper. Startup times are instant because it operates in conjuction with high-performance servers that handle the most complicated parts of the Bitcoin system. " ) )
@ -320,6 +347,12 @@ class MiniWindow(QDialog):
QMessageBox . information ( self , " Electrum - " + _ ( " Reporting Bugs " ) ,
_ ( " Email bug reports to %s " ) % " genjix " + " @ " + " riseup.net " )
def show_history ( self , toggle_state ) :
if toggle_state :
self . history_list . show ( )
else :
self . history_list . hide ( )
class BalanceLabel ( QLabel ) :
SHOW_CONNECTING = 1
@ -565,6 +598,7 @@ class MiniDriver(QObject):
if self . wallet . up_to_date :
self . update_balance ( )
self . update_completions ( )
self . update_history ( )
def initializing ( self ) :
if self . state == self . INITIALIZING :
@ -603,6 +637,10 @@ class MiniDriver(QObject):
completions = completions + self . wallet . aliases . keys ( )
self . window . update_completions ( completions )
def update_history ( self ) :
tx_history = self . wallet . get_tx_history ( )
self . window . update_history ( tx_history )
if __name__ == " __main__ " :
app = QApplication ( sys . argv )
with open ( rsrc ( " style.css " ) ) as style_file :