mirror of
https://github.com/Syncplay/syncplay
synced 2025-02-23 06:26:49 +00:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
87eeb741ce
@ -110,7 +110,7 @@ de = {
|
||||
"mpc-version-insufficient-error" : u"MPC-Version nicht ausreichend, bitte nutze `mpc-hc` >= `{}`",
|
||||
"mpv-version-error" : u"Syncplay ist nicht kompatibel mit dieser Version von mpv. Bitte benutze eine andere Version (z.B. Git HEAD).",
|
||||
"player-file-open-error" : u"Fehler beim Öffnen der Datei durch den Player",
|
||||
"player-path-error" : u"Ungültiger Player-Pfad",
|
||||
"player-path-error" : u"Ungültiger Player-Pfad. Supported players are: mpv, VLC, MPC-HC and mplayer2", # To do: Translate end
|
||||
"hostname-empty-error" : u"Hostname darf nicht leer sein",
|
||||
"empty-error" : u"{} darf nicht leer sein", # Configuration
|
||||
"media-player-error": u"Player-Fehler: \"{}\"", # Error line
|
||||
@ -120,7 +120,7 @@ de = {
|
||||
|
||||
"unable-to-start-client-error" : u"Client kann nicht gestartet werden",
|
||||
|
||||
"player-path-config-error": u"Player-Pfad ist nicht ordnungsgemäß gesetzt.",
|
||||
"player-path-config-error": u"Player-Pfad ist nicht ordnungsgemäß gesetzt. Supported players are: mpv, VLC, MPC-HC and mplayer2.", # To do: Translate end
|
||||
"no-file-path-config-error": u"Es muss eine Datei ausgewählt werden, bevor der Player gestartet wird.",
|
||||
"no-hostname-config-error": u"Hostname darf nicht leer sein",
|
||||
"invalid-port-config-error" : u"Port muss gültig sein",
|
||||
@ -181,7 +181,7 @@ de = {
|
||||
|
||||
"media-setting-title" : u"Media-Player Einstellungen",
|
||||
"executable-path-label" : u"Pfad zum Media-Player:",
|
||||
"media-path-label" : u"Pfad zur Datei:",
|
||||
"media-path-label" : u"Pfad zur Datei:", # Todo: Translate to 'Path to video (optional)'
|
||||
"player-arguments-label" : u"Playerparameter:",
|
||||
"browse-label" : u"Durchsuchen",
|
||||
"update-server-list-label" : u"Liste aktualisieren",
|
||||
@ -321,7 +321,7 @@ de = {
|
||||
"room-tooltip" : u"Der Raum, der betreten werden soll, kann ein x-beliebiger sein. Allerdings werden nur Clients im selben Raum synchronisiert.",
|
||||
|
||||
"executable-path-tooltip" : u"Pfad zum ausgewählten, unterstützten Mediaplayer (MPC-HC, VLC, mplayer2 or mpv).",
|
||||
"media-path-tooltip" : u"Pfad zum wiederzugebenden Video oder Stream. Notwendig für mpv und mplayer2.",
|
||||
"media-path-tooltip" : u"Pfad zum wiederzugebenden Video oder Stream. Notwendig für mplayer2.", # TODO: Confirm translation
|
||||
"player-arguments-tooltip" : u"Zusätzliche Kommandozeilenparameter / -schalter für diesen Mediaplayer.",
|
||||
"mediasearcdirectories-arguments-tooltip" : u"Verzeichnisse, in denen Syncplay nach Mediendateien suchen soll, z.B. wenn du das Click-to-switch-Feature verwendest. Syncplay wird rekursiv Unterordner durchsuchen.", # TODO: Translate Click-to-switch? (or use as name for feature)
|
||||
|
||||
|
@ -109,7 +109,7 @@ en = {
|
||||
"mpc-version-insufficient-error" : "MPC version not sufficient, please use `mpc-hc` >= `{}`",
|
||||
"mpv-version-error" : "Syncplay is not compatible with this version of mpv. Please use a different version of mpv (e.g. Git HEAD).",
|
||||
"player-file-open-error" : "Player failed opening file",
|
||||
"player-path-error" : "Player path is not set properly",
|
||||
"player-path-error" : "Player path is not set properly. Supported players are: mpv, VLC, MPC-HC and mplayer2",
|
||||
"hostname-empty-error" : "Hostname can't be empty",
|
||||
"empty-error" : "{} can't be empty", # Configuration
|
||||
"media-player-error": "Media player error: \"{}\"", # Error line
|
||||
@ -119,7 +119,7 @@ en = {
|
||||
|
||||
"unable-to-start-client-error" : "Unable to start client",
|
||||
|
||||
"player-path-config-error": "Player path is not set properly",
|
||||
"player-path-config-error": "Player path is not set properly. Supported players are: mpv, VLC, MPC-HC and mplayer2.",
|
||||
"no-file-path-config-error" :"File must be selected before starting your player",
|
||||
"no-hostname-config-error": "Hostname can't be empty",
|
||||
"invalid-port-config-error" : "Port must be valid",
|
||||
@ -179,7 +179,7 @@ en = {
|
||||
|
||||
"media-setting-title" : "Media player settings",
|
||||
"executable-path-label" : "Path to media player:",
|
||||
"media-path-label" : "Path to media file:",
|
||||
"media-path-label" : "Path to video (optional):",
|
||||
"player-arguments-label" : "Player arguments (if any):",
|
||||
"browse-label" : "Browse",
|
||||
"update-server-list-label" : u"Update list",
|
||||
@ -320,8 +320,8 @@ en = {
|
||||
"password-tooltip" : "Passwords are only needed for connecting to private servers.",
|
||||
"room-tooltip" : "Room to join upon connection can be almost anything, but you will only be synchronised with people in the same room.",
|
||||
|
||||
"executable-path-tooltip" : "Location of your chosen supported media player (MPC-HC, VLC, mplayer2 or mpv).",
|
||||
"media-path-tooltip" : "Location of video or stream to be opened. Necessary for mpv and mplayer2.",
|
||||
"executable-path-tooltip" : "Location of your chosen supported media player (mpv, VLC, MPC-HC or mplayer2).",
|
||||
"media-path-tooltip" : "Location of video or stream to be opened. Necessary for mplayer2.",
|
||||
"player-arguments-tooltip" : "Additional command line arguments / switches to pass on to this media player.",
|
||||
"mediasearcdirectories-arguments-tooltip" : u"Directories where Syncplay will search for media files, e.g. when you are using the click to switch feature. Syncplay will look recursively through sub-folders.",
|
||||
|
||||
|
@ -110,7 +110,7 @@ ru = {
|
||||
"mpc-version-insufficient-error" : u"Версия MPC слишком старая, пожалуйста, используйте `mpc-hc` >= `{}`",
|
||||
"mpv-version-error" : u"Syncplay не совместим с данной версией mpv. Пожалуйста, используйте другую версию mpv (лучше свежайшую).",
|
||||
"player-file-open-error" : u"Проигрыватель не может открыть файл.",
|
||||
"player-path-error" : u"Путь к проигрывателю задан неверно.",
|
||||
"player-path-error" : u"Путь к проигрывателю задан неверно. Supported players are: mpv, VLC, MPC-HC and mplayer2.", # TODO: Translate last sentence
|
||||
"hostname-empty-error" : u"Имя пользователя не может быть пустым.",
|
||||
"empty-error" : u"{} не может быть пустым.", # Configuration
|
||||
"media-player-error" : u"Ошибка проигрывателя: \"{}\"", # Error line
|
||||
@ -120,7 +120,7 @@ ru = {
|
||||
|
||||
"unable-to-start-client-error" : u"Невозможно запустить клиент",
|
||||
|
||||
"player-path-config-error": u"Путь к проигрывателю установлен неверно",
|
||||
"player-path-config-error": u"Путь к проигрывателю установлен неверно. Supported players are: mpv, VLC, MPC-HC and mplayer2", # To do: Translate end
|
||||
"no-file-path-config-error" : u"Файл должен быть указан до включения проигрывателя",
|
||||
"no-hostname-config-error": u"Имя сервера не может быть пустым",
|
||||
"invalid-port-config-error" : u"Неверный номер порта",
|
||||
@ -181,7 +181,7 @@ ru = {
|
||||
|
||||
"media-setting-title" : u"Воспроизведение",
|
||||
"executable-path-label" : u"Путь к проигрывателю:",
|
||||
"media-path-label" : u"Путь к видеофайлу:",
|
||||
"media-path-label" : u"Путь к видеофайлу:", # Todo: Translate to 'Path to video (optional)'
|
||||
"player-arguments-label" : u"Аргументы запуска проигрывателя:",
|
||||
"browse-label" : u"Выбрать",
|
||||
"update-server-list-label" : u"Обновить список",
|
||||
@ -323,7 +323,7 @@ ru = {
|
||||
"room-tooltip" : u"Комната, в которую Вы попадете сразу после подключения. Синхронизация возможна только между людьми в одной и той же комнате.",
|
||||
|
||||
"executable-path-tooltip" : u"Расположение Вашего видеопроигрывателя (MPC-HC, VLC, mplayer2 или mpv).",
|
||||
"media-path-tooltip" : u"Расположение видеофайла или потока для просмотра. Обязательно для mpv и mplayer2.",
|
||||
"media-path-tooltip" : u"Расположение видеофайла или потока для просмотра. Обязательно для mplayer2.", # TODO: Confirm translation
|
||||
"player-arguments-tooltip" : u"Передавать дополнительные аргументы командной строки этому проигрывателю.",
|
||||
"mediasearcdirectories-arguments-tooltip" : u"Папки, где Syncplay будет искать медиа файлы, включая подпапки.",
|
||||
|
||||
|
@ -89,6 +89,9 @@ class ConfigDialog(QtGui.QDialog):
|
||||
self.resetButton.show()
|
||||
self.playerargsTextbox.show()
|
||||
self.playerargsLabel.show()
|
||||
self.mediapathTextbox.show()
|
||||
self.mediapathLabel.show()
|
||||
self.mediabrowseButton.show()
|
||||
self.runButton.show()
|
||||
self.saveMoreState(True)
|
||||
self.tabListWidget.setCurrentRow(0)
|
||||
@ -100,6 +103,14 @@ class ConfigDialog(QtGui.QDialog):
|
||||
self.playerargsTextbox.hide()
|
||||
self.playerargsLabel.hide()
|
||||
self.runButton.hide()
|
||||
if self.mediapathTextbox.text() == "":
|
||||
self.mediapathTextbox.hide()
|
||||
self.mediapathLabel.hide()
|
||||
self.mediabrowseButton.hide()
|
||||
else:
|
||||
self.mediapathTextbox.show()
|
||||
self.mediapathLabel.show()
|
||||
self.mediabrowseButton.show()
|
||||
self.saveMoreState(False)
|
||||
self.stackedLayout.setCurrentIndex(0)
|
||||
newHeight = self.connectionSettingsGroup.minimumSizeHint().height()+self.mediaplayerSettingsGroup.minimumSizeHint().height()+self.bottomButtonFrame.minimumSizeHint().height()+3
|
||||
@ -110,7 +121,6 @@ class ConfigDialog(QtGui.QDialog):
|
||||
self.setFixedSize(self.sizeHint())
|
||||
self.moreToggling = False
|
||||
self.setFixedWidth(self.minimumSizeHint().width())
|
||||
self.executablepathCombobox.setFixedWidth(self.mediapathTextbox.width())
|
||||
|
||||
def openHelp(self):
|
||||
self.QtGui.QDesktopServices.openUrl(QUrl("http://syncplay.pl/guide/client/"))
|
||||
@ -415,6 +425,9 @@ class ConfigDialog(QtGui.QDialog):
|
||||
self.executablepathCombobox.setEditText(dropfilepath)
|
||||
else:
|
||||
self.mediapathTextbox.setText(dropfilepath)
|
||||
self.mediapathTextbox.show()
|
||||
self.mediapathLabel.show()
|
||||
self.mediabrowseButton.show()
|
||||
|
||||
def processWidget(self, container, torun):
|
||||
for widget in container.children():
|
||||
@ -514,8 +527,12 @@ class ConfigDialog(QtGui.QDialog):
|
||||
if self.publicServers:
|
||||
i = 0
|
||||
for publicServer in self.publicServers:
|
||||
self.hostCombobox.addItem(publicServer[1])
|
||||
self.hostCombobox.setItemData(i, publicServer[0], Qt.ToolTipRole)
|
||||
serverTitle = publicServer[0]
|
||||
serverAddressPort = publicServer[1]
|
||||
self.hostCombobox.addItem(serverAddressPort)
|
||||
self.hostCombobox.setItemData(i, serverTitle, Qt.ToolTipRole)
|
||||
if not serverAddressPort in self.publicServerAddresses:
|
||||
self.publicServerAddresses.append(serverAddressPort)
|
||||
i += 1
|
||||
self.hostCombobox.setEditable(True)
|
||||
self.hostCombobox.setEditText(host)
|
||||
@ -539,6 +556,8 @@ class ConfigDialog(QtGui.QDialog):
|
||||
self.usernameTextbox.setObjectName("name")
|
||||
self.serverpassLabel.setObjectName("password")
|
||||
self.serverpassTextbox.setObjectName("password")
|
||||
self.hostCombobox.editTextChanged.connect(self.updatePasswordVisibilty)
|
||||
self.hostCombobox.currentIndexChanged.connect(self.updatePasswordVisibilty)
|
||||
self.defaultroomLabel.setObjectName("room")
|
||||
self.defaultroomTextbox.setObjectName("room")
|
||||
|
||||
@ -566,11 +585,12 @@ class ConfigDialog(QtGui.QDialog):
|
||||
self.executableiconImage = QtGui.QImage()
|
||||
self.executableiconLabel = QLabel(self)
|
||||
self.executableiconLabel.setMinimumWidth(16)
|
||||
self.executableiconLabel.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
|
||||
self.executablepathCombobox = QtGui.QComboBox(self)
|
||||
self.executablepathCombobox.setEditable(True)
|
||||
self.executablepathCombobox.currentIndexChanged.connect(self.updateExecutableIcon)
|
||||
self.executablepathCombobox.setEditText(self._tryToFillPlayerPath(config['playerPath'], playerpaths))
|
||||
self.executablepathCombobox.setFixedWidth(165)
|
||||
self.executablepathCombobox.setFixedWidth(250)
|
||||
self.executablepathCombobox.editTextChanged.connect(self.updateExecutableIcon)
|
||||
|
||||
self.executablepathLabel = QLabel(getMessage("executable-path-label"), self)
|
||||
@ -993,7 +1013,6 @@ class ConfigDialog(QtGui.QDialog):
|
||||
def showEvent(self, *args, **kwargs):
|
||||
self.ensureTabListIsVisible()
|
||||
self.setFixedWidth(self.minimumSizeHint().width())
|
||||
self.executablepathCombobox.setFixedWidth(self.mediapathTextbox.width())
|
||||
|
||||
def clearGUIData(self, leaveMore=False):
|
||||
settings = QSettings("Syncplay", "PlayerList")
|
||||
@ -1025,8 +1044,25 @@ class ConfigDialog(QtGui.QDialog):
|
||||
for server in self.publicServers:
|
||||
self.hostCombobox.addItem(server[1])
|
||||
self.hostCombobox.setItemData(i, server[0], Qt.ToolTipRole)
|
||||
if not server[1] in self.publicServerAddresses:
|
||||
self.publicServerAddresses.append(server[1])
|
||||
i += 1
|
||||
self.hostCombobox.setEditText(currentServer)
|
||||
|
||||
def updatePasswordVisibilty(self):
|
||||
if (self.hostCombobox.currentText() == "" and self.serverpassTextbox.text() == "") or unicode(self.hostCombobox.currentText()) in self.publicServerAddresses:
|
||||
self.serverpassLabel.hide()
|
||||
self.serverpassTextbox.hide()
|
||||
self.serverpassTextbox.setText("")
|
||||
else:
|
||||
self.serverpassLabel.show()
|
||||
self.serverpassTextbox.show()
|
||||
newHeight = self.connectionSettingsGroup.minimumSizeHint().height()+self.mediaplayerSettingsGroup.minimumSizeHint().height()+self.bottomButtonFrame.minimumSizeHint().height()+3
|
||||
if self.error:
|
||||
newHeight += self.errorLabel.height()+3
|
||||
self.stackedFrame.setFixedHeight(newHeight)
|
||||
self.adjustSize()
|
||||
self.setFixedSize(self.sizeHint())
|
||||
|
||||
def __init__(self, config, playerpaths, error, defaultConfig):
|
||||
self.config = config
|
||||
@ -1036,6 +1072,7 @@ class ConfigDialog(QtGui.QDialog):
|
||||
self.config['resetConfig'] = False
|
||||
self.subitems = {}
|
||||
self.publicServers = None
|
||||
self.publicServerAddresses = []
|
||||
|
||||
self._playerProbeThread = GetPlayerIconThread()
|
||||
self._playerProbeThread.done.connect(self._updateExecutableIcon)
|
||||
@ -1084,6 +1121,14 @@ class ConfigDialog(QtGui.QDialog):
|
||||
self.playerargsTextbox.hide()
|
||||
self.playerargsLabel.hide()
|
||||
self.runButton.hide()
|
||||
if self.mediapathTextbox.text() == "":
|
||||
self.mediapathTextbox.hide()
|
||||
self.mediapathLabel.hide()
|
||||
self.mediabrowseButton.hide()
|
||||
else:
|
||||
self.mediapathTextbox.show()
|
||||
self.mediapathLabel.show()
|
||||
self.mediabrowseButton.show()
|
||||
newHeight = self.connectionSettingsGroup.minimumSizeHint().height()+self.mediaplayerSettingsGroup.minimumSizeHint().height()+self.bottomButtonFrame.minimumSizeHint().height()+3
|
||||
if self.error:
|
||||
newHeight +=self.errorLabel.height()+3
|
||||
@ -1108,3 +1153,4 @@ class ConfigDialog(QtGui.QDialog):
|
||||
self.processWidget(self, lambda w: self.loadValues(w))
|
||||
self.processWidget(self, lambda w: self.connectChildren(w))
|
||||
self.populateEmptyServerList()
|
||||
self.updatePasswordVisibilty()
|
Loading…
Reference in New Issue
Block a user