Merge remote-tracking branch 'origin/master'

This commit is contained in:
Etoh 2017-10-12 12:36:37 +01:00
commit 377f2b4b85
2 changed files with 30 additions and 6 deletions

View File

@ -407,6 +407,9 @@ class ConfigurationGetter(object):
if QCoreApplication.instance() is None: if QCoreApplication.instance() is None:
self.app = QtGui.QApplication(sys.argv) self.app = QtGui.QApplication(sys.argv)
qt4reactor.install() qt4reactor.install()
if sys.platform.startswith('darwin'):
import appnope
appnope.nope()
except ImportError: except ImportError:
print getMessage("unable-import-gui-error") print getMessage("unable-import-gui-error")
self._config['noGui'] = True self._config['noGui'] = True

View File

@ -11,6 +11,8 @@ import os
from syncplay.utils import formatTime, sameFilename, sameFilesize, sameFileduration, RoomPasswordProvider, formatSize, isURL from syncplay.utils import formatTime, sameFilename, sameFilesize, sameFileduration, RoomPasswordProvider, formatSize, isURL
from functools import wraps from functools import wraps
from twisted.internet import task from twisted.internet import task
if sys.platform.startswith('darwin'):
from Foundation import NSURL
lastCheckedForUpdates = None lastCheckedForUpdates = None
class UserlistItemDelegate(QtGui.QStyledItemDelegate): class UserlistItemDelegate(QtGui.QStyledItemDelegate):
@ -161,7 +163,10 @@ class MainWindow(QtGui.QMainWindow):
indexRow = window.playlist.count() if window.clearedPlaylistNote else 0 indexRow = window.playlist.count() if window.clearedPlaylistNote else 0
for url in urls[::-1]: for url in urls[::-1]:
dropfilepath = os.path.abspath(unicode(url.toLocalFile())) if sys.platform.startswith('darwin'):
dropfilepath = os.path.abspath(NSURL.URLWithString_(str(url.toString())).filePathURL().path())
else:
dropfilepath = os.path.abspath(unicode(url.toLocalFile()))
if os.path.isfile(dropfilepath): if os.path.isfile(dropfilepath):
window.addFileToPlaylist(dropfilepath, indexRow) window.addFileToPlaylist(dropfilepath, indexRow)
elif os.path.isdir(dropfilepath): elif os.path.isdir(dropfilepath):
@ -263,7 +268,10 @@ class MainWindow(QtGui.QMainWindow):
if indexRow == -1: if indexRow == -1:
indexRow = window.playlist.count() indexRow = window.playlist.count()
for url in urls[::-1]: for url in urls[::-1]:
dropfilepath = os.path.abspath(unicode(url.toLocalFile())) if sys.platform.startswith('darwin'):
dropfilepath = os.path.abspath(NSURL.URLWithString_(str(url.toString())).filePathURL().path())
else:
dropfilepath = os.path.abspath(unicode(url.toLocalFile()))
if os.path.isfile(dropfilepath): if os.path.isfile(dropfilepath):
window.addFileToPlaylist(dropfilepath, indexRow) window.addFileToPlaylist(dropfilepath, indexRow)
elif os.path.isdir(dropfilepath): elif os.path.isdir(dropfilepath):
@ -781,7 +789,10 @@ class MainWindow(QtGui.QMainWindow):
return return
self.loadMediaBrowseSettings() self.loadMediaBrowseSettings()
options = QtGui.QFileDialog.Options() if sys.platform.startswith('darwin'):
options = QtGui.QFileDialog.Options(QtGui.QFileDialog.DontUseNativeDialog)
else:
options = QtGui.QFileDialog.Options()
self.mediadirectory = "" self.mediadirectory = ""
currentdirectory = os.path.dirname(self._syncplayClient.userlist.currentUser.file["path"]) if self._syncplayClient.userlist.currentUser.file else None currentdirectory = os.path.dirname(self._syncplayClient.userlist.currentUser.file["path"]) if self._syncplayClient.userlist.currentUser.file else None
if currentdirectory and os.path.isdir(currentdirectory): if currentdirectory and os.path.isdir(currentdirectory):
@ -806,7 +817,10 @@ class MainWindow(QtGui.QMainWindow):
return return
self.loadMediaBrowseSettings() self.loadMediaBrowseSettings()
options = QtGui.QFileDialog.Options() if sys.platform.startswith('darwin'):
options = QtGui.QFileDialog.Options(QtGui.QFileDialog.DontUseNativeDialog)
else:
options = QtGui.QFileDialog.Options()
self.mediadirectory = "" self.mediadirectory = ""
currentdirectory = os.path.dirname(self._syncplayClient.userlist.currentUser.file["path"]) if self._syncplayClient.userlist.currentUser.file else None currentdirectory = os.path.dirname(self._syncplayClient.userlist.currentUser.file["path"]) if self._syncplayClient.userlist.currentUser.file else None
if currentdirectory and os.path.isdir(currentdirectory): if currentdirectory and os.path.isdir(currentdirectory):
@ -954,7 +968,11 @@ class MainWindow(QtGui.QMainWindow):
@needsClient @needsClient
def openAddMediaDirectoryDialog(self, MediaDirectoriesTextbox, MediaDirectoriesDialog): def openAddMediaDirectoryDialog(self, MediaDirectoriesTextbox, MediaDirectoriesDialog):
folderName = unicode(QtGui.QFileDialog.getExistingDirectory(self,None,self.getInitialMediaDirectory(includeUserSpecifiedDirectories=False),QtGui.QFileDialog.ShowDirsOnly)) if sys.platform.startswith('darwin'):
options = QtGui.QFileDialog.Options(QtGui.QFileDialog.ShowDirsOnly | QtGui.QFileDialog.DontUseNativeDialog)
else:
options = QtGui.QFileDialog.Options(QtGui.QFileDialog.ShowDirsOnly)
folderName = unicode(QtGui.QFileDialog.getExistingDirectory(self,None,self.getInitialMediaDirectory(includeUserSpecifiedDirectories=False),options))
if folderName: if folderName:
existingMediaDirs = MediaDirectoriesTextbox.toPlainText() existingMediaDirs = MediaDirectoriesTextbox.toPlainText()
if existingMediaDirs == "": if existingMediaDirs == "":
@ -1482,7 +1500,10 @@ class MainWindow(QtGui.QMainWindow):
data = event.mimeData() data = event.mimeData()
urls = data.urls() urls = data.urls()
if urls and urls[0].scheme() == 'file': if urls and urls[0].scheme() == 'file':
dropfilepath = os.path.abspath(unicode(event.mimeData().urls()[0].toLocalFile())) if sys.platform.startswith('darwin'):
dropfilepath = os.path.abspath(NSURL.URLWithString_(str(event.mimeData().urls()[0].toString())).filePathURL().path())
else:
dropfilepath = os.path.abspath(unicode(event.mimeData().urls()[0].toLocalFile()))
if rewindFile == False: if rewindFile == False:
self._syncplayClient._player.openFile(dropfilepath) self._syncplayClient._player.openFile(dropfilepath)
else: else: