MCPcopy Create free account
hub / github.com/Syncplay/syncplay / OpenAddFilesToPlaylistDialog

Method OpenAddFilesToPlaylistDialog

syncplay/ui/gui.py:1097–1127  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1095
1096 @needsClient
1097 def OpenAddFilesToPlaylistDialog(self):
1098 if self._syncplayClient._player.customOpenDialog == True:
1099 self._syncplayClient._player.openCustomOpenDialog()
1100 return
1101
1102 self.loadMediaBrowseSettings()
1103 if isMacOS() and IsPySide:
1104 options = QtWidgets.QFileDialog.Options(QtWidgets.QFileDialog.DontUseNativeDialog)
1105 else:
1106 options = QtWidgets.QFileDialog.Options()
1107 self.mediadirectory = ""
1108 currentdirectory = os.path.dirname(self._syncplayClient.userlist.currentUser.file["path"]) if self._syncplayClient.userlist.currentUser.file else None
1109 if currentdirectory and os.path.isdir(currentdirectory):
1110 defaultdirectory = currentdirectory
1111 else:
1112 defaultdirectory = self.getInitialMediaDirectory()
1113 browserfilter = "All files (*)"
1114 fileNames, filtr = QtWidgets.QFileDialog.getOpenFileNames(
1115 self, getMessage("browseformedia-label"), defaultdirectory,
1116 browserfilter, "", options)
1117 self.updatingPlaylist = True
1118 if fileNames:
1119 for fileName in fileNames:
1120 if isWindows():
1121 fileName = fileName.replace("/", "\\")
1122 self.mediadirectory = os.path.dirname(fileName)
1123 self._syncplayClient.fileSwitch.setCurrentDirectory(self.mediadirectory)
1124 self.saveMediaBrowseSettings()
1125 self.addFileToPlaylist(fileName)
1126 self.updatingPlaylist = False
1127 self.playlist.updatePlaylist(self.getPlaylistState())
1128
1129 @needsClient
1130 def OpenLoadPlaylistFromFileDialog(self, shuffle=False):

Callers 1

openPlaylistMenuMethod · 0.95

Calls 11

addFileToPlaylistMethod · 0.95
getPlaylistStateMethod · 0.95
isMacOSFunction · 0.90
getMessageFunction · 0.90
isWindowsFunction · 0.90
openCustomOpenDialogMethod · 0.80
setCurrentDirectoryMethod · 0.80
updatePlaylistMethod · 0.80

Tested by

no test coverage detected