From be183e2b7d0c9ad17e4aba8eb41907d9e6383acc Mon Sep 17 00:00:00 2001 From: Et0h Date: Sat, 5 Jul 2014 11:14:02 +0100 Subject: [PATCH] Hopefully improve cross-platform compatibility (esp. OSX) --- syncplay/constants.py | 1 + syncplay/ui/GuiConfiguration.py | 14 ++++++++------ syncplay/ui/gui.py | 12 ++++++------ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/syncplay/constants.py b/syncplay/constants.py index d54f18d..30e0de7 100644 --- a/syncplay/constants.py +++ b/syncplay/constants.py @@ -64,6 +64,7 @@ MPV_PATHS = ["mpv", "/opt/mpv/mpv", r"C:\Program Files\mpv\mpv.exe", r"C:\Progra VLC_PATHS = [ r"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe", r"C:\Program Files\VideoLAN\VLC\vlc.exe", + "/usr/bin/vlc", "/Applications/VLC.app/Contents/MacOS/VLC" ] diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py index 5841080..c5d1125 100644 --- a/syncplay/ui/GuiConfiguration.py +++ b/syncplay/ui/GuiConfiguration.py @@ -122,6 +122,8 @@ class ConfigDialog(QtGui.QDialog): defaultdirectory = os.environ["ProgramW6432"] elif sys.platform.startswith('linux'): defaultdirectory = "/usr/bin" + elif sys.platform.startswith('darwin'): + defaultdirectory = "/Applications/" fileName, filtr = QtGui.QFileDialog.getOpenFileName(self, "Browse for media player executable", @@ -247,10 +249,10 @@ class ConfigDialog(QtGui.QDialog): data = event.mimeData() urls = data.urls() if urls and urls[0].scheme() == 'file': - if sys.platform.startswith('linux'): - dropfilepath = unicode(urls[0].path()) - else: + if sys.platform.startswith('windows'): dropfilepath = unicode(urls[0].path())[1:] # Removes starting slash + else: + dropfilepath = unicode(urls[0].path()) if dropfilepath[-4:].lower() == ".exe": self.executablepathCombobox.setEditText(dropfilepath) else: @@ -273,10 +275,10 @@ class ConfigDialog(QtGui.QDialog): self.datacleared = True self.QtGui = QtGui self.error = error - if sys.platform.startswith('linux'): - resourcespath = utils.findWorkingDir() + "/resources/" - else: + if sys.platform.startswith('windows'): resourcespath = utils.findWorkingDir() + "\\resources\\" + else: + resourcespath = utils.findWorkingDir() + "/resources/" self.resourcespath = resourcespath super(ConfigDialog, self).__init__() diff --git a/syncplay/ui/gui.py b/syncplay/ui/gui.py index 98c5241..4487953 100644 --- a/syncplay/ui/gui.py +++ b/syncplay/ui/gui.py @@ -411,10 +411,10 @@ class MainWindow(QtGui.QMainWindow): data = event.mimeData() urls = data.urls() if urls and urls[0].scheme() == 'file': - if sys.platform.startswith('linux'): - dropfilepath = unicode(urls[0].path()) - else: + if sys.platform.startswith('win'): dropfilepath = unicode(urls[0].path().replace("/", "\\"))[1:] # Removes starting slash + else: + dropfilepath = unicode(urls[0].path()) if rewindFile == False: self._syncplayClient._player.openFile(dropfilepath) else: @@ -439,10 +439,10 @@ class MainWindow(QtGui.QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.QtGui = QtGui - if sys.platform.startswith('linux'): - self.resourcespath = utils.findWorkingDir() + "/resources/" - else: + if sys.platform.startswith('win'): self.resourcespath = utils.findWorkingDir() + "\\resources\\" + else: + self.resourcespath = utils.findWorkingDir() + "/resources/" self.setWindowTitle("Syncplay v" + version) self.mainLayout = QtGui.QVBoxLayout() self.addTopLayout(self)