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

Method openPlaylistMenu

syncplay/ui/gui.py:733–772  ·  view source on GitHub ↗
(self, position)

Source from the content-addressed store, hash-verified

731
732 @needsClient
733 def openPlaylistMenu(self, position):
734 indexes = self.playlist.selectedIndexes()
735 if len(indexes) > 0:
736 item = self.playlist.selectedIndexes()[0]
737 else:
738 item = None
739 menu = QtWidgets.QMenu()
740
741 if item:
742 firstFile = item.sibling(item.row(), 0).data()
743 pathFound = self._syncplayClient.fileSwitch.findFilepath(firstFile) if not isURL(firstFile) else None
744 if self._syncplayClient.userlist.currentUser.file is None or firstFile != self._syncplayClient.userlist.currentUser.file["name"]:
745 if isURL(firstFile):
746 menu.addAction(QtGui.QPixmap(resourcespath + "world_go.png"), getMessage("openstreamurl-menu-label"), lambda: self.openFile(firstFile, resetPosition=True, fromUser=True))
747 elif pathFound:
748 menu.addAction(QtGui.QPixmap(resourcespath + "film_go.png"), getMessage("openmedia-menu-label"), lambda: self.openFile(pathFound, resetPosition=True, fromUser=True))
749 if pathFound:
750 menu.addAction(QtGui.QPixmap(resourcespath + "folder_film.png"),
751 getMessage('open-containing-folder'),
752 lambda: utils.open_system_file_browser(pathFound))
753 if self._syncplayClient.isUntrustedTrustableURI(firstFile):
754 domain = utils.getDomainFromURL(firstFile)
755 if domain:
756 menu.addAction(QtGui.QPixmap(resourcespath + "shield_add.png"), getMessage("addtrusteddomain-menu-label").format(domain), lambda: self.addTrustedDomain(domain))
757 menu.addAction(QtGui.QPixmap(resourcespath + "delete.png"), getMessage("removefromplaylist-menu-label"), lambda: self.deleteSelectedPlaylistItems())
758 menu.addSeparator()
759 menu.addAction(QtGui.QPixmap(resourcespath + "arrow_switch.png"), getMessage("shuffleremainingplaylist-menu-label"), lambda: self.shuffleRemainingPlaylist())
760 menu.addAction(QtGui.QPixmap(resourcespath + "arrow_switch.png"), getMessage("shuffleentireplaylist-menu-label"), lambda: self.shuffleEntirePlaylist())
761 menu.addAction(QtGui.QPixmap(resourcespath + "arrow_undo.png"), getMessage("undoplaylist-menu-label"), lambda: self.undoPlaylistChange())
762 menu.addAction(QtGui.QPixmap(resourcespath + "film_edit.png"), getMessage("editplaylist-menu-label"), lambda: self.openEditPlaylistDialog())
763 menu.addAction(QtGui.QPixmap(resourcespath + "film_add.png"), getMessage("addfilestoplaylist-menu-label"), lambda: self.OpenAddFilesToPlaylistDialog())
764 menu.addAction(QtGui.QPixmap(resourcespath + "world_add.png"), getMessage("addurlstoplaylist-menu-label"), lambda: self.OpenAddURIsToPlaylistDialog())
765 menu.addSeparator()
766 menu.addAction(getMessage("loadplaylistfromfile-menu-label"),lambda: self.OpenLoadPlaylistFromFileDialog()) # TODO: Add icon
767 menu.addAction("Load and shuffle playlist from file",lambda: self.OpenLoadPlaylistFromFileDialog(shuffle=True)) # TODO: Add icon and messages_en
768 menu.addAction(getMessage("saveplaylisttofile-menu-label"),lambda: self.OpenSavePlaylistToFileDialog()) # TODO: Add icon
769 menu.addSeparator()
770 menu.addAction(QtGui.QPixmap(resourcespath + "film_folder_edit.png"), getMessage("setmediadirectories-menu-label"), lambda: self.openSetMediaDirectoriesDialog())
771 menu.addAction(QtGui.QPixmap(resourcespath + "shield_edit.png"), getMessage("settrusteddomains-menu-label"), lambda: self.openSetTrustedDomainsDialog())
772 menu.exec_(self.playlist.viewport().mapToGlobal(position))
773
774 def openRoomMenu(self, position):
775 # TODO: Deselect items after right click

Callers

nothing calls this directly

Tested by

no test coverage detected