From 0a4ee35f5b1658a2144f9af901d65ffd94c211f5 Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Tue, 16 Sep 2014 01:15:57 +0000 Subject: [PATCH] fixes unicode filename display in GUI (#141) --- onionshare_gui/file_selection.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/onionshare_gui/file_selection.py b/onionshare_gui/file_selection.py index d638a3b7..19fb3f86 100644 --- a/onionshare_gui/file_selection.py +++ b/onionshare_gui/file_selection.py @@ -78,10 +78,13 @@ class FileList(QtGui.QListWidget): def add_file(self, filename): if filename not in self.filenames: + # make filenames unicode-safe for Qt (#141) + filename = filename.encode('utf-8').decode('utf-8', 'replace') + self.filenames.append(filename) - basename = os.path.basename(filename) fileinfo = QtCore.QFileInfo(filename) + basename = os.path.basename(filename) ip = QtGui.QFileIconProvider() icon = ip.icon(fileinfo) @@ -89,7 +92,8 @@ class FileList(QtGui.QListWidget): size = self.human_readable_filesize(fileinfo.size()) else: size = self.human_readable_filesize(helpers.dir_size(filename)) - item = QtGui.QListWidgetItem('{0} ({1})'.format(basename, size)) + item_name = unicode('{0} ({1})'.format(basename, size)) + item = QtGui.QListWidgetItem(item_name) item.setToolTip(QtCore.QString(size)) item.setIcon(icon)