URI: 
       tfix unicode path issue #2269 - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 125247df8138cb2c4e5d6f5eaa612e98d1e25498
   DIR parent 37143fd628bff1beafa1894bf643115b6966a7fb
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Fri, 14 Jul 2017 12:53:35 +0200
       
       fix unicode path issue #2269
       
       Diffstat:
         M gui/qt/installwizard.py             |       6 ++++--
         M gui/qt/main_window.py               |      11 ++++++++---
         M lib/base_wizard.py                  |       2 +-
       
       3 files changed, 13 insertions(+), 6 deletions(-)
       ---
   DIR diff --git a/gui/qt/installwizard.py b/gui/qt/installwizard.py
       t@@ -174,7 +174,8 @@ class InstallWizard(QDialog, MessageBoxMixin, BaseWizard):
                        self.name_e.setText(path)
        
                def on_filename(filename):
       -            path = os.path.join(wallet_folder, unicode(filename))
       +            filename = unicode(filename)
       +            path = os.path.join(wallet_folder, filename.encode('utf8'))
                    try:
                        self.storage = WalletStorage(path)
                    except IOError:
       t@@ -204,7 +205,8 @@ class InstallWizard(QDialog, MessageBoxMixin, BaseWizard):
        
                button.clicked.connect(on_choose)
                self.name_e.textChanged.connect(on_filename)
       -        self.name_e.setText(os.path.basename(self.storage.path))
       +        n = os.path.basename(self.storage.path)
       +        self.name_e.setText(n.decode('utf8'))
        
                while True:
                    if self.storage.file_exists() and not self.storage.is_encrypted():
   DIR diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py
       t@@ -352,7 +352,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
        
            def watching_only_changed(self):
                title = 'Electrum %s  -  %s' % (self.wallet.electrum_version,
       -                                        self.wallet.basename())
       +                                        self.wallet.basename().decode('utf8'))
                extra = [self.wallet.storage.get('wallet_type', '?')]
                if self.wallet.is_watching_only():
                    self.warn_if_watching_only()
       t@@ -397,7 +397,12 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
                        self.show_critical(_("Electrum was unable to copy your wallet file to the specified location.") + "\n" + str(reason), title=_("Unable to create backup"))
        
            def update_recently_visited(self, filename):
       +        filename = filename.decode('utf8')
                recent = self.config.get('recently_open', [])
       +        try:
       +            sorted(recent)
       +        except:
       +            recent = []
                if filename in recent:
                    recent.remove(filename)
                recent.insert(0, filename)
       t@@ -407,7 +412,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
                for i, k in enumerate(sorted(recent)):
                    b = os.path.basename(k)
                    def loader(k):
       -                return lambda: self.gui_object.new_window(k)
       +                return lambda: self.gui_object.new_window(k.encode('utf8'))
                    self.recently_visited_menu.addAction(b, loader(k)).setShortcut(QKeySequence("Ctrl+%d"%(i+1)))
                self.recently_visited_menu.setEnabled(len(recent))
        
       t@@ -693,7 +698,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
                    text = _("Not connected")
                    icon = QIcon(":icons/status_disconnected.png")
        
       -        self.tray.setToolTip("%s (%s)" % (text, self.wallet.basename()))
       +        self.tray.setToolTip("%s (%s)" % (text, self.wallet.basename().decode('utf8')))
                self.balance_label.setText(text)
                self.status_button.setIcon( icon )
        
   DIR diff --git a/lib/base_wizard.py b/lib/base_wizard.py
       t@@ -73,7 +73,7 @@ class BaseWizard(object):
        
            def new(self):
                name = os.path.basename(self.storage.path)
       -        title = _("Create '%s'"%name)
       +        title = _("Create") + ' ' + name.decode('utf8')
                message = '\n'.join([
                    _("What kind of wallet do you want to create?")
                ])