Auto save room name by default (optional), make room name list alphabetical
This commit is contained in:
parent
28069a150c
commit
92d2d580f9
@ -534,6 +534,7 @@ class SyncplayClient(object):
|
||||
# TODO: Handle cases where users add www. to start of domain
|
||||
|
||||
def setRoomList(self, newRoomList):
|
||||
newRoomList = sorted(newRoomList)
|
||||
from syncplay.ui.ConfigurationGetter import ConfigurationGetter
|
||||
ConfigurationGetter().setConfigOption("roomList", newRoomList)
|
||||
oldRoomList = self._config['roomList']
|
||||
@ -1041,6 +1042,8 @@ class SyncplayClient(object):
|
||||
def storeControlPassword(self, room, password):
|
||||
if password:
|
||||
self.controlpasswords[room] = password
|
||||
if self._config['autosaveJoinsToList']:
|
||||
self.ui.addRoomToList(room+":"+password)
|
||||
|
||||
def getControlledRoomPassword(self, room):
|
||||
if room in self.controlpasswords:
|
||||
@ -1637,6 +1640,9 @@ class UiManager(object):
|
||||
def updateRoomName(self, room=""):
|
||||
self.__ui.updateRoomName(room)
|
||||
|
||||
def addRoomToList(self, room):
|
||||
self.__ui.addRoomToList(room)
|
||||
|
||||
def executeCommand(self, command):
|
||||
self.__ui.executeCommand(command)
|
||||
|
||||
|
||||
@ -392,6 +392,8 @@ de = {
|
||||
"privacy-sendhashed-tooltip": "Die Informationen gehasht übertragen, um sie für andere Clients schwerer lesbar zu machen.",
|
||||
"privacy-dontsend-tooltip": "Diese Information nicht übertragen. Dies garantiert den größtmöglichen Datanschutz.",
|
||||
"checkforupdatesautomatically-tooltip": "Regelmäßig auf der Syncplay-Website nach Updates suchen.",
|
||||
"autosavejoinstolist-tooltip": "When you join a room in a server, automatically remember the room name in the list of rooms to join.", # TO DO: Translate
|
||||
"autosavejoinstolist-label": "Add rooms you join to the room list e", # TO DO: Translate
|
||||
"slowondesync-tooltip": "Reduziert die Abspielgeschwindigkeit zeitweise, um die Synchronität zu den anderen Clients wiederherzustellen.",
|
||||
"rewindondesync-label": "Zurückspulen bei großer Zeitdifferenz (empfohlen)",
|
||||
"fastforwardondesync-label": "Vorspulen wenn das Video laggt (empfohlen)",
|
||||
|
||||
@ -207,6 +207,7 @@ en = {
|
||||
"filename-privacy-label": "Filename information:",
|
||||
"filesize-privacy-label": "File size information:",
|
||||
"checkforupdatesautomatically-label": "Check for Syncplay updates automatically",
|
||||
"autosavejoinstolist-label": "Add rooms you join to the room list",
|
||||
"slowondesync-label": "Slow down on minor desync (not supported on MPC-HC/BE)",
|
||||
"rewindondesync-label": "Rewind on major desync (recommended)",
|
||||
"fastforwardondesync-label": "Fast-forward if lagging behind (recommended)",
|
||||
@ -394,6 +395,7 @@ en = {
|
||||
"privacy-sendhashed-tooltip": "Send a hashed version of the information, making it less visible to other clients.",
|
||||
"privacy-dontsend-tooltip": "Do not send this information to the server. This provides for maximum privacy.",
|
||||
"checkforupdatesautomatically-tooltip": "Regularly check with the Syncplay website to see whether a new version of Syncplay is available.",
|
||||
"autosavejoinstolist-tooltip": "When you join a room in a server, automatically remember the room name in the list of rooms to join.",
|
||||
"slowondesync-tooltip": "Reduce playback rate temporarily when needed to bring you back in sync with other viewers. Not supported on MPC-HC/BE.",
|
||||
"dontslowdownwithme-tooltip": "Means others do not get slowed down or rewinded if your playback is lagging. Useful for room operators.",
|
||||
"pauseonleave-tooltip": "Pause playback if you get disconnected or someone leaves from your room.",
|
||||
|
||||
@ -206,6 +206,7 @@ es = {
|
||||
"filename-privacy-label": "Información del nombre de archivo:",
|
||||
"filesize-privacy-label": "Información del tamaño de archivo:",
|
||||
"checkforupdatesautomatically-label": "Buscar actualizaciones de Syncplay automáticamente",
|
||||
"autosavejoinstolist-label": "Add rooms you join to the room list", # TO DO: Translate
|
||||
"slowondesync-label": "Ralentizar si hay una desincronización menor (no soportado en MPC-HC/BE)",
|
||||
"rewindondesync-label": "Rebobinar si hay una desincronización mayor (recomendado)",
|
||||
"fastforwardondesync-label": "Avanzar rápidamente si hay un retraso (recomendado)",
|
||||
@ -393,6 +394,7 @@ es = {
|
||||
"privacy-sendhashed-tooltip": "Enviar una versión \"hasheada\" de la información, para que sea menos visible para otros clientes.",
|
||||
"privacy-dontsend-tooltip": "No enviar esta información al servidor. Esto proporciona la máxima privacidad.",
|
||||
"checkforupdatesautomatically-tooltip": "Regularmente verificar con el sitio Web de Syncplay para ver si hay una nueva versión de Syncplay disponible.",
|
||||
"autosavejoinstolist-tooltip": "When you join a room in a server, automatically remember the room name in the list of rooms to join.", # TO DO: Translate
|
||||
"slowondesync-tooltip": "Reducir la velocidad de reproducción temporalmente cuando sea necesario, para volver a sincronizar con otros espectadores. No soportado en MPC-HC/BE.",
|
||||
"dontslowdownwithme-tooltip": "Significa que otros no se ralentizan ni rebobinan si la reproducción se retrasa. Útil para operadores de la sala.",
|
||||
"pauseonleave-tooltip": "Pausa la reproducción si te desconectas o alguien sale de tu sala.",
|
||||
|
||||
@ -206,6 +206,7 @@ it = {
|
||||
"filename-privacy-label": "Nome del file:",
|
||||
"filesize-privacy-label": "Dimensione del file:",
|
||||
"checkforupdatesautomatically-label": "Controlla automaticamente gli aggiornamenti di Syncplay",
|
||||
"autosavejoinstolist-label": "Add rooms you join to the room list", # TO DO: Translate
|
||||
"slowondesync-label": "Rallenta in caso di sfasamento minimo (non supportato su MPC-HC/BE)",
|
||||
"rewindondesync-label": "Riavvolgi in caso di grande sfasamento (consigliato)",
|
||||
"fastforwardondesync-label": "Avanzamento rapido in caso di ritardo (consigliato)",
|
||||
@ -393,6 +394,7 @@ it = {
|
||||
"privacy-sendhashed-tooltip": "Invia una versione cifrata dell'informazione, rendendola meno visibile agli altri client.",
|
||||
"privacy-dontsend-tooltip": "Non inviare questa informazione al server. Questo garantisce massima privacy.",
|
||||
"checkforupdatesautomatically-tooltip": "Controlla regolarmente la presenza di nuove versioni di Syncplay.",
|
||||
"autosavejoinstolist-tooltip": "When you join a room in a server, automatically remember the room name in the list of rooms to join.", # TO DO: Translate
|
||||
"slowondesync-tooltip": "Riduce temporaneamente la velocità di riproduzione quando c'è bisogno di sincronizzarti con gli altri utenti. Non supportato su MPC-HC/BE.",
|
||||
"dontslowdownwithme-tooltip": "Gli altri utenti non vengono rallentati se non sei sincronizzato. Utile per i gestori della stanza.",
|
||||
"pauseonleave-tooltip": "Mette in pausa la riproduzione se vieni disconnesso o se qualcuno lascia la stanza.",
|
||||
|
||||
@ -206,6 +206,7 @@ pt_BR = {
|
||||
"filename-privacy-label": "Informação do nome do arquivo:",
|
||||
"filesize-privacy-label": "Informação do tamanho do arquivo:",
|
||||
"checkforupdatesautomatically-label": "Verificar atualizações do Syncplay automaticamente",
|
||||
"autosavejoinstolist-label": "Add rooms you join to the room list", # TO DO: Translate
|
||||
"slowondesync-label": "Diminuir velocidade em dessincronizações menores (não suportado pelo MPC-HC/BE)",
|
||||
"rewindondesync-label": "Retroceder em dessincronização maiores (recomendado)",
|
||||
"fastforwardondesync-label": "Avançar se estiver ficando para trás (recomendado)",
|
||||
@ -393,6 +394,7 @@ pt_BR = {
|
||||
"privacy-sendhashed-tooltip": "Mandar versão hasheada da informação, tornando-a menos visível aos outros clients.",
|
||||
"privacy-dontsend-tooltip": "Não enviar esta informação ao servidor. Esta opção oferece a maior privacidade.",
|
||||
"checkforupdatesautomatically-tooltip": "Checar o site do Syncplay regularmente para ver se alguma nova versão do Syncplay está disponível.",
|
||||
"autosavejoinstolist-tooltip": "When you join a room in a server, automatically remember the room name in the list of rooms to join.", # TO DO: Translate
|
||||
"slowondesync-tooltip": "Reduzir a velocidade de reprodução temporariamente quando necessário para trazer você de volta à sincronia com os outros espectadores. Não suportado pelo MPC-HC/BE.",
|
||||
"dontslowdownwithme-tooltip": "Significa que outros não serão desacelerados ou retrocedidos se sua reprodução estiver ficando para trás. Útil para operadores de salas.",
|
||||
"pauseonleave-tooltip": "Pausar reprodução se você for disconectado ou se alguém sair da sua sala.",
|
||||
|
||||
@ -393,6 +393,8 @@ pt_PT = {
|
||||
"privacy-sendhashed-tooltip": "Mandar versão hasheada da informação, tornando-a menos visível aos outros clients.",
|
||||
"privacy-dontsend-tooltip": "Não enviar esta informação ao servidor. Esta opção oferece a maior privacidade.",
|
||||
"checkforupdatesautomatically-tooltip": "Verificar o site do Syncplay regularmente para ver se alguma nova versão do Syncplay está disponível.",
|
||||
"autosavejoinstolist-tooltip": "When you join a room in a server, automatically remember the room name in the list of rooms to join.", # TO DO: Translate
|
||||
"autosavejoinstolist-label": "Add rooms you join to the room list", # TO DO: Translate
|
||||
"slowondesync-tooltip": "Reduzir a velocidade de reprodução temporariamente quando necessário para trazer você de volta à sincronia com os outros espectadores. Não suportado pelo MPC-HC/BE.",
|
||||
"dontslowdownwithme-tooltip": "Significa que outros não serão desacelerados ou retrocedidos se sua reprodução estiver ficando para trás. Útil para administradores de salas.",
|
||||
"pauseonleave-tooltip": "Pausar reprodução se você for disconectado ou se alguém sair da sua sala.",
|
||||
|
||||
@ -207,6 +207,7 @@ ru = {
|
||||
"filename-privacy-label": "Имя файла:",
|
||||
"filesize-privacy-label": "Размер файла:",
|
||||
"checkforupdatesautomatically-label": "Проверять обновления автоматически",
|
||||
"autosavejoinstolist-label": "Add rooms you join to the room list", # TO DO: Translate
|
||||
"slowondesync-label": "Замедлять при небольших рассинхронизациях (не поддерживаетя в MPC-HC/BE)",
|
||||
"rewindondesync-label": "Перемотка при больших рассинхронизациях (настоятельно рекомендуется)",
|
||||
"dontslowdownwithme-label": "Никогда не замедлять и не перематывать видео другим (функция тестируется)",
|
||||
@ -396,6 +397,7 @@ ru = {
|
||||
"privacy-sendhashed-tooltip": "Отправляет хэш-сумму этой информации, делая ее невидимой для других пользователей.",
|
||||
"privacy-dontsend-tooltip": "Не отправлять эту информацию на сервер. Предоставляет наибольшую приватность.",
|
||||
"checkforupdatesautomatically-tooltip": "Syncplay будет регулярно заходить на сайт и проверять наличие новых версий.",
|
||||
"autosavejoinstolist-tooltip": "When you join a room in a server, automatically remember the room name in the list of rooms to join.", # TO DO: Translate
|
||||
"slowondesync-tooltip": "Временно уменьшить скорость воспроизведения в целях синхронизации с другими зрителями. Не поддерживается в MPC-HC/BE.",
|
||||
"dontslowdownwithme-tooltip": "Ваши лаги не будут влиять на других зрителей.",
|
||||
"pauseonleave-tooltip": "Приостановить воспроизведение, если Вы покинули комнату или кто-то из зрителей отключился от сервера.",
|
||||
|
||||
@ -38,6 +38,7 @@ class ConfigurationGetter(object):
|
||||
"loopAtEndOfPlaylist": False,
|
||||
"loopSingleFiles": False,
|
||||
"onlySwitchToTrustedDomains": True,
|
||||
"autosaveJoinsToList": True,
|
||||
"trustedDomains": constants.DEFAULT_TRUSTED_DOMAINS,
|
||||
"file": None,
|
||||
"playerArgs": [],
|
||||
@ -137,6 +138,7 @@ class ConfigurationGetter(object):
|
||||
"loopAtEndOfPlaylist",
|
||||
"loopSingleFiles",
|
||||
"onlySwitchToTrustedDomains",
|
||||
"autosaveJoinsToList",
|
||||
"chatInputEnabled",
|
||||
"chatInputFontUnderline",
|
||||
"chatDirectInput",
|
||||
@ -196,6 +198,7 @@ class ConfigurationGetter(object):
|
||||
"loopSingleFiles",
|
||||
"onlySwitchToTrustedDomains", "trustedDomains", "publicServers"],
|
||||
"gui": [
|
||||
"autosaveJoinsToList",
|
||||
"showOSD", "showOSDWarnings", "showSlowdownOSD",
|
||||
"showDifferentRoomOSD", "showSameRoomOSD",
|
||||
"showNonControllerOSD", "showDurationNotification",
|
||||
|
||||
@ -178,6 +178,7 @@ class ConfigDialog(QtWidgets.QDialog):
|
||||
result = RoomsDialog.exec_()
|
||||
if result == QtWidgets.QDialog.Accepted:
|
||||
newRooms = utils.convertMultilineStringToList(RoomsTextbox.toPlainText())
|
||||
newRooms = sorted(newRooms)
|
||||
self.relistRoomList(newRooms)
|
||||
|
||||
def safenormcaseandpath(self, path):
|
||||
@ -422,9 +423,9 @@ class ConfigDialog(QtWidgets.QDialog):
|
||||
if not newRoom:
|
||||
return
|
||||
roomList = self.config['roomList']
|
||||
if newRoom in roomList:
|
||||
roomList.remove(newRoom)
|
||||
roomList.insert(0, newRoom)
|
||||
if newRoom not in roomList:
|
||||
roomList.append(newRoom)
|
||||
roomList = sorted(roomList)
|
||||
self.config['roomList'] = roomList
|
||||
|
||||
def showErrorMessage(self, errorMessage):
|
||||
@ -495,6 +496,8 @@ class ConfigDialog(QtWidgets.QDialog):
|
||||
self.config['file'] = str(self.mediapathTextbox.text())
|
||||
self.config['publicServers'] = self.publicServerAddresses
|
||||
self.config['room'] = self.roomsCombobox.currentText()
|
||||
if self.config['autosaveJoinsToList']:
|
||||
self.addRoomToList(self.config['room'])
|
||||
|
||||
self.pressedclosebutton = False
|
||||
self.close()
|
||||
@ -649,7 +652,6 @@ class ConfigDialog(QtWidgets.QDialog):
|
||||
self.serverpassLabel = QLabel(getMessage("password-label"), self)
|
||||
self.roomsCombobox = QtWidgets.QComboBox(self)
|
||||
self.roomsCombobox.setEditable(True)
|
||||
# self.addRoomToHistory(config['room']) - TO DO: Make this optional
|
||||
self.fillRoomsCombobox()
|
||||
self.roomsCombobox.setEditText(config['room'])
|
||||
self.usernameLabel = QLabel(getMessage("name-label"), self)
|
||||
@ -893,6 +895,10 @@ class ConfigDialog(QtWidgets.QDialog):
|
||||
self.automaticupdatesCheckbox.setObjectName("checkForUpdatesAutomatically")
|
||||
self.internalSettingsLayout.addWidget(self.automaticupdatesCheckbox)
|
||||
|
||||
self.autosaveJoinsToListCheckbox = QCheckBox(getMessage("autosavejoinstolist-label"))
|
||||
self.autosaveJoinsToListCheckbox.setObjectName("autosaveJoinsToList")
|
||||
self.internalSettingsLayout.addWidget(self.autosaveJoinsToListCheckbox)
|
||||
|
||||
## Media path directories
|
||||
|
||||
self.mediasearchSettingsGroup = QtWidgets.QGroupBox(getMessage("syncplay-mediasearchdirectories-title"))
|
||||
|
||||
@ -89,6 +89,9 @@ class ConsoleUI(threading.Thread):
|
||||
def userListChange(self):
|
||||
pass
|
||||
|
||||
def addRoomToList(self):
|
||||
pass
|
||||
|
||||
def fileSwitchFoundFiles(self):
|
||||
pass
|
||||
|
||||
|
||||
@ -53,7 +53,7 @@ class ConsoleInGUI(ConsoleUI):
|
||||
def showErrorMessage(self, message, criticalerror=False):
|
||||
self._syncplayClient.ui.showErrorMessage(message, criticalerror)
|
||||
|
||||
def updateRoomName(self, room=""):
|
||||
def updateRoomName(self, room=""): #bob
|
||||
self._syncplayClient.ui.updateRoomName(room)
|
||||
|
||||
def getUserlist(self):
|
||||
@ -467,6 +467,18 @@ class MainWindow(QtWidgets.QMainWindow):
|
||||
self.roomsCombobox.addItem(roomListValue)
|
||||
self.roomsCombobox.setEditText(previousRoomSelection)
|
||||
|
||||
def addRoomToList(self, newRoom=None):
|
||||
if newRoom is None:
|
||||
newRoom = self.roomsCombobox.currentText()
|
||||
if not newRoom:
|
||||
return
|
||||
roomList = self.config['roomList']
|
||||
if newRoom not in roomList:
|
||||
roomList.append(newRoom)
|
||||
self.config['roomList'] = roomList
|
||||
roomList = sorted(roomList)
|
||||
self._syncplayClient.setRoomList(roomList)
|
||||
self.relistRoomList(roomList)
|
||||
|
||||
def addClient(self, client):
|
||||
self._syncplayClient = client
|
||||
@ -879,6 +891,8 @@ class MainWindow(QtWidgets.QMainWindow):
|
||||
|
||||
def updateRoomName(self, room=""):
|
||||
self.roomsCombobox.setEditText(room)
|
||||
if self.config['autosaveJoinsToList']:
|
||||
self.addRoomToList(room)
|
||||
|
||||
def showDebugMessage(self, message):
|
||||
print(message)
|
||||
@ -909,6 +923,8 @@ class MainWindow(QtWidgets.QMainWindow):
|
||||
if room != self._syncplayClient.getRoom():
|
||||
self._syncplayClient.setRoom(room, resetAutoplay=True)
|
||||
self._syncplayClient.sendRoom()
|
||||
if self.config['autosaveJoinsToList']:
|
||||
self.addRoomToList(room)
|
||||
|
||||
def seekPositionDialog(self):
|
||||
seekTime, ok = QtWidgets.QInputDialog.getText(
|
||||
@ -1153,6 +1169,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
||||
result = RoomsDialog.exec_()
|
||||
if result == QtWidgets.QDialog.Accepted:
|
||||
newRooms = utils.convertMultilineStringToList(RoomsTextbox.toPlainText())
|
||||
newRooms = sorted(newRooms)
|
||||
self.relistRoomList(newRooms)
|
||||
self._syncplayClient.setRoomList(newRooms)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user