diff --git a/.travis.yml b/.travis.yml index accff29..84377f7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,13 +10,14 @@ script: before_install: - brew update -- brew install python +- brew install python@2 - brew tap cartr/qt4 - brew tap-pin cartr/qt4 - brew install pyside install: #- export PATH=/usr/local/bin:$PATH +- export PATH="/usr/local/opt/python@2/bin:$PATH" - export QT_PREFERRED_BINDING="PySide" - pip2 install twisted appnope pyobjc py2app diff --git a/syncplay/__init__.py b/syncplay/__init__.py index e039478..c66c5cc 100644 --- a/syncplay/__init__.py +++ b/syncplay/__init__.py @@ -1,4 +1,4 @@ version = '1.5.2' milestone = 'Yoitsu' -release_number = '56' +release_number = '57' projectURL = 'http://syncplay.pl/' diff --git a/syncplay/constants.py b/syncplay/constants.py index f5f0f41..d6a2d73 100644 --- a/syncplay/constants.py +++ b/syncplay/constants.py @@ -10,7 +10,7 @@ UI_TIME_FORMAT = "[%X] " CONFIG_NAMES = [".syncplay", "syncplay.ini"] #Syncplay searches first to last DEFAULT_CONFIG_NAME_WINDOWS = "syncplay.ini" DEFAULT_CONFIG_NAME_LINUX = ".syncplay" -RECENT_CLIENT_THRESHOLD = "1.5.1" #This and higher considered 'recent' clients (no warnings) +RECENT_CLIENT_THRESHOLD = "1.5.2" #This and higher considered 'recent' clients (no warnings) WARN_OLD_CLIENTS = True #Use MOTD to inform old clients to upgrade LIST_RELATIVE_CONFIGS = True # Print list of relative configs loaded SHOW_CONTACT_INFO = True # Displays dev contact details below list in GUI @@ -66,8 +66,8 @@ DEFAULT_CHAT_OUTPUT_FONT_COLOR = "#FFFF00" DEFAULT_CHAT_FONT_WEIGHT = 1 # Max numbers are used by server (and client pre-connection). Once connected client gets values from server featureList (or uses 'fallback' versions for old servers) -MAX_CHAT_MESSAGE_LENGTH = 125 # Number of displayed characters -MAX_USERNAME_LENGTH = 20 # Number of displayed characters +MAX_CHAT_MESSAGE_LENGTH = 150 # Number of displayed characters +MAX_USERNAME_LENGTH = 150 # Number of displayed characters MAX_ROOM_NAME_LENGTH = 35 # Number of displayed characters MAX_FILENAME_LENGTH = 250 # Number of displayed characters FALLBACK_MAX_CHAT_MESSAGE_LENGTH = 50 # Number of displayed characters diff --git a/syncplay/messages_de.py b/syncplay/messages_de.py index f015834..b389a97 100644 --- a/syncplay/messages_de.py +++ b/syncplay/messages_de.py @@ -433,6 +433,7 @@ de = { "server-motd-argument": u"Pfad zur Datei, von der die Nachricht des Tages geladen wird", "server-chat-argument" : "Should chat be disabled?", # TODO: Translate "server-chat-maxchars-argument": u"Maximum number of characters in a chat message (default is {})", # TODO: Translate + "server-maxusernamelength-argument" : u"Maximum number of charactrs in a username (default is {})", # TODO: Translate "server-messed-up-motd-unescaped-placeholders": u"Die Nachricht des Tages hat unmaskierte Platzhalter. Alle $-Zeichen sollten verdoppelt werden ($$).", "server-messed-up-motd-too-long": u"Die Nachricht des Tages ist zu lang - Maximal {} Zeichen, aktuell {}.", @@ -454,7 +455,7 @@ de = { "sharedplaylistenabled-label" : u"Enable shared playlists", "removefromplaylist-menu-label" : u"Remove from playlist", "shuffleremainingplaylist-menu-label" : u"Shuffle remaining playlist", - "shuffleentireplaylist-menuu-label" : u"Shuffle entire playlist", + "shuffleentireplaylist-menu-label" : u"Shuffle entire playlist", "undoplaylist-menu-label" : u"Undo last change to playlist", "addfilestoplaylist-menu-label" : u"Add file(s) to bottom of playlist", "addurlstoplaylist-menu-label" : u"Add URL(s) to bottom of playlist", diff --git a/syncplay/messages_en.py b/syncplay/messages_en.py index 4d04b04..ce216ed 100644 --- a/syncplay/messages_en.py +++ b/syncplay/messages_en.py @@ -437,6 +437,7 @@ en = { "server-motd-argument": "path to file from which motd will be fetched", "server-chat-argument" : "Should chat be disabled?", "server-chat-maxchars-argument" : u"Maximum number of characters in a chat message (default is {})", # Default number of characters + "server-maxusernamelength-argument" : u"Maximum number of charactrs in a username (default is {})", "server-messed-up-motd-unescaped-placeholders": "Message of the Day has unescaped placeholders. All $ signs should be doubled ($$).", "server-messed-up-motd-too-long": u"Message of the Day is too long - maximum of {} chars, {} given.", @@ -458,7 +459,7 @@ en = { "sharedplaylistenabled-label" : u"Enable shared playlists", "removefromplaylist-menu-label" : u"Remove from playlist", "shuffleremainingplaylist-menu-label" : u"Shuffle remaining playlist", - "shuffleentireplaylist-menuu-label" : u"Shuffle entire playlist", + "shuffleentireplaylist-menu-label" : u"Shuffle entire playlist", "undoplaylist-menu-label" : u"Undo last change to playlist", "addfilestoplaylist-menu-label" : u"Add file(s) to bottom of playlist", "addurlstoplaylist-menu-label" : u"Add URL(s) to bottom of playlist", diff --git a/syncplay/messages_it.py b/syncplay/messages_it.py index 53a5c1e..22f6381 100644 --- a/syncplay/messages_it.py +++ b/syncplay/messages_it.py @@ -438,6 +438,7 @@ it = { "server-motd-argument": u"percorso del file da cui verrà letto il messaggio del giorno", "server-chat-argument" : u"abilita o disabilita la chat", "server-chat-maxchars-argument" : u"Numero massimo di caratteri in un messaggio di chat (default è {})", # Default number of characters + "server-maxusernamelength-argument": u"Maximum number of charactrs in a username (default is {})", # TODO: Translate "server-messed-up-motd-unescaped-placeholders": u"Il messaggio del giorno ha dei caratteri non 'escaped'. Tutti i simboli $ devono essere doppi ($$).", "server-messed-up-motd-too-long": u"Il messaggio del giorno è troppo lungo - numero massimo di caratteri è {}, {} trovati.", @@ -459,7 +460,7 @@ it = { "sharedplaylistenabled-label" : u"Abilita le playlist condivise", "removefromplaylist-menu-label" : u"Rimuovi dalla playlist", "shuffleremainingplaylist-menu-label" : u"Mescola i file non ancora riprodotti", - "shuffleentireplaylist-menuu-label" : u"Mescola l'intera playlist", + "shuffleentireplaylist-menu-label" : u"Mescola l'intera playlist", "undoplaylist-menu-label" : u"Annulla l'ultima modifica alla playlist", "addfilestoplaylist-menu-label" : u"Aggiungi un file alla fine della playlist", "addurlstoplaylist-menu-label" : u"Aggiungi un indirizzo alla fine della playlist", diff --git a/syncplay/messages_ru.py b/syncplay/messages_ru.py index 0b47c07..f32e73f 100644 --- a/syncplay/messages_ru.py +++ b/syncplay/messages_ru.py @@ -439,6 +439,7 @@ ru = { "server-motd-argument" : u"путь к файлу, из которого будет извлекаться MOTD-сообщение", "server-chat-argument" : "Should chat be disabled?", # TODO: Translate "server-chat-maxchars-argument": u"Maximum number of characters in a chat message (default is {})", # TODO: Translate + "server-maxusernamelength-argument": u"Maximum number of charactrs in a username (default is {})", # TODO: Translate "server-messed-up-motd-unescaped-placeholders" : u"MOTD-сообщение содержит неэкранированные спец.символы. Все знаки $ должны быть продублированы ($$).", "server-messed-up-motd-too-long" : u"MOTD-сообщение слишком длинное: максимальная длина - {} символ(ов), текущая длина - {} символ(ов).", @@ -459,7 +460,7 @@ ru = { "sharedplaylistenabled-label" : u"Включить общий список воспроизведения", "removefromplaylist-menu-label" : u"Удалить", "shufflepremaininglaylist-menuu-label" : u"Shuffle remaining playlist", # Was: Перемешать список # TODO: Translate - "shuffleentireplaylist-menuu-label" : u"Shuffle entire playlist", # TODO: Translate + "shuffleentireplaylist-menu-label" : u"Shuffle entire playlist", # TODO: Translate "undoplaylist-menu-label" : u"Отменить последнее действие", "addfilestoplaylist-menu-label" : u"Добавить файлы в очередь", "addurlstoplaylist-menu-label" : u"Добавить ссылку в очередь", diff --git a/syncplay/server.py b/syncplay/server.py index 21a09ad..8e1c625 100644 --- a/syncplay/server.py +++ b/syncplay/server.py @@ -14,7 +14,7 @@ import argparse from syncplay.utils import RoomPasswordProvider, NotControlledRoom, RandomStringGenerator, meetsMinVersion, playlistIsValid, truncateText class SyncFactory(Factory): - def __init__(self, password='', motdFilePath=None, isolateRooms=False, salt=None, disableReady=False,disableChat=False, maxChatMessageLength=constants.MAX_CHAT_MESSAGE_LENGTH): + def __init__(self, password='', motdFilePath=None, isolateRooms=False, salt=None, disableReady=False,disableChat=False, maxChatMessageLength=constants.MAX_CHAT_MESSAGE_LENGTH, maxUsernameLength=constants.MAX_USERNAME_LENGTH): self.isolateRooms = isolateRooms print getMessage("welcome-server-notification").format(syncplay.version) if password: @@ -28,6 +28,7 @@ class SyncFactory(Factory): self.disableReady = disableReady self.disableChat = disableChat self.maxChatMessageLength = maxChatMessageLength if maxChatMessageLength is not None else constants.MAX_CHAT_MESSAGE_LENGTH + self.maxUsernameLength = maxUsernameLength if maxUsernameLength is not None else constants.MAX_USERNAME_LENGTH if not isolateRooms: self._roomManager = RoomManager() else: @@ -50,7 +51,7 @@ class SyncFactory(Factory): features["managedRooms"] = True features["chat"] = not self.disableChat features["maxChatMessageLength"] = self.maxChatMessageLength - features["maxUsernameLength"] = constants.MAX_USERNAME_LENGTH + features["maxUsernameLength"] = self.maxUsernameLength features["maxRoomNameLength"] = constants.MAX_ROOM_NAME_LENGTH features["maxFilenameLength"] = constants.MAX_FILENAME_LENGTH @@ -549,3 +550,4 @@ class ConfigurationGetter(object): self._argparser.add_argument('--salt', metavar='salt', type=str, nargs='?', help=getMessage("server-salt-argument")) self._argparser.add_argument('--motd-file', metavar='file', type=str, nargs='?', help=getMessage("server-motd-argument")) self._argparser.add_argument('--max-chat-message-length', metavar='maxChatMessageLength',type=int, nargs='?',help=getMessage("server-chat-maxchars-argument").format(constants.MAX_CHAT_MESSAGE_LENGTH)) + self._argparser.add_argument('--max-username-length', metavar='maxUsernameLength', type=int, nargs='?',help=getMessage("server-maxusernamelength-argument").format(constants.MAX_USERNAME_LENGTH)) diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py index 605007c..fd6bcd3 100755 --- a/syncplay/ui/GuiConfiguration.py +++ b/syncplay/ui/GuiConfiguration.py @@ -596,7 +596,6 @@ class ConfigDialog(QtWidgets.QDialog): self.defaultroomLabel.setObjectName("room") self.defaultroomTextbox.setObjectName("room") - self.usernameTextbox.setMaxLength(constants.MAX_USERNAME_LENGTH) self.defaultroomTextbox.setMaxLength(constants.MAX_ROOM_NAME_LENGTH) self.connectionSettingsLayout = QtWidgets.QGridLayout() diff --git a/syncplay/ui/gui.py b/syncplay/ui/gui.py index d2fa381..e989756 100755 --- a/syncplay/ui/gui.py +++ b/syncplay/ui/gui.py @@ -597,7 +597,7 @@ class MainWindow(QtWidgets.QMainWindow): menu.addAction(QtGui.QPixmap(resourcespath + u"delete.png"), getMessage("removefromplaylist-menu-label"), lambda: self.deleteSelectedPlaylistItems()) menu.addSeparator() menu.addAction(QtGui.QPixmap(resourcespath + u"arrow_switch.png"), getMessage("shuffleremainingplaylist-menu-label"), lambda: self.shuffleRemainingPlaylist()) - menu.addAction(QtGui.QPixmap(resourcespath + u"arrow_switch.png"), getMessage("shuffleentireplaylist-menuu-label"), lambda: self.shuffleEntirePlaylist()) + menu.addAction(QtGui.QPixmap(resourcespath + u"arrow_switch.png"), getMessage("shuffleentireplaylist-menu-label"), lambda: self.shuffleEntirePlaylist()) menu.addAction(QtGui.QPixmap(resourcespath + u"arrow_undo.png"), getMessage("undoplaylist-menu-label"), lambda: self.undoPlaylistChange()) menu.addAction(QtGui.QPixmap(resourcespath + u"film_edit.png"), getMessage("editplaylist-menu-label"), lambda: self.openEditPlaylistDialog()) menu.addAction(QtGui.QPixmap(resourcespath + u"film_add.png"),getMessage("addfilestoplaylist-menu-label"), lambda: self.OpenAddFilesToPlaylistDialog())