@ -61,7 +61,7 @@ from .fee_slider import FeeSlider
from . util import *
from electrum . util import profiler
from electrum . util import profiler , export_meta , import_meta
class StatusBarButton ( QPushButton ) :
def __init__ ( self , icon , tooltip , func ) :
@ -484,8 +484,10 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
contacts_menu = wallet_menu . addMenu ( _ ( " Contacts " ) )
contacts_menu . addAction ( _ ( " &New " ) , self . new_contact_dialog )
contacts_menu . addAction ( _ ( " Import " ) , lambda : self . contact_list . import_contacts ( ) )
contacts_menu . addAction ( _ ( " Export " ) , lambda : self . contact_list . export_contacts ( ) )
invoices_menu = wallet_menu . addMenu ( _ ( " Invoices " ) )
invoices_menu . addAction ( _ ( " Import " ) , lambda : self . invoice_list . import_invoices ( ) )
invoices_menu . addAction ( _ ( " Export " ) , lambda : self . invoice_list . export_invoices ( ) )
wallet_menu . addSeparator ( )
wallet_menu . addAction ( _ ( " Find " ) , self . toggle_search ) . setShortcut ( QKeySequence ( " Ctrl+F " ) )
@ -2417,29 +2419,23 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
f . write ( json . dumps ( pklist , indent = 4 ) )
def do_import_labels ( self ) :
labelsFile = self . getOpenFileName ( _ ( " Open labels file " ) , " *.json " )
if not labelsFile : retur n
try :
with open ( labelsFile , ' r ' ) as f :
data = f . read ( )
for key , value in json . loads ( data ) . items ( ) :
def import_labels ( path ) :
#TODO: Import labels validatio n
def import_labels_validate ( data ) :
return data
def import_labels_assign ( data ) :
for key , value in data . items ( ) :
self . wallet . set_label ( key , value )
self . show_message ( _ ( " Your labels were imported from " ) + " ' %s ' " % str ( labelsFile ) )
except ( IOError , os . error ) as reason :
self . show_critical ( _ ( " Electrum was unable to import your labels. " ) + " \n " + str ( reason ) )
import_meta ( path , import_labels_validate , import_labels_assign )
def on_import ( ) :
self . address_list . update ( )
self . history_list . update ( )
import_meta_gui ( self , _ ( ' labels ' ) , import_labels , on_import )
def do_export_labels ( self ) :
labels = self . wallet . labels
try :
fileName = self . getSaveFileName ( _ ( " Select file to save your labels " ) , ' electrum_labels.json ' , " *.json " )
if fileName :
with open ( fileName , ' w+ ' ) as f :
json . dump ( labels , f , indent = 4 , sort_keys = True )
self . show_message ( _ ( " Your labels were exported to " ) + " ' %s ' " % str ( fileName ) )
except ( IOError , os . error ) as reason :
self . show_critical ( _ ( " Electrum was unable to export your labels. " ) + " \n " + str ( reason ) )
def export_labels ( filename ) :
export_meta ( self . wallet . labels , filename )
export_meta_gui ( self , _ ( ' labels ' ) , export_labels )
def sweep_key_dialog ( self ) :
d = WindowModalDialog ( self , title = _ ( ' Sweep private keys ' ) )