From f929b2291f3c5e42a7b906dd2393f41128ef5466 Mon Sep 17 00:00:00 2001 From: Alberto Sottile Date: Fri, 9 Mar 2018 01:25:53 +0100 Subject: [PATCH] Fixes drag-and-drop of files with non-ASCII characters in the name on macOS --- syncplay/ui/gui.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/syncplay/ui/gui.py b/syncplay/ui/gui.py index e989756..be3646e 100755 --- a/syncplay/ui/gui.py +++ b/syncplay/ui/gui.py @@ -19,6 +19,7 @@ from twisted.internet import task from syncplay.ui.consoleUI import ConsoleUI if isMacOS() and IsPySide: from Foundation import NSURL + from Cocoa import NSString, NSUTF8StringEncoding lastCheckedForUpdates = None class ConsoleInGUI(ConsoleUI): @@ -1609,7 +1610,9 @@ class MainWindow(QtWidgets.QMainWindow): if urls and urls[0].scheme() == 'file': url = event.mimeData().urls()[0] if isMacOS() and IsPySide: - dropfilepath = os.path.abspath(NSURL.URLWithString_(str(url.toString())).filePathURL().path()) + macURL = NSString.alloc().initWithString_(unicode(url.toString())) + pathString = macURL.stringByAddingPercentEscapesUsingEncoding_(NSUTF8StringEncoding) + dropfilepath = os.path.abspath(NSURL.URLWithString_(pathString).filePathURL().path()) else: dropfilepath = os.path.abspath(unicode(url.toLocalFile())) if rewindFile == False: