use QInputDialog for new filenames
This commit is contained in:
parent
a96a7c8db2
commit
f12760829f
@ -290,12 +290,34 @@ class ElectrumWindow(QMainWindow):
|
|||||||
self.load_wallet(wallet)
|
self.load_wallet(wallet)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def backup_wallet(self):
|
||||||
|
import shutil
|
||||||
|
path = self.wallet.storage.path
|
||||||
|
wallet_folder = os.path.dirname(path)
|
||||||
|
new_filename, ok = QInputDialog.getText(self, _('Filename'), _('Current directory') + ': ' + wallet_folder + '\n' + _('Enter a filename for the copy of your wallet') + ':')
|
||||||
|
new_filename = unicode(new_filename)
|
||||||
|
if not ok or not new_filename:
|
||||||
|
return
|
||||||
|
|
||||||
|
new_path = os.path.join(wallet_folder, new_filename)
|
||||||
|
if new_path != path:
|
||||||
|
try:
|
||||||
|
shutil.copy2(path, new_path)
|
||||||
|
QMessageBox.information(None,"Wallet backup created", _("A copy of your wallet file was created in")+" '%s'" % str(new_path))
|
||||||
|
except (IOError, os.error), reason:
|
||||||
|
QMessageBox.critical(None,"Unable to create backup", _("Electrum was unable to copy your wallet file to the specified location.")+"\n" + str(reason))
|
||||||
|
|
||||||
|
|
||||||
def new_wallet(self):
|
def new_wallet(self):
|
||||||
import installwizard
|
import installwizard
|
||||||
|
|
||||||
wallet_folder = self.wallet.storage.path
|
wallet_folder = os.path.dirname(self.wallet.storage.path)
|
||||||
re.sub("(\/\w*.dat)$", "", wallet_folder)
|
filename, ok = QInputDialog.getText(self, _('Filename'), _('Current directory') + ': ' + wallet_folder + '\n'+_('Enter a new file name') + ':')
|
||||||
filename = self.getSaveFileName("Select your wallet file", wallet_folder)
|
filename = unicode(filename)
|
||||||
|
if not ok or not filename:
|
||||||
|
return
|
||||||
|
filename = os.path.join(wallet_folder, filename)
|
||||||
|
|
||||||
storage = WalletStorage({'wallet_path': filename})
|
storage = WalletStorage({'wallet_path': filename})
|
||||||
assert not storage.file_exists
|
assert not storage.file_exists
|
||||||
@ -318,7 +340,7 @@ class ElectrumWindow(QMainWindow):
|
|||||||
new_wallet_action.triggered.connect(self.new_wallet)
|
new_wallet_action.triggered.connect(self.new_wallet)
|
||||||
|
|
||||||
wallet_backup = file_menu.addAction(_("&Copy"))
|
wallet_backup = file_menu.addAction(_("&Copy"))
|
||||||
wallet_backup.triggered.connect(lambda: backup_wallet(self.wallet.storage.path))
|
wallet_backup.triggered.connect(self.backup_wallet)
|
||||||
|
|
||||||
quit_item = file_menu.addAction(_("&Close"))
|
quit_item = file_menu.addAction(_("&Close"))
|
||||||
quit_item.triggered.connect(self.close)
|
quit_item.triggered.connect(self.close)
|
||||||
@ -491,14 +513,14 @@ class ElectrumWindow(QMainWindow):
|
|||||||
|
|
||||||
|
|
||||||
# custom wrappers for getOpenFileName and getSaveFileName, that remember the path selected by the user
|
# custom wrappers for getOpenFileName and getSaveFileName, that remember the path selected by the user
|
||||||
def getOpenFileName(self, title, filter = None):
|
def getOpenFileName(self, title, filter = ""):
|
||||||
directory = self.config.get('io_dir', os.path.expanduser('~'))
|
directory = self.config.get('io_dir', os.path.expanduser('~'))
|
||||||
fileName = unicode( QFileDialog.getOpenFileName(self, title, directory, filter) )
|
fileName = unicode( QFileDialog.getOpenFileName(self, title, directory, filter) )
|
||||||
if fileName and directory != os.path.dirname(fileName):
|
if fileName and directory != os.path.dirname(fileName):
|
||||||
self.config.set_key('io_dir', os.path.dirname(fileName), True)
|
self.config.set_key('io_dir', os.path.dirname(fileName), True)
|
||||||
return fileName
|
return fileName
|
||||||
|
|
||||||
def getSaveFileName(self, title, filename, filter = None):
|
def getSaveFileName(self, title, filename, filter = ""):
|
||||||
directory = self.config.get('io_dir', os.path.expanduser('~'))
|
directory = self.config.get('io_dir', os.path.expanduser('~'))
|
||||||
path = os.path.join( directory, filename )
|
path = os.path.join( directory, filename )
|
||||||
fileName = unicode( QFileDialog.getSaveFileName(self, title, path, filter) )
|
fileName = unicode( QFileDialog.getSaveFileName(self, title, path, filter) )
|
||||||
|
|||||||
@ -56,16 +56,6 @@ class HelpButton(QPushButton):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
def backup_wallet(path):
|
|
||||||
import shutil
|
|
||||||
directory, fileName = os.path.split(path)
|
|
||||||
try:
|
|
||||||
otherpath = unicode( QFileDialog.getOpenFileName(QWidget(), _('Enter a filename for the copy of your wallet'), directory) )
|
|
||||||
if otherpath and path!=otherpath:
|
|
||||||
shutil.copy2(path, otherpath)
|
|
||||||
QMessageBox.information(None,"Wallet backup created", _("A copy of your wallet file was created in")+" '%s'" % str(otherpath))
|
|
||||||
except (IOError, os.error), reason:
|
|
||||||
QMessageBox.critical(None,"Unable to create backup", _("Electrum was unable to copy your wallet file to the specified location.")+"\n" + str(reason))
|
|
||||||
|
|
||||||
def ok_cancel_buttons(dialog, ok_label=_("OK") ):
|
def ok_cancel_buttons(dialog, ok_label=_("OK") ):
|
||||||
hbox = QHBoxLayout()
|
hbox = QHBoxLayout()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user