diff --git a/syncplay/client.py b/syncplay/client.py index aa3ee1b..dfac60c 100644 --- a/syncplay/client.py +++ b/syncplay/client.py @@ -413,7 +413,7 @@ class SyncplayClient(object): if self.userlist.currentUser.isReady() is not None: self._protocol.setReady(self.userlist.currentUser.isReady()) else: - self._protocol.setReady(False) + self._protocol.setReady(self._config['readyAtStart']) self.reIdentifyAsController() def getRoom(self): diff --git a/syncplay/messages.py b/syncplay/messages.py index 0d6d06b..1bf5f37 100755 --- a/syncplay/messages.py +++ b/syncplay/messages.py @@ -156,6 +156,7 @@ en = { "fastforwardondesync-label" : "Fast-forward if lagging behind (recommended)", "dontslowdownwithme-label" : "Never slow down or rewind others (experimental)", "pauseonleave-label" : "Pause when user leaves (e.g. if they are disconnected)", + "readyatstart-label" : "Set me as 'ready to watch' by default", "forceguiprompt-label" : "Don't always show this dialog", # (Inverted) "nostore-label" : "Don't store this configuration", # (Inverted) "showosd-label" : "Enable OSD Messages", @@ -250,6 +251,7 @@ en = { "slowondesync-tooltip" : "Reduce playback rate temporarily when needed to bring you back in sync with other viewers. Not supported on MPC-HC.", "dontslowdownwithme-tooltip" : "Means others do not get slowed down or rewinded if your playback is lagging. Useful for room controllers.", "pauseonleave-tooltip" : "Pause playback if you get disconnected or someone leaves from your room.", + "readyatstart-tooltip" : "Set yourself as 'ready' at start (otherwise you are set as 'not ready' until you change your readiness state)", "forceguiprompt-tooltip" : "Configuration dialogue is not shown when opening a file with Syncplay.", # (Inverted) "nostore-tooltip" : "Run Syncplay with the given configuration, but do not permanently store the changes.", # (Inverted) "rewindondesync-tooltip" : "Jump back when needed to get back in sync. Disabling this option can result in major desyncs!", diff --git a/syncplay/ui/ConfigurationGetter.py b/syncplay/ui/ConfigurationGetter.py index 9feec05..89ce26b 100755 --- a/syncplay/ui/ConfigurationGetter.py +++ b/syncplay/ui/ConfigurationGetter.py @@ -44,6 +44,7 @@ class ConfigurationGetter(object): "filenamePrivacyMode": constants.PRIVACY_SENDRAW_MODE, "filesizePrivacyMode": constants.PRIVACY_SENDRAW_MODE, "pauseOnLeave": False, + "readyAtStart": False, "clearGUIData": False, "language" : "", "resetConfig" : False, @@ -77,6 +78,7 @@ class ConfigurationGetter(object): "noStore", "dontSlowDownWithMe", "pauseOnLeave", + "readyAtStart", "clearGUIData", "rewindOnDesync", "slowOnDesync", @@ -102,7 +104,7 @@ class ConfigurationGetter(object): self._iniStructure = { "server_data": ["host", "port", "password"], - "client_settings": ["name", "room", "playerPath", "slowdownThreshold", "rewindThreshold", "fastforwardThreshold", "slowOnDesync", "rewindOnDesync", "fastforwardOnDesync", "dontSlowDownWithMe", "forceGuiPrompt", "filenamePrivacyMode", "filesizePrivacyMode", "pauseOnLeave"], + "client_settings": ["name", "room", "playerPath", "slowdownThreshold", "rewindThreshold", "fastforwardThreshold", "slowOnDesync", "rewindOnDesync", "fastforwardOnDesync", "dontSlowDownWithMe", "forceGuiPrompt", "filenamePrivacyMode", "filesizePrivacyMode", "pauseOnLeave", "readyAtStart"], "gui": ["showOSD", "showOSDWarnings", "showSlowdownOSD", "showDifferentRoomOSD", "showSameRoomOSD", "showNonControllerOSD", "showContactInfo" , "showDurationNotification"], "general": ["language"] } diff --git a/syncplay/ui/GuiConfiguration.py b/syncplay/ui/GuiConfiguration.py index 21c69c8..9c1b0f1 100644 --- a/syncplay/ui/GuiConfiguration.py +++ b/syncplay/ui/GuiConfiguration.py @@ -545,17 +545,21 @@ class ConfigDialog(QtGui.QDialog): self.othersyncSettingsLayout.addWidget(self.pauseonleaveCheckbox, 1, 0, 1, 2, Qt.AlignLeft) self.pauseonleaveCheckbox.setObjectName("pauseOnLeave") + self.readyatstartCheckbox = QCheckBox(getMessage("readyatstart-label")) + self.othersyncSettingsLayout.addWidget(self.readyatstartCheckbox, 2, 0, 1, 2, Qt.AlignLeft) + self.readyatstartCheckbox.setObjectName("readyAtStart") + self.dontslowwithmeCheckbox = QCheckBox(getMessage("dontslowdownwithme-label")) self.dontslowwithmeCheckbox.setObjectName("dontSlowDownWithMe") - self.othersyncSettingsLayout.addWidget(self.dontslowwithmeCheckbox, 2, 0, 1, 2, Qt.AlignLeft) + self.othersyncSettingsLayout.addWidget(self.dontslowwithmeCheckbox, 3, 0, 1, 2, Qt.AlignLeft) self.fastforwardThresholdLabel.setObjectName("fastforward-threshold") self.fastforwardThresholdSpinbox.setObjectName("fastforward-threshold") - self.othersyncSettingsLayout.addWidget(self.fastforwardCheckbox, 3, 0,1,2, Qt.AlignLeft) - self.othersyncSettingsLayout.addWidget(self.fastforwardThresholdLabel, 4, 0, 1, 1, Qt.AlignLeft) - self.othersyncSettingsLayout.addWidget(self.fastforwardThresholdSpinbox, 4, 1, Qt.AlignLeft) + self.othersyncSettingsLayout.addWidget(self.fastforwardCheckbox, 4, 0,1,2, Qt.AlignLeft) + self.othersyncSettingsLayout.addWidget(self.fastforwardThresholdLabel, 5, 0, 1, 1, Qt.AlignLeft) + self.othersyncSettingsLayout.addWidget(self.fastforwardThresholdSpinbox, 5, 1, Qt.AlignLeft) self.subitems['fastforwardOnDesync'] = ["fastforward-threshold"] self.othersyncSettingsGroup.setLayout(self.othersyncSettingsLayout)