mirror of
https://github.com/Syncplay/syncplay
synced 2025-03-05 11:17:32 +00:00
Add "Add folder" button to "Set media directories" dialog
This commit is contained in:
parent
0205d4b421
commit
d93fcb5650
@ -279,6 +279,8 @@ de = {
|
||||
"promptforstreamurl-msgbox-label" : u"Stream URL öffnen",
|
||||
"promptforstreamurlinfo-msgbox-label" : u"Stream URL",
|
||||
|
||||
"addfolder-label" : u"Add folder", # TODO: Translate
|
||||
|
||||
"adduris-msgbox-label" : u"Add URLs to playlist (one per line)", # TODO: Translate
|
||||
|
||||
"createcontrolledroom-msgbox-label" : u"Zentral gesteuerten Raum erstellen",
|
||||
|
@ -281,6 +281,8 @@ en = {
|
||||
"promptforstreamurl-msgbox-label" : "Open media stream URL",
|
||||
"promptforstreamurlinfo-msgbox-label" : "Stream URL",
|
||||
|
||||
"addfolder-label" : u"Add folder",
|
||||
|
||||
"adduris-msgbox-label" : u"Add URLs to playlist (one per line)",
|
||||
|
||||
"createcontrolledroom-msgbox-label" : "Create managed room",
|
||||
|
@ -281,6 +281,8 @@ ru = {
|
||||
"promptforstreamurl-msgbox-label" : u"Открыть URL потокового вещания",
|
||||
"promptforstreamurlinfo-msgbox-label" : u"URL потока",
|
||||
|
||||
"addfolder-label" : u"Add folder", # TODO: Translate
|
||||
|
||||
"adduris-msgbox-label" : u"Add URLs to playlist (one per line)", # TODO: Translate
|
||||
|
||||
"createcontrolledroom-msgbox-label" : u"Создать управляемую комнату",
|
||||
|
@ -710,10 +710,10 @@ class MainWindow(QtGui.QMainWindow):
|
||||
settings.setValue("mediadir", self.mediadirectory)
|
||||
settings.endGroup()
|
||||
|
||||
def getInitialMediaDirectory(self):
|
||||
if self.config["mediaSearchDirectories"] and os.path.isdir(self.config["mediaSearchDirectories"][0]):
|
||||
def getInitialMediaDirectory(self, includeUserSpecifiedDirectories=True):
|
||||
if self.config["mediaSearchDirectories"] and os.path.isdir(self.config["mediaSearchDirectories"][0]) and includeUserSpecifiedDirectories:
|
||||
defaultdirectory = self.config["mediaSearchDirectories"][0]
|
||||
elif os.path.isdir(self.mediadirectory):
|
||||
elif includeUserSpecifiedDirectories and os.path.isdir(self.mediadirectory):
|
||||
defaultdirectory = self.mediadirectory
|
||||
elif os.path.isdir(QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.MoviesLocation)):
|
||||
defaultdirectory = QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.MoviesLocation)
|
||||
@ -803,12 +803,13 @@ class MainWindow(QtGui.QMainWindow):
|
||||
self.addStreamToPlaylist(URI)
|
||||
self.updatingPlaylist = False
|
||||
|
||||
@needsClient
|
||||
def openSetMediaDirectoriesDialog(self):
|
||||
MediaDirectoriesDialog = QtGui.QDialog()
|
||||
MediaDirectoriesDialog.setWindowTitle(getMessage("syncplay-mediasearchdirectories-title")) # TODO: Move to messages_*.py
|
||||
MediaDirectoriesLayout = QtGui.QGridLayout()
|
||||
MediaDirectoriesLabel = QtGui.QLabel(getMessage("syncplay-mediasearchdirectories-title"))
|
||||
MediaDirectoriesLayout.addWidget(MediaDirectoriesLabel, 0, 0, 1, 1)
|
||||
MediaDirectoriesLayout.addWidget(MediaDirectoriesLabel, 0, 0, 1, 2)
|
||||
MediaDirectoriesTextbox = QtGui.QPlainTextEdit()
|
||||
MediaDirectoriesTextbox.setLineWrapMode(QtGui.QPlainTextEdit.NoWrap)
|
||||
MediaDirectoriesTextbox.setPlainText(utils.getListAsMultilineString(self.config["mediaSearchDirectories"]))
|
||||
@ -819,6 +820,9 @@ class MainWindow(QtGui.QMainWindow):
|
||||
MediaDirectoriesButtonBox.accepted.connect(MediaDirectoriesDialog.accept)
|
||||
MediaDirectoriesButtonBox.rejected.connect(MediaDirectoriesDialog.reject)
|
||||
MediaDirectoriesLayout.addWidget(MediaDirectoriesButtonBox, 2, 0, 1, 1)
|
||||
MediaDirectoriesAddFolderButton = QtGui.QPushButton(getMessage("addfolder-label"))
|
||||
MediaDirectoriesAddFolderButton.pressed.connect(lambda: self.openAddMediaDirectoryDialog(MediaDirectoriesTextbox, MediaDirectoriesDialog))
|
||||
MediaDirectoriesLayout.addWidget(MediaDirectoriesAddFolderButton, 1, 1, 1, 1, Qt.AlignTop)
|
||||
MediaDirectoriesDialog.setLayout(MediaDirectoriesLayout)
|
||||
MediaDirectoriesDialog.show()
|
||||
result = MediaDirectoriesDialog.exec_()
|
||||
@ -826,6 +830,19 @@ class MainWindow(QtGui.QMainWindow):
|
||||
newMediaDirectories = utils.convertMultilineStringToList(MediaDirectoriesTextbox.toPlainText())
|
||||
self._syncplayClient.fileSwitch.changeMediaDirectories(newMediaDirectories)
|
||||
|
||||
@needsClient
|
||||
def openAddMediaDirectoryDialog(self, MediaDirectoriesTextbox, MediaDirectoriesDialog):
|
||||
folderName = unicode(QtGui.QFileDialog.getExistingDirectory(self,None,self.getInitialMediaDirectory(includeUserSpecifiedDirectories=False),QtGui.QFileDialog.ShowDirsOnly))
|
||||
if folderName:
|
||||
existingMediaDirs = MediaDirectoriesTextbox.toPlainText()
|
||||
if existingMediaDirs == "":
|
||||
newMediaDirList = folderName
|
||||
else:
|
||||
newMediaDirList = existingMediaDirs + u"\n" + folderName
|
||||
MediaDirectoriesTextbox.setPlainText(newMediaDirList)
|
||||
MediaDirectoriesDialog.raise_()
|
||||
MediaDirectoriesDialog.activateWindow()
|
||||
|
||||
@needsClient
|
||||
def promptForStreamURL(self):
|
||||
streamURL, ok = QtGui.QInputDialog.getText(self, getMessage("promptforstreamurl-msgbox-label"),
|
||||
|
Loading…
Reference in New Issue
Block a user