Make getMessage locale optional and take precedence

This commit is contained in:
Et0h 2014-07-01 13:04:15 +01:00
parent ec936c4e2c
commit b6f755785f
13 changed files with 202 additions and 202 deletions

View File

@ -25,7 +25,7 @@ class SyncClientFactory(ClientFactory):
def startedConnecting(self, connector): def startedConnecting(self, connector):
destination = connector.getDestination() destination = connector.getDestination()
message = getMessage("en", "connection-attempt-notification").format(destination.host, destination.port) message = getMessage("connection-attempt-notification").format(destination.host, destination.port)
self._client.ui.showMessage(message) self._client.ui.showMessage(message)
def clientConnectionLost(self, connector, reason): def clientConnectionLost(self, connector, reason):
@ -33,16 +33,16 @@ class SyncClientFactory(ClientFactory):
self._client.onDisconnect() self._client.onDisconnect()
if self._timesTried < self.retry: if self._timesTried < self.retry:
self._timesTried += 1 self._timesTried += 1
self._client.ui.showMessage(getMessage("en", "reconnection-attempt-notification")) self._client.ui.showMessage(getMessage("reconnection-attempt-notification"))
self.reconnecting = True self.reconnecting = True
reactor.callLater(0.1 * (2 ** self._timesTried), connector.connect) reactor.callLater(0.1 * (2 ** self._timesTried), connector.connect)
else: else:
message = getMessage("en", "disconnection-notification") message = getMessage("disconnection-notification")
self._client.ui.showErrorMessage(message) self._client.ui.showErrorMessage(message)
def clientConnectionFailed(self, connector, reason): def clientConnectionFailed(self, connector, reason):
if not self.reconnecting: if not self.reconnecting:
reactor.callLater(0.1, self._client.ui.showErrorMessage, getMessage("en", "connection-failed-notification"), True) reactor.callLater(0.1, self._client.ui.showErrorMessage, getMessage("connection-failed-notification"), True)
reactor.callLater(0.1, self._client.stop, True) reactor.callLater(0.1, self._client.stop, True)
else: else:
self.clientConnectionLost(connector, reason) self.clientConnectionLost(connector, reason)
@ -93,7 +93,7 @@ class SyncplayClient(object):
self._warnings = self._WarningManager(self._player, self.userlist, self.ui) self._warnings = self._WarningManager(self._player, self.userlist, self.ui)
if constants.LIST_RELATIVE_CONFIGS and self._config.has_key('loadedRelativePaths') and self._config['loadedRelativePaths']: if constants.LIST_RELATIVE_CONFIGS and self._config.has_key('loadedRelativePaths') and self._config['loadedRelativePaths']:
self.ui.showMessage(getMessage("en", "relative-config-notification").format("; ".join(self._config['loadedRelativePaths'])), noPlayer=True, noTimestamp=True) self.ui.showMessage(getMessage("relative-config-notification").format("; ".join(self._config['loadedRelativePaths'])), noPlayer=True, noTimestamp=True)
def initProtocol(self, protocol): def initProtocol(self, protocol):
self._protocol = protocol self._protocol = protocol
@ -121,7 +121,7 @@ class SyncplayClient(object):
def checkIfConnected(self): def checkIfConnected(self):
if(self._lastGlobalUpdate and self._protocol and time.time() - self._lastGlobalUpdate > constants.PROTOCOL_TIMEOUT): if(self._lastGlobalUpdate and self._protocol and time.time() - self._lastGlobalUpdate > constants.PROTOCOL_TIMEOUT):
self._lastGlobalUpdate = None self._lastGlobalUpdate = None
self.ui.showErrorMessage(getMessage("en", "server-timeout-error")) self.ui.showErrorMessage(getMessage("server-timeout-error"))
self._protocol.drop() self._protocol.drop()
return False return False
return True return True
@ -167,7 +167,7 @@ class SyncplayClient(object):
def _rewindPlayerDueToTimeDifference(self, position, setBy): def _rewindPlayerDueToTimeDifference(self, position, setBy):
hideFromOSD = not constants.SHOW_SAME_ROOM_OSD hideFromOSD = not constants.SHOW_SAME_ROOM_OSD
self.setPosition(position) self.setPosition(position)
self.ui.showMessage(getMessage("en", "rewind-notification").format(setBy), hideFromOSD) self.ui.showMessage(getMessage("rewind-notification").format(setBy), hideFromOSD)
madeChangeOnPlayer = True madeChangeOnPlayer = True
return madeChangeOnPlayer return madeChangeOnPlayer
@ -175,7 +175,7 @@ class SyncplayClient(object):
hideFromOSD = not constants.SHOW_SAME_ROOM_OSD hideFromOSD = not constants.SHOW_SAME_ROOM_OSD
self._player.setPaused(False) self._player.setPaused(False)
madeChangeOnPlayer = True madeChangeOnPlayer = True
self.ui.showMessage(getMessage("en", "unpause-notification").format(setBy), hideFromOSD) self.ui.showMessage(getMessage("unpause-notification").format(setBy), hideFromOSD)
return madeChangeOnPlayer return madeChangeOnPlayer
def _serverPaused(self, setBy): def _serverPaused(self, setBy):
@ -185,9 +185,9 @@ class SyncplayClient(object):
self._player.setPaused(True) self._player.setPaused(True)
madeChangeOnPlayer = True madeChangeOnPlayer = True
if (self.lastLeftTime < time.time() - constants.OSD_DURATION) or (hideFromOSD == True): if (self.lastLeftTime < time.time() - constants.OSD_DURATION) or (hideFromOSD == True):
self.ui.showMessage(getMessage("en", "pause-notification").format(setBy), hideFromOSD) self.ui.showMessage(getMessage("pause-notification").format(setBy), hideFromOSD)
else: else:
self.ui.showMessage(getMessage("en", "left-paused-notification").format(self.lastLeftUser, setBy), hideFromOSD) self.ui.showMessage(getMessage("left-paused-notification").format(self.lastLeftUser, setBy), hideFromOSD)
return madeChangeOnPlayer return madeChangeOnPlayer
def _serverSeeked(self, position, setBy): def _serverSeeked(self, position, setBy):
@ -198,7 +198,7 @@ class SyncplayClient(object):
madeChangeOnPlayer = True madeChangeOnPlayer = True
else: else:
madeChangeOnPlayer = False madeChangeOnPlayer = False
message = getMessage("en", "seek-notification").format(setBy, utils.formatTime(self.playerPositionBeforeLastSeek), utils.formatTime(position)) message = getMessage("seek-notification").format(setBy, utils.formatTime(self.playerPositionBeforeLastSeek), utils.formatTime(position))
self.ui.showMessage(message, hideFromOSD) self.ui.showMessage(message, hideFromOSD)
return madeChangeOnPlayer return madeChangeOnPlayer
@ -207,11 +207,11 @@ class SyncplayClient(object):
if(self._config['slowdownThreshold'] < diff and not self._speedChanged): if(self._config['slowdownThreshold'] < diff and not self._speedChanged):
self._player.setSpeed(constants.SLOWDOWN_RATE) self._player.setSpeed(constants.SLOWDOWN_RATE)
self._speedChanged = True self._speedChanged = True
self.ui.showMessage(getMessage("en", "slowdown-notification").format(setBy), hideFromOSD) self.ui.showMessage(getMessage("slowdown-notification").format(setBy), hideFromOSD)
elif(self._speedChanged and diff < constants.SLOWDOWN_RESET_THRESHOLD): elif(self._speedChanged and diff < constants.SLOWDOWN_RESET_THRESHOLD):
self._player.setSpeed(1.00) self._player.setSpeed(1.00)
self._speedChanged = False self._speedChanged = False
self.ui.showMessage(getMessage("en", "revert-notification"), hideFromOSD) self.ui.showMessage(getMessage("revert-notification"), hideFromOSD)
madeChangeOnPlayer = True madeChangeOnPlayer = True
return madeChangeOnPlayer return madeChangeOnPlayer
@ -261,7 +261,7 @@ class SyncplayClient(object):
def setUserOffset(self, time): def setUserOffset(self, time):
self._userOffset = time self._userOffset = time
self.setPosition(self.getGlobalPosition()) self.setPosition(self.getGlobalPosition())
self.ui.showMessage(getMessage("en", "current-offset-notification").format(self._userOffset)) self.ui.showMessage(getMessage("current-offset-notification").format(self._userOffset))
def onDisconnect(self): def onDisconnect(self):
if(self._config['pauseOnLeave']): if(self._config['pauseOnLeave']):
@ -404,7 +404,7 @@ class SyncplayClient(object):
self.ui.drop() self.ui.drop()
reactor.callLater(0.1, reactor.stop) reactor.callLater(0.1, reactor.stop)
if(promptForAction): if(promptForAction):
self.ui.promptFor(getMessage("en", "enter-to-exit-prompt")) self.ui.promptFor(getMessage("enter-to-exit-prompt"))
class _WarningManager(object): class _WarningManager(object):
def __init__(self, player, userlist, ui): def __init__(self, player, userlist, ui):
@ -427,7 +427,7 @@ class SyncplayClient(object):
def _checkRoomForSameFiles(self): def _checkRoomForSameFiles(self):
if (not self._userlist.areAllFilesInRoomSame()): if (not self._userlist.areAllFilesInRoomSame()):
self._ui.showMessage(getMessage("en", "room-files-not-same"), True) self._ui.showMessage(getMessage("room-files-not-same"), True)
if(constants.SHOW_OSD_WARNINGS and not self._warnings["room-files-not-same"]['timer'].running): if(constants.SHOW_OSD_WARNINGS and not self._warnings["room-files-not-same"]['timer'].running):
self._warnings["room-files-not-same"]['timer'].start(constants.WARNING_OSD_MESSAGES_LOOP_INTERVAL, True) self._warnings["room-files-not-same"]['timer'].start(constants.WARNING_OSD_MESSAGES_LOOP_INTERVAL, True)
elif(self._warnings["room-files-not-same"]['timer'].running): elif(self._warnings["room-files-not-same"]['timer'].running):
@ -435,7 +435,7 @@ class SyncplayClient(object):
def _checkIfYouReAloneInTheRoom(self): def _checkIfYouReAloneInTheRoom(self):
if (self._userlist.areYouAloneInRoom()): if (self._userlist.areYouAloneInRoom()):
self._ui.showMessage(getMessage("en", "alone-in-the-room"), True) self._ui.showMessage(getMessage("alone-in-the-room"), True)
if(constants.SHOW_OSD_WARNINGS and not self._warnings["alone-in-the-room"]['timer'].running): if(constants.SHOW_OSD_WARNINGS and not self._warnings["alone-in-the-room"]['timer'].running):
self._warnings["alone-in-the-room"]['timer'].start(constants.WARNING_OSD_MESSAGES_LOOP_INTERVAL, True) self._warnings["alone-in-the-room"]['timer'].start(constants.WARNING_OSD_MESSAGES_LOOP_INTERVAL, True)
elif(self._warnings["alone-in-the-room"]['timer'].running): elif(self._warnings["alone-in-the-room"]['timer'].running):
@ -443,7 +443,7 @@ class SyncplayClient(object):
def __displayMessageOnOSD(self, warningName): def __displayMessageOnOSD(self, warningName):
if (constants.OSD_WARNING_MESSAGE_DURATION > self._warnings[warningName]["displayedFor"]): if (constants.OSD_WARNING_MESSAGE_DURATION > self._warnings[warningName]["displayedFor"]):
self._ui.showOSDMessage(getMessage("en", warningName), constants.WARNING_OSD_MESSAGES_LOOP_INTERVAL) self._ui.showOSDMessage(getMessage(warningName), constants.WARNING_OSD_MESSAGES_LOOP_INTERVAL)
self._warnings[warningName]["displayedFor"] += constants.WARNING_OSD_MESSAGES_LOOP_INTERVAL self._warnings[warningName]["displayedFor"] += constants.WARNING_OSD_MESSAGES_LOOP_INTERVAL
else: else:
self._warnings[warningName]["displayedFor"] = 0 self._warnings[warningName]["displayedFor"] = 0
@ -504,16 +504,16 @@ class SyncplayUserlist(object):
showOnOSD = constants.SHOW_DIFFERENT_ROOM_OSD showOnOSD = constants.SHOW_DIFFERENT_ROOM_OSD
hideFromOSD = not showOnOSD hideFromOSD = not showOnOSD
if(room and not file_): if(room and not file_):
message = getMessage("en", "room-join-notification").format(username, room) message = getMessage("room-join-notification").format(username, room)
self.ui.showMessage(message, hideFromOSD) self.ui.showMessage(message, hideFromOSD)
elif (room and file_): elif (room and file_):
duration = utils.formatTime(file_['duration']) duration = utils.formatTime(file_['duration'])
message = getMessage("en", "playing-notification").format(username, file_['name'], duration) message = getMessage("playing-notification").format(username, file_['name'], duration)
if(self.currentUser.room <> room or self.currentUser.username == username): if(self.currentUser.room <> room or self.currentUser.username == username):
message += getMessage("en", "playing-notification/room-addendum").format(room) message += getMessage("playing-notification/room-addendum").format(room)
self.ui.showMessage(message, hideFromOSD) self.ui.showMessage(message, hideFromOSD)
if(self.currentUser.file and not self.currentUser.isFileSame(file_) and self.currentUser.room == room): if(self.currentUser.file and not self.currentUser.isFileSame(file_) and self.currentUser.room == room):
message = getMessage("en", "file-different-notification").format(username) message = getMessage("file-different-notification").format(username)
self.ui.showMessage(message, not constants.SHOW_OSD_WARNINGS) self.ui.showMessage(message, not constants.SHOW_OSD_WARNINGS)
differences = [] differences = []
differentName = not utils.sameFilename(self.currentUser.file['name'], file_['name']) differentName = not utils.sameFilename(self.currentUser.file['name'], file_['name'])
@ -525,7 +525,7 @@ class SyncplayUserlist(object):
differences.append("size") differences.append("size")
if(differentDuration): if(differentDuration):
differences.append("duration") differences.append("duration")
message = getMessage("en", "file-differences-notification") + ", ".join(differences) message = getMessage("file-differences-notification") + ", ".join(differences)
self.ui.showMessage(message, not constants.SHOW_OSD_WARNINGS) self.ui.showMessage(message, not constants.SHOW_OSD_WARNINGS)
def addUser(self, username, room, file_, noMessage=False): def addUser(self, username, room, file_, noMessage=False):
@ -546,7 +546,7 @@ class SyncplayUserlist(object):
hideFromOSD = not constants.SHOW_SAME_ROOM_OSD hideFromOSD = not constants.SHOW_SAME_ROOM_OSD
if(self._users.has_key(username)): if(self._users.has_key(username)):
self._users.pop(username) self._users.pop(username)
message = getMessage("en", "left-notification").format(username) message = getMessage("left-notification").format(username)
self.ui.showMessage(message, hideFromOSD) self.ui.showMessage(message, hideFromOSD)
self._client.lastLeftTime = time.time() self._client.lastLeftTime = time.time()
self._client.lastLeftUser = username self._client.lastLeftUser = username

View File

@ -12,5 +12,5 @@ class SyncplayClientManager(object):
interface.addClient(syncplayClient) interface.addClient(syncplayClient)
syncplayClient.start(config['host'], config['port']) syncplayClient.start(config['host'], config['port'])
else: else:
interface.showErrorMessage(getMessage("en", "unable-to-start-client-error"), True) interface.showErrorMessage(getMessage("unable-to-start-client-error"), True)

View File

@ -287,13 +287,13 @@ pl = {
messages = { messages = {
"en": en, "en": en,
"pl": pl, "pl": pl,
"current": "" "current": None
} }
def setLanguage(lang): def setLanguage(lang):
messages["current"] = lang messages["current"] = lang
def getMessage(locale, type_): def getMessage(type_, locale=None):
if(constants.SHOW_BUTTON_LABELS == False): if(constants.SHOW_BUTTON_LABELS == False):
if("-guibuttonlabel" in type_): if("-guibuttonlabel" in type_):
return "" return ""
@ -301,12 +301,12 @@ def getMessage(locale, type_):
if("-tooltip" in type_): if("-tooltip" in type_):
return "" return ""
lang = messages["current"] lang = messages["current"]
if(messages.has_key(lang)): if(locale and messages.has_key(locale)):
if(messages[lang].has_key(type_)):
return unicode(messages[lang][type_])
if(messages.has_key(locale)):
if(messages[locale].has_key(type_)): if(messages[locale].has_key(type_)):
return unicode(messages[locale][type_]) return unicode(messages[locale][type_])
if(lang and messages.has_key(lang)):
if(messages[lang].has_key(type_)):
return unicode(messages[lang][type_])
if(messages["en"].has_key(type_)): if(messages["en"].has_key(type_)):
return unicode(messages["en"][type_]) return unicode(messages["en"][type_])
else: else:

View File

@ -42,7 +42,7 @@ class MpcHcApi:
args = "%s /slave %s" % (" ".join(args), str(self.__listener.hwnd)) args = "%s /slave %s" % (" ".join(args), str(self.__listener.hwnd))
win32api.ShellExecute(0, "open", path, args, None, 1) win32api.ShellExecute(0, "open", path, args, None, 1)
if(not self.__locks.mpcStart.wait(constants.MPC_OPEN_MAX_WAIT_TIME)): if(not self.__locks.mpcStart.wait(constants.MPC_OPEN_MAX_WAIT_TIME)):
raise self.NoSlaveDetectedException(getMessage("en", "mpc-slave-error")) raise self.NoSlaveDetectedException(getMessage("mpc-slave-error"))
self.__mpcExistenceChecking.start() self.__mpcExistenceChecking.start()
def openFile(self, filePath): def openFile(self, filePath):
@ -359,12 +359,12 @@ class MPCHCAPIPlayer(BasePlayer):
def __dropIfNotSufficientVersion(self): def __dropIfNotSufficientVersion(self):
self._mpcApi.askForVersion() self._mpcApi.askForVersion()
if(not self.__versionUpdate.wait(0.1) or not self._mpcApi.version): if(not self.__versionUpdate.wait(0.1) or not self._mpcApi.version):
self.reactor.callFromThread(self.__client.ui.showErrorMessage, getMessage("en", "mpc-version-insufficient-error").format(constants.MPC_MIN_VER), True) self.reactor.callFromThread(self.__client.ui.showErrorMessage, getMessage("mpc-version-insufficient-error").format(constants.MPC_MIN_VER), True)
self.reactor.callFromThread(self.__client.stop, True) self.reactor.callFromThread(self.__client.stop, True)
def __testMpcReady(self): def __testMpcReady(self):
if(not self.__preventAsking.wait(10)): if(not self.__preventAsking.wait(10)):
raise Exception(getMessage("en", "player-file-open-error")) raise Exception(getMessage("player-file-open-error"))
def __makePing(self): def __makePing(self):
try: try:

View File

@ -26,8 +26,8 @@ class MplayerPlayer(BasePlayer):
try: try:
self._listener = self.__Listener(self, playerPath, filePath, args) self._listener = self.__Listener(self, playerPath, filePath, args)
except ValueError: except ValueError:
self._client.ui.showMessage(getMessage("en", "mplayer-file-required-notification")) self._client.ui.showMessage(getMessage("mplayer-file-required-notification"))
self._client.ui.showMessage(getMessage("en", "mplayer-file-required-notification/example")) self._client.ui.showMessage(getMessage("mplayer-file-required-notification/example"))
self.drop() self.drop()
return return
self._listener.setDaemon(True) self._listener.setDaemon(True)
@ -146,7 +146,7 @@ class MplayerPlayer(BasePlayer):
self._filenameAsk.set() self._filenameAsk.set()
elif name == "exiting": elif name == "exiting":
if value != 'Quit': if value != 'Quit':
self.reactor.callFromThread(self._client.ui.showErrorMessage, getMessage("en", "media-player-error").format(value), True) self.reactor.callFromThread(self._client.ui.showErrorMessage, getMessage("media-player-error").format(value), True)
self.drop() self.drop()
@staticmethod @staticmethod
@ -190,7 +190,7 @@ class MplayerPlayer(BasePlayer):
return path return path
def notMplayer2(self): def notMplayer2(self):
print getMessage("en", "mplayer2-required") print getMessage("mplayer2-required")
self._listener.sendLine('quit') self._listener.sendLine('quit')
self.drop() self.drop()

View File

@ -42,14 +42,14 @@ class VlcPlayer(BasePlayer):
try: try:
self._listener = self.__Listener(self, playerPath, filePath, args, self._vlcready, self._vlcclosed) self._listener = self.__Listener(self, playerPath, filePath, args, self._vlcready, self._vlcclosed)
except ValueError: except ValueError:
self._client.ui.showErrorMessage(getMessage("en", "vlc-failed-connection"), True) self._client.ui.showErrorMessage(getMessage("vlc-failed-connection"), True)
self.reactor.callFromThread(self._client.stop, (True),) self.reactor.callFromThread(self._client.stop, (True),)
return return
self._listener.setDaemon(True) self._listener.setDaemon(True)
self._listener.start() self._listener.start()
if(not self._vlcready.wait(constants.VLC_OPEN_MAX_WAIT_TIME)): if(not self._vlcready.wait(constants.VLC_OPEN_MAX_WAIT_TIME)):
self._vlcready.set() self._vlcready.set()
self._client.ui.showErrorMessage(getMessage("en", "vlc-failed-connection"), True) self._client.ui.showErrorMessage(getMessage("vlc-failed-connection"), True)
self.reactor.callFromThread(self._client.stop, (True),) self.reactor.callFromThread(self._client.stop, (True),)
self.reactor.callFromThread(self._client.initPlayer, (self),) self.reactor.callFromThread(self._client.initPlayer, (self),)
@ -159,11 +159,11 @@ class VlcPlayer(BasePlayer):
elif(line.startswith("interface-version: ")): elif(line.startswith("interface-version: ")):
interface_version = line[19:24] interface_version = line[19:24]
if (int(interface_version.replace(".", "")) < int(constants.VLC_INTERFACE_MIN_VERSION.replace(".", ""))): if (int(interface_version.replace(".", "")) < int(constants.VLC_INTERFACE_MIN_VERSION.replace(".", ""))):
self._client.ui.showErrorMessage(getMessage("en", "vlc-interface-version-mismatch").format(str(interface_version), str(constants.VLC_INTERFACE_MIN_VERSION))) self._client.ui.showErrorMessage(getMessage("vlc-interface-version-mismatch").format(str(interface_version), str(constants.VLC_INTERFACE_MIN_VERSION)))
elif (line[:16] == "VLC media player"): elif (line[:16] == "VLC media player"):
vlc_version = line[17:22] vlc_version = line[17:22]
if (int(vlc_version.replace(".", "")) < int(constants.VLC_MIN_VERSION.replace(".", ""))): if (int(vlc_version.replace(".", "")) < int(constants.VLC_MIN_VERSION.replace(".", ""))):
self._client.ui.showErrorMessage(getMessage("en", "vlc-version-mismatch").format(str(vlc_version), str(constants.VLC_MIN_VERSION))) self._client.ui.showErrorMessage(getMessage("vlc-version-mismatch").format(str(vlc_version), str(constants.VLC_MIN_VERSION)))
self._vlcready.set() self._vlcready.set()
self._listener.sendLine("get-interface-version") self._listener.sendLine("get-interface-version")
@ -241,9 +241,9 @@ class VlcPlayer(BasePlayer):
if (int(interface_version.replace(".", "")) >= int(constants.VLC_INTERFACE_MIN_VERSION.replace(".", ""))): if (int(interface_version.replace(".", "")) >= int(constants.VLC_INTERFACE_MIN_VERSION.replace(".", ""))):
return True return True
else: else:
playerController._client.ui.showErrorMessage(getMessage("en", "vlc-interface-oldversion-ignored")) playerController._client.ui.showErrorMessage(getMessage("vlc-interface-oldversion-ignored"))
return False return False
playerController._client.ui.showErrorMessage(getMessage("en", "vlc-interface-not-installed")) playerController._client.ui.showErrorMessage(getMessage("vlc-interface-not-installed"))
return False return False
if sys.platform.startswith('linux'): if sys.platform.startswith('linux'):
playerController.vlcIntfPath = "/usr/lib/vlc/lua/intf/" playerController.vlcIntfPath = "/usr/lib/vlc/lua/intf/"
@ -279,10 +279,10 @@ class VlcPlayer(BasePlayer):
if "Hosting Syncplay" in line: if "Hosting Syncplay" in line:
break break
elif "Couldn't find lua interface" in line: elif "Couldn't find lua interface" in line:
playerController._client.ui.showErrorMessage(getMessage("en", "vlc-failed-noscript").format(line), True) playerController._client.ui.showErrorMessage(getMessage("vlc-failed-noscript").format(line), True)
break break
elif "lua interface error" in line: elif "lua interface error" in line:
playerController._client.ui.showErrorMessage(getMessage("en", "media-player-error").format(line), True) playerController._client.ui.showErrorMessage(getMessage("media-player-error").format(line), True)
break break
threading.Thread.__init__(self, name="VLC Listener") threading.Thread.__init__(self, name="VLC Listener")
asynchat.async_chat.__init__(self) asynchat.async_chat.__init__(self)

View File

@ -23,7 +23,7 @@ class JSONCommandProtocol(LineReceiver):
elif command == "Error": elif command == "Error":
self.handleError(message[1]) self.handleError(message[1])
else: else:
self.dropWithError(getMessage("en", "unknown-command-server-error").format(message[1])) # TODO: log, not drop self.dropWithError(getMessage("unknown-command-server-error").format(message[1])) # TODO: log, not drop
def lineReceived(self, line): def lineReceived(self, line):
line = line.strip() line = line.strip()
@ -32,7 +32,7 @@ class JSONCommandProtocol(LineReceiver):
try: try:
messages = json.loads(line) messages = json.loads(line)
except: except:
self.dropWithError(getMessage("en", "not-json-server-error").format(line)) self.dropWithError(getMessage("not-json-server-error").format(line))
return return
self.handleMessages(messages) self.handleMessages(messages)
@ -77,16 +77,16 @@ class SyncClientProtocol(JSONCommandProtocol):
def handleHello(self, hello): def handleHello(self, hello):
username, roomName, version, motd = self._extractHelloArguments(hello) username, roomName, version, motd = self._extractHelloArguments(hello)
if(not username or not roomName or not version): if(not username or not roomName or not version):
self.dropWithError(getMessage("en", "hello-server-error").format(hello)) self.dropWithError(getMessage("hello-server-error").format(hello))
elif(version.split(".")[0:2] != syncplay.version.split(".")[0:2]): elif(version.split(".")[0:2] != syncplay.version.split(".")[0:2]):
self.dropWithError(getMessage("en", "version-mismatch-server-error".format(hello))) self.dropWithError(getMessage("version-mismatch-server-error".format(hello)))
else: else:
self._client.setUsername(username) self._client.setUsername(username)
self._client.setRoom(roomName) self._client.setRoom(roomName)
self.logged = True self.logged = True
if(motd): if(motd):
self._client.ui.showMessage(motd, True, True) self._client.ui.showMessage(motd, True, True)
self._client.ui.showMessage(getMessage("en", "connected-successful-notification")) self._client.ui.showMessage(getMessage("connected-successful-notification"))
self._client.sendFile() self._client.sendFile()
def sendHello(self): def sendHello(self):
@ -237,12 +237,12 @@ class SyncServerProtocol(JSONCommandProtocol):
@wraps(f) @wraps(f)
def wrapper(self, *args, **kwds): def wrapper(self, *args, **kwds):
if(not self._logged): if(not self._logged):
self.dropWithError(getMessage("en", "not-known-server-error")) self.dropWithError(getMessage("not-known-server-error"))
return f(self, *args, **kwds) return f(self, *args, **kwds)
return wrapper return wrapper
def dropWithError(self, error): def dropWithError(self, error):
print getMessage("en", "client-drop-server-error").format(self.transport.getPeer().host, error) print getMessage("client-drop-server-error").format(self.transport.getPeer().host, error)
self.sendError(error) self.sendError(error)
self.drop() self.drop()
@ -268,19 +268,19 @@ class SyncServerProtocol(JSONCommandProtocol):
def _checkPassword(self, serverPassword): def _checkPassword(self, serverPassword):
if(self._factory.password): if(self._factory.password):
if(not serverPassword): if(not serverPassword):
self.dropWithError(getMessage("en", "password-required-server-error")) self.dropWithError(getMessage("password-required-server-error"))
return False return False
if(serverPassword != self._factory.password): if(serverPassword != self._factory.password):
self.dropWithError(getMessage("en", "wrong-password-server-error")) self.dropWithError(getMessage("wrong-password-server-error"))
return False return False
return True return True
def handleHello(self, hello): def handleHello(self, hello):
username, serverPassword, roomName, roomPassword, version = self._extractHelloArguments(hello) username, serverPassword, roomName, roomPassword, version = self._extractHelloArguments(hello)
if(not username or not roomName or not version): if(not username or not roomName or not version):
self.dropWithError(getMessage("en", "hello-server-error")) self.dropWithError(getMessage("hello-server-error"))
elif(version.split(".")[0:2] != syncplay.version.split(".")[0:2]): elif(version.split(".")[0:2] != syncplay.version.split(".")[0:2]):
self.dropWithError(getMessage("en", "version-mismatch-server-error")) self.dropWithError(getMessage("version-mismatch-server-error"))
else: else:
if(not self._checkPassword(serverPassword)): if(not self._checkPassword(serverPassword)):
return return

View File

@ -15,7 +15,7 @@ from pprint import pprint
class SyncFactory(Factory): class SyncFactory(Factory):
def __init__(self, password='', motdFilePath=None, isolateRooms=False): def __init__(self, password='', motdFilePath=None, isolateRooms=False):
print getMessage("en", "welcome-server-notification").format(syncplay.version) print getMessage("welcome-server-notification").format(syncplay.version)
if(password): if(password):
password = hashlib.md5(password).hexdigest() password = hashlib.md5(password).hexdigest()
self.password = password self.password = password
@ -46,13 +46,13 @@ class SyncFactory(Factory):
try: try:
motd = Template(tmpl).substitute(args) motd = Template(tmpl).substitute(args)
if oldClient: if oldClient:
motdwarning = getMessage("en", "new-syncplay-available-motd-message").format(clientVersion) motdwarning = getMessage("new-syncplay-available-motd-message").format(clientVersion)
motd = "{}\n{}".format(motdwarning, motd) motd = "{}\n{}".format(motdwarning, motd)
return motd if len(motd) < constants.SERVER_MAX_TEMPLATE_LENGTH else getMessage("en", "server-messed-up-motd-too-long").format(constants.SERVER_MAX_TEMPLATE_LENGTH, len(motd)) return motd if len(motd) < constants.SERVER_MAX_TEMPLATE_LENGTH else getMessage("server-messed-up-motd-too-long").format(constants.SERVER_MAX_TEMPLATE_LENGTH, len(motd))
except ValueError: except ValueError:
return getMessage("en", "server-messed-up-motd-unescaped-placeholders") return getMessage("server-messed-up-motd-unescaped-placeholders")
elif oldClient: elif oldClient:
return getMessage("en", "new-syncplay-available-motd-message").format(clientVersion) return getMessage("new-syncplay-available-motd-message").format(clientVersion)
else: else:
return "" return ""
@ -337,9 +337,9 @@ class ConfigurationGetter(object):
return self._args return self._args
def _prepareArgParser(self): def _prepareArgParser(self):
self._argparser = argparse.ArgumentParser(description=getMessage("en", "server-argument-description"), self._argparser = argparse.ArgumentParser(description=getMessage("server-argument-description"),
epilog=getMessage("en", "server-argument-epilog")) epilog=getMessage("server-argument-epilog"))
self._argparser.add_argument('--port', metavar='port', type=str, nargs='?', help=getMessage("en", "server-port-argument")) self._argparser.add_argument('--port', metavar='port', type=str, nargs='?', help=getMessage("server-port-argument"))
self._argparser.add_argument('--password', metavar='password', type=str, nargs='?', help=getMessage("en", "server-password-argument")) self._argparser.add_argument('--password', metavar='password', type=str, nargs='?', help=getMessage("server-password-argument"))
self._argparser.add_argument('--isolate-rooms', action='store_true', help=getMessage("en", "server-isolate-room-argument")) self._argparser.add_argument('--isolate-rooms', action='store_true', help=getMessage("server-isolate-room-argument"))
self._argparser.add_argument('--motd-file', metavar='file', type=str, nargs='?', help=getMessage("en", "server-motd-argument")) self._argparser.add_argument('--motd-file', metavar='file', type=str, nargs='?', help=getMessage("server-motd-argument"))

View File

@ -198,7 +198,7 @@ class ConfigurationGetter(object):
if(self._config['noGui'] or not GuiConfiguration): if(self._config['noGui'] or not GuiConfiguration):
if error: if error:
print "{}!".format(error) print "{}!".format(error)
print getMessage("en", "missing-arguments-error") print getMessage("missing-arguments-error")
sys.exit() sys.exit()
elif(GuiConfiguration): elif(GuiConfiguration):
gc = GuiConfiguration(self._config, error=error) gc = GuiConfiguration(self._config, error=error)
@ -281,21 +281,21 @@ class ConfigurationGetter(object):
# #
if self._config['language']: if self._config['language']:
setLanguage(self._config['language']) setLanguage(self._config['language'])
self._argparser = argparse.ArgumentParser(description=getMessage("en", "argument-description"), self._argparser = argparse.ArgumentParser(description=getMessage("argument-description"),
epilog=getMessage("en", "argument-epilog")) epilog=getMessage("argument-epilog"))
self._argparser.add_argument('--no-gui', action='store_true', help=getMessage("en", "nogui-argument")) self._argparser.add_argument('--no-gui', action='store_true', help=getMessage("nogui-argument"))
self._argparser.add_argument('-a', '--host', metavar='hostname', type=str, help=getMessage("en", "host-argument")) self._argparser.add_argument('-a', '--host', metavar='hostname', type=str, help=getMessage("host-argument"))
self._argparser.add_argument('-n', '--name', metavar='username', type=str, help=getMessage("en", "name-argument")) self._argparser.add_argument('-n', '--name', metavar='username', type=str, help=getMessage("name-argument"))
self._argparser.add_argument('-d', '--debug', action='store_true', help=getMessage("en", "debug-argument")) self._argparser.add_argument('-d', '--debug', action='store_true', help=getMessage("debug-argument"))
self._argparser.add_argument('-g', '--force-gui-prompt', action='store_true', help=getMessage("en", "force-gui-prompt-argument")) self._argparser.add_argument('-g', '--force-gui-prompt', action='store_true', help=getMessage("force-gui-prompt-argument"))
self._argparser.add_argument('--no-store', action='store_true', help=getMessage("en", "no-store-argument")) self._argparser.add_argument('--no-store', action='store_true', help=getMessage("no-store-argument"))
self._argparser.add_argument('-r', '--room', metavar='room', type=str, nargs='?', help=getMessage("en", "room-argument")) self._argparser.add_argument('-r', '--room', metavar='room', type=str, nargs='?', help=getMessage("room-argument"))
self._argparser.add_argument('-p', '--password', metavar='password', type=str, nargs='?', help=getMessage("en", "password-argument")) self._argparser.add_argument('-p', '--password', metavar='password', type=str, nargs='?', help=getMessage("password-argument"))
self._argparser.add_argument('--player-path', metavar='path', type=str, help=getMessage("en", "player-path-argument")) self._argparser.add_argument('--player-path', metavar='path', type=str, help=getMessage("player-path-argument"))
self._argparser.add_argument('--language', metavar='language', type=str, help=getMessage("en", "language-argument")) self._argparser.add_argument('--language', metavar='language', type=str, help=getMessage("language-argument"))
self._argparser.add_argument('file', metavar='file', type=str, nargs='?', help=getMessage("en", "file-argument")) self._argparser.add_argument('file', metavar='file', type=str, nargs='?', help=getMessage("file-argument"))
self._argparser.add_argument('--clear-gui-data', action='store_true', help=getMessage("en", "clear-gui-data-argument")) self._argparser.add_argument('--clear-gui-data', action='store_true', help=getMessage("clear-gui-data-argument"))
self._argparser.add_argument('_args', metavar='options', type=str, nargs='*', help=getMessage("en", "args-argument")) self._argparser.add_argument('_args', metavar='options', type=str, nargs='*', help=getMessage("args-argument"))
args = self._argparser.parse_args() args = self._argparser.parse_args()
self._overrideConfigWithArgs(args) self._overrideConfigWithArgs(args)
if(self._config['file'] and self._config['file'][:2] == "--"): if(self._config['file'] and self._config['file'][:2] == "--"):

View File

@ -57,9 +57,9 @@ class ConfigDialog(QtGui.QDialog):
def runButtonTextUpdate(self): def runButtonTextUpdate(self):
if (self.donotstoreCheckbox.isChecked()): if (self.donotstoreCheckbox.isChecked()):
self.runButton.setText(getMessage("en", "run-label")) self.runButton.setText(getMessage("run-label"))
else: else:
self.runButton.setText(getMessage("en", "storeandrun-label")) self.runButton.setText(getMessage("storeandrun-label"))
def openHelp(self): def openHelp(self):
self.QtGui.QDesktopServices.openUrl("http://syncplay.pl/guide/client/") self.QtGui.QDesktopServices.openUrl("http://syncplay.pl/guide/client/")
@ -281,7 +281,7 @@ class ConfigDialog(QtGui.QDialog):
super(ConfigDialog, self).__init__() super(ConfigDialog, self).__init__()
self.setWindowTitle(getMessage("en", "config-window-title")) self.setWindowTitle(getMessage("config-window-title"))
self.setWindowFlags(self.windowFlags() & Qt.WindowCloseButtonHint & ~Qt.WindowContextHelpButtonHint) self.setWindowFlags(self.windowFlags() & Qt.WindowCloseButtonHint & ~Qt.WindowContextHelpButtonHint)
self.setWindowIcon(QtGui.QIcon(resourcespath + "syncplay.png")) self.setWindowIcon(QtGui.QIcon(resourcespath + "syncplay.png"))
@ -292,24 +292,24 @@ class ConfigDialog(QtGui.QDialog):
else: else:
host = config['host'] + ":" + str(config['port']) host = config['host'] + ":" + str(config['port'])
self.connectionSettingsGroup = QtGui.QGroupBox(getMessage("en", "connection-group-title")) self.connectionSettingsGroup = QtGui.QGroupBox(getMessage("connection-group-title"))
self.hostTextbox = QLineEdit(host, self) self.hostTextbox = QLineEdit(host, self)
self.hostLabel = QLabel(getMessage("en", "host-label"), self) self.hostLabel = QLabel(getMessage("host-label"), self)
self.usernameTextbox = QLineEdit(config['name'], self) self.usernameTextbox = QLineEdit(config['name'], self)
self.serverpassLabel = QLabel(getMessage("en", "password-label"), self) self.serverpassLabel = QLabel(getMessage("password-label"), self)
self.defaultroomTextbox = QLineEdit(config['room'], self) self.defaultroomTextbox = QLineEdit(config['room'], self)
self.usernameLabel = QLabel(getMessage("en", "username-label"), self) self.usernameLabel = QLabel(getMessage("username-label"), self)
self.serverpassTextbox = QLineEdit(config['password'], self) self.serverpassTextbox = QLineEdit(config['password'], self)
self.defaultroomLabel = QLabel(getMessage("en", "room-label"), self) self.defaultroomLabel = QLabel(getMessage("room-label"), self)
self.hostLabel.setToolTip(getMessage("en", "host-tooltip")) self.hostLabel.setToolTip(getMessage("host-tooltip"))
self.hostTextbox.setToolTip(getMessage("en", "host-tooltip")) self.hostTextbox.setToolTip(getMessage("host-tooltip"))
self.usernameLabel.setToolTip(getMessage("en", "username-tooltip")) self.usernameLabel.setToolTip(getMessage("username-tooltip"))
self.usernameTextbox.setToolTip(getMessage("en", "username-tooltip")) self.usernameTextbox.setToolTip(getMessage("username-tooltip"))
self.serverpassLabel.setToolTip(getMessage("en", "password-tooltip")) self.serverpassLabel.setToolTip(getMessage("password-tooltip"))
self.serverpassTextbox.setToolTip(getMessage("en", "password-tooltip")) self.serverpassTextbox.setToolTip(getMessage("password-tooltip"))
self.defaultroomLabel.setToolTip(getMessage("en", "room-tooltip")) self.defaultroomLabel.setToolTip(getMessage("room-tooltip"))
self.defaultroomTextbox.setToolTip(getMessage("en", "room-tooltip")) self.defaultroomTextbox.setToolTip(getMessage("room-tooltip"))
self.connectionSettingsLayout = QtGui.QGridLayout() self.connectionSettingsLayout = QtGui.QGridLayout()
self.connectionSettingsLayout.addWidget(self.hostLabel, 0, 0) self.connectionSettingsLayout.addWidget(self.hostLabel, 0, 0)
@ -322,7 +322,7 @@ class ConfigDialog(QtGui.QDialog):
self.connectionSettingsLayout.addWidget(self.defaultroomTextbox, 3, 1) self.connectionSettingsLayout.addWidget(self.defaultroomTextbox, 3, 1)
self.connectionSettingsGroup.setLayout(self.connectionSettingsLayout) self.connectionSettingsGroup.setLayout(self.connectionSettingsLayout)
self.mediaplayerSettingsGroup = QtGui.QGroupBox(getMessage("en", "media-setting-title")) self.mediaplayerSettingsGroup = QtGui.QGroupBox(getMessage("media-setting-title"))
self.executableiconImage = QtGui.QImage() self.executableiconImage = QtGui.QImage()
self.executableiconLabel = QLabel(self) self.executableiconLabel = QLabel(self)
self.executableiconLabel.setMinimumWidth(16) self.executableiconLabel.setMinimumWidth(16)
@ -334,18 +334,18 @@ class ConfigDialog(QtGui.QDialog):
self.executablepathCombobox.setMaximumWidth(200) self.executablepathCombobox.setMaximumWidth(200)
self.executablepathCombobox.editTextChanged.connect(self.updateExecutableIcon) self.executablepathCombobox.editTextChanged.connect(self.updateExecutableIcon)
self.executablepathLabel = QLabel(getMessage("en", "executable-path-label"), self) self.executablepathLabel = QLabel(getMessage("executable-path-label"), self)
self.executablebrowseButton = QtGui.QPushButton(QtGui.QIcon(resourcespath + 'folder_explore.png'), getMessage("en", "browse-label")) self.executablebrowseButton = QtGui.QPushButton(QtGui.QIcon(resourcespath + 'folder_explore.png'), getMessage("browse-label"))
self.executablebrowseButton.clicked.connect(self.browsePlayerpath) self.executablebrowseButton.clicked.connect(self.browsePlayerpath)
self.mediapathTextbox = QLineEdit(config['file'], self) self.mediapathTextbox = QLineEdit(config['file'], self)
self.mediapathLabel = QLabel(getMessage("en", "media-path-label"), self) self.mediapathLabel = QLabel(getMessage("media-path-label"), self)
self.mediabrowseButton = QtGui.QPushButton(QtGui.QIcon(resourcespath + 'folder_explore.png'), getMessage("en", "browse-label")) self.mediabrowseButton = QtGui.QPushButton(QtGui.QIcon(resourcespath + 'folder_explore.png'), getMessage("browse-label"))
self.mediabrowseButton.clicked.connect(self.browseMediapath) self.mediabrowseButton.clicked.connect(self.browseMediapath)
self.executablepathLabel.setToolTip(getMessage("en", "executable-path-tooltip")) self.executablepathLabel.setToolTip(getMessage("executable-path-tooltip"))
self.executablepathCombobox.setToolTip(getMessage("en", "executable-path-tooltip")) self.executablepathCombobox.setToolTip(getMessage("executable-path-tooltip"))
self.mediapathLabel.setToolTip(getMessage("en", "media-path-tooltip")) self.mediapathLabel.setToolTip(getMessage("media-path-tooltip"))
self.mediapathTextbox.setToolTip(getMessage("en", "media-path-tooltip")) self.mediapathTextbox.setToolTip(getMessage("media-path-tooltip"))
self.mediaplayerSettingsLayout = QtGui.QGridLayout() self.mediaplayerSettingsLayout = QtGui.QGridLayout()
self.mediaplayerSettingsLayout.addWidget(self.executablepathLabel, 0, 0) self.mediaplayerSettingsLayout.addWidget(self.executablepathLabel, 0, 0)
@ -357,11 +357,11 @@ class ConfigDialog(QtGui.QDialog):
self.mediaplayerSettingsLayout.addWidget(self.mediabrowseButton , 1, 3) self.mediaplayerSettingsLayout.addWidget(self.mediabrowseButton , 1, 3)
self.mediaplayerSettingsGroup.setLayout(self.mediaplayerSettingsLayout) self.mediaplayerSettingsGroup.setLayout(self.mediaplayerSettingsLayout)
self.moreSettingsGroup = QtGui.QGroupBox(getMessage("en", "more-title")) self.moreSettingsGroup = QtGui.QGroupBox(getMessage("more-title"))
self.moreSettingsGroup.setCheckable(True) self.moreSettingsGroup.setCheckable(True)
self.slowdownThresholdLabel = QLabel(getMessage("en", "slowdown-threshold-label"), self) self.slowdownThresholdLabel = QLabel(getMessage("slowdown-threshold-label"), self)
self.slowdownThresholdSpinbox = QDoubleSpinBox() self.slowdownThresholdSpinbox = QDoubleSpinBox()
try: try:
self.slowdownThresholdSpinbox.setValue(float(config['slowdownThreshold'])) self.slowdownThresholdSpinbox.setValue(float(config['slowdownThreshold']))
@ -372,10 +372,10 @@ class ConfigDialog(QtGui.QDialog):
self.slowdownThresholdSpinbox.setMaximumWidth(80) self.slowdownThresholdSpinbox.setMaximumWidth(80)
self.slowdownThresholdSpinbox.setMinimum(constants.MINIMUM_SLOWDOWN_THRESHOLD) self.slowdownThresholdSpinbox.setMinimum(constants.MINIMUM_SLOWDOWN_THRESHOLD)
self.slowdownThresholdSpinbox.setSingleStep(0.1) self.slowdownThresholdSpinbox.setSingleStep(0.1)
self.slowdownThresholdSpinbox.setSuffix(getMessage("en", "seconds-suffix")) self.slowdownThresholdSpinbox.setSuffix(getMessage("seconds-suffix"))
self.slowdownThresholdSpinbox.adjustSize() self.slowdownThresholdSpinbox.adjustSize()
self.rewindThresholdLabel = QLabel(getMessage("en", "rewind-threshold-label"), self) self.rewindThresholdLabel = QLabel(getMessage("rewind-threshold-label"), self)
self.rewindThresholdSpinbox = QDoubleSpinBox() self.rewindThresholdSpinbox = QDoubleSpinBox()
try: try:
self.rewindThresholdSpinbox.setValue(float(config['rewindThreshold'])) self.rewindThresholdSpinbox.setValue(float(config['rewindThreshold']))
@ -386,46 +386,46 @@ class ConfigDialog(QtGui.QDialog):
self.rewindThresholdSpinbox.setMaximumWidth(80) self.rewindThresholdSpinbox.setMaximumWidth(80)
self.rewindThresholdSpinbox.setMinimum(0) self.rewindThresholdSpinbox.setMinimum(0)
self.rewindThresholdSpinbox.setSingleStep(0.1) self.rewindThresholdSpinbox.setSingleStep(0.1)
self.rewindThresholdSpinbox.setSpecialValueText(getMessage("en", "never-rewind-value")) self.rewindThresholdSpinbox.setSpecialValueText(getMessage("never-rewind-value"))
self.rewindThresholdSpinbox.setSuffix(getMessage("en", "seconds-suffix")) self.rewindThresholdSpinbox.setSuffix(getMessage("seconds-suffix"))
self.rewindThresholdSpinbox.adjustSize() self.rewindThresholdSpinbox.adjustSize()
self.slowdownThresholdLabel.setToolTip(getMessage("en", "slowdown-threshold-tooltip")) self.slowdownThresholdLabel.setToolTip(getMessage("slowdown-threshold-tooltip"))
self.slowdownThresholdSpinbox.setToolTip(getMessage("en", "slowdown-threshold-tooltip")) self.slowdownThresholdSpinbox.setToolTip(getMessage("slowdown-threshold-tooltip"))
self.rewindThresholdLabel.setToolTip(getMessage("en", "rewind-threshold-tooltip")) self.rewindThresholdLabel.setToolTip(getMessage("rewind-threshold-tooltip"))
self.rewindThresholdSpinbox.setToolTip(getMessage("en", "rewind-threshold-tooltip")) self.rewindThresholdSpinbox.setToolTip(getMessage("rewind-threshold-tooltip"))
self.slowdownLabel = QLabel(getMessage("en", "slowdown-label"), self) self.slowdownLabel = QLabel(getMessage("slowdown-label"), self)
self.slowdownButtonGroup = QButtonGroup() self.slowdownButtonGroup = QButtonGroup()
self.slowdownAutoOption = QRadioButton(getMessage("en", "slowdown-auto-option")) self.slowdownAutoOption = QRadioButton(getMessage("slowdown-auto-option"))
self.slowdownAlwaysOption = QRadioButton(getMessage("en", "slowdown-always-option")) self.slowdownAlwaysOption = QRadioButton(getMessage("slowdown-always-option"))
self.slowdownNeverOption = QRadioButton(getMessage("en", "slowdown-never-option")) self.slowdownNeverOption = QRadioButton(getMessage("slowdown-never-option"))
self.slowdownButtonGroup.addButton(self.slowdownAutoOption) self.slowdownButtonGroup.addButton(self.slowdownAutoOption)
self.slowdownButtonGroup.addButton(self.slowdownAlwaysOption) self.slowdownButtonGroup.addButton(self.slowdownAlwaysOption)
self.slowdownButtonGroup.addButton(self.slowdownNeverOption) self.slowdownButtonGroup.addButton(self.slowdownNeverOption)
self.filenameprivacyLabel = QLabel(getMessage("en", "filename-privacy-label"), self) self.filenameprivacyLabel = QLabel(getMessage("filename-privacy-label"), self)
self.filenameprivacyButtonGroup = QButtonGroup() self.filenameprivacyButtonGroup = QButtonGroup()
self.filenameprivacySendRawOption = QRadioButton(getMessage("en", "privacy-sendraw-option")) self.filenameprivacySendRawOption = QRadioButton(getMessage("privacy-sendraw-option"))
self.filenameprivacySendHashedOption = QRadioButton(getMessage("en", "privacy-sendhashed-option")) self.filenameprivacySendHashedOption = QRadioButton(getMessage("privacy-sendhashed-option"))
self.filenameprivacyDontSendOption = QRadioButton(getMessage("en", "privacy-dontsend-option")) self.filenameprivacyDontSendOption = QRadioButton(getMessage("privacy-dontsend-option"))
self.filenameprivacyButtonGroup.addButton(self.filenameprivacySendRawOption) self.filenameprivacyButtonGroup.addButton(self.filenameprivacySendRawOption)
self.filenameprivacyButtonGroup.addButton(self.filenameprivacySendHashedOption) self.filenameprivacyButtonGroup.addButton(self.filenameprivacySendHashedOption)
self.filenameprivacyButtonGroup.addButton(self.filenameprivacyDontSendOption) self.filenameprivacyButtonGroup.addButton(self.filenameprivacyDontSendOption)
self.filesizeprivacyLabel = QLabel(getMessage("en", "filesize-privacy-label"), self) self.filesizeprivacyLabel = QLabel(getMessage("filesize-privacy-label"), self)
self.filesizeprivacyButtonGroup = QButtonGroup() self.filesizeprivacyButtonGroup = QButtonGroup()
self.filesizeprivacySendRawOption = QRadioButton(getMessage("en", "privacy-sendraw-option")) self.filesizeprivacySendRawOption = QRadioButton(getMessage("privacy-sendraw-option"))
self.filesizeprivacySendHashedOption = QRadioButton(getMessage("en", "privacy-sendhashed-option")) self.filesizeprivacySendHashedOption = QRadioButton(getMessage("privacy-sendhashed-option"))
self.filesizeprivacyDontSendOption = QRadioButton(getMessage("en", "privacy-dontsend-option")) self.filesizeprivacyDontSendOption = QRadioButton(getMessage("privacy-dontsend-option"))
self.filesizeprivacyButtonGroup.addButton(self.filesizeprivacySendRawOption) self.filesizeprivacyButtonGroup.addButton(self.filesizeprivacySendRawOption)
self.filesizeprivacyButtonGroup.addButton(self.filesizeprivacySendHashedOption) self.filesizeprivacyButtonGroup.addButton(self.filesizeprivacySendHashedOption)
self.filesizeprivacyButtonGroup.addButton(self.filesizeprivacyDontSendOption) self.filesizeprivacyButtonGroup.addButton(self.filesizeprivacyDontSendOption)
self.dontslowwithmeCheckbox = QCheckBox(getMessage("en", "dontslowwithme-label")) self.dontslowwithmeCheckbox = QCheckBox(getMessage("dontslowwithme-label"))
self.pauseonleaveCheckbox = QCheckBox(getMessage("en", "pauseonleave-label")) self.pauseonleaveCheckbox = QCheckBox(getMessage("pauseonleave-label"))
self.alwaysshowCheckbox = QCheckBox(getMessage("en", "alwayshow-label")) self.alwaysshowCheckbox = QCheckBox(getMessage("alwayshow-label"))
self.donotstoreCheckbox = QCheckBox(getMessage("en", "donotstore-label")) self.donotstoreCheckbox = QCheckBox(getMessage("donotstore-label"))
filenamePrivacyMode = config['filenamePrivacyMode'] filenamePrivacyMode = config['filenamePrivacyMode']
if filenamePrivacyMode == constants.PRIVACY_DONTSEND_MODE: if filenamePrivacyMode == constants.PRIVACY_DONTSEND_MODE:
@ -446,14 +446,14 @@ class ConfigDialog(QtGui.QDialog):
if config['pauseOnLeave'] == True: if config['pauseOnLeave'] == True:
self.pauseonleaveCheckbox.setChecked(True) self.pauseonleaveCheckbox.setChecked(True)
self.filenameprivacyLabel.setToolTip(getMessage("en", "filename-privacy-tooltip")) self.filenameprivacyLabel.setToolTip(getMessage("filename-privacy-tooltip"))
self.filenameprivacySendRawOption.setToolTip(getMessage("en", "privacy-sendraw-tooltip")) self.filenameprivacySendRawOption.setToolTip(getMessage("privacy-sendraw-tooltip"))
self.filenameprivacySendHashedOption.setToolTip(getMessage("en", "privacy-sendhashed-tooltip")) self.filenameprivacySendHashedOption.setToolTip(getMessage("privacy-sendhashed-tooltip"))
self.filenameprivacyDontSendOption.setToolTip(getMessage("en", "privacy-dontsend-tooltip")) self.filenameprivacyDontSendOption.setToolTip(getMessage("privacy-dontsend-tooltip"))
self.filesizeprivacyLabel.setToolTip(getMessage("en", "filesize-privacy-tooltip")) self.filesizeprivacyLabel.setToolTip(getMessage("filesize-privacy-tooltip"))
self.filesizeprivacySendRawOption.setToolTip(getMessage("en", "privacy-sendraw-tooltip")) self.filesizeprivacySendRawOption.setToolTip(getMessage("privacy-sendraw-tooltip"))
self.filesizeprivacySendHashedOption.setToolTip(getMessage("en", "privacy-sendhashed-tooltip")) self.filesizeprivacySendHashedOption.setToolTip(getMessage("privacy-sendhashed-tooltip"))
self.filesizeprivacyDontSendOption.setToolTip(getMessage("en", "privacy-dontsend-tooltip")) self.filesizeprivacyDontSendOption.setToolTip(getMessage("privacy-dontsend-tooltip"))
slowdownMode = config['slowMeOnDesync'] slowdownMode = config['slowMeOnDesync']
if slowdownMode == constants.OPTION_ALWAYS: if slowdownMode == constants.OPTION_ALWAYS:
@ -465,15 +465,15 @@ class ConfigDialog(QtGui.QDialog):
if config['dontSlowDownWithMe'] == True: if config['dontSlowDownWithMe'] == True:
self.dontslowwithmeCheckbox.setChecked(True) self.dontslowwithmeCheckbox.setChecked(True)
self.slowdownLabel.setToolTip(getMessage("en", "slowdown-tooltip")) self.slowdownLabel.setToolTip(getMessage("slowdown-tooltip"))
self.slowdownAutoOption.setToolTip(getMessage("en", "slowdown-auto-tooltip")) self.slowdownAutoOption.setToolTip(getMessage("slowdown-auto-tooltip"))
self.slowdownAlwaysOption.setToolTip(getMessage("en", "slowdown-always-tooltip")) self.slowdownAlwaysOption.setToolTip(getMessage("slowdown-always-tooltip"))
self.slowdownNeverOption.setToolTip(getMessage("en", "slowdown-never-tooltip")) self.slowdownNeverOption.setToolTip(getMessage("slowdown-never-tooltip"))
self.dontslowwithmeCheckbox.setToolTip(getMessage("en", "dontslowwithme-tooltip")) self.dontslowwithmeCheckbox.setToolTip(getMessage("dontslowwithme-tooltip"))
self.pauseonleaveCheckbox.setToolTip(getMessage("en", "pauseonleave-tooltip")) self.pauseonleaveCheckbox.setToolTip(getMessage("pauseonleave-tooltip"))
self.alwaysshowCheckbox.setToolTip(getMessage("en", "alwayshow-tooltip")) self.alwaysshowCheckbox.setToolTip(getMessage("alwayshow-tooltip"))
self.donotstoreCheckbox.setToolTip(getMessage("en", "donotstore-tooltip")) self.donotstoreCheckbox.setToolTip(getMessage("donotstore-tooltip"))
self.moreSettingsLayout = QtGui.QGridLayout() self.moreSettingsLayout = QtGui.QGridLayout()
@ -518,7 +518,7 @@ class ConfigDialog(QtGui.QDialog):
self.moreSettingsGroup.setLayout(self.moreSettingsLayout) self.moreSettingsGroup.setLayout(self.moreSettingsLayout)
self.showmoreCheckbox = QCheckBox(getMessage("en", "more-title")) self.showmoreCheckbox = QCheckBox(getMessage("more-title"))
if self.getMoreState() == False: if self.getMoreState() == False:
self.showmoreCheckbox.setChecked(False) self.showmoreCheckbox.setChecked(False)
@ -531,7 +531,7 @@ class ConfigDialog(QtGui.QDialog):
if config['forceGuiPrompt'] == False: if config['forceGuiPrompt'] == False:
self.alwaysshowCheckbox.setChecked(True) self.alwaysshowCheckbox.setChecked(True)
self.showmoreCheckbox.setToolTip(getMessage("en", "more-tooltip")) self.showmoreCheckbox.setToolTip(getMessage("more-tooltip"))
self.donotstoreCheckbox.toggled.connect(self.runButtonTextUpdate) self.donotstoreCheckbox.toggled.connect(self.runButtonTextUpdate)
@ -551,15 +551,15 @@ class ConfigDialog(QtGui.QDialog):
self.mainLayout.addSpacing(12) self.mainLayout.addSpacing(12)
self.topLayout = QtGui.QHBoxLayout() self.topLayout = QtGui.QHBoxLayout()
self.helpButton = QtGui.QPushButton(QtGui.QIcon(resourcespath + 'help.png'), getMessage("en", "help-label")) self.helpButton = QtGui.QPushButton(QtGui.QIcon(resourcespath + 'help.png'), getMessage("help-label"))
self.helpButton.setToolTip(getMessage("en", "help-tooltip")) self.helpButton.setToolTip(getMessage("help-tooltip"))
self.helpButton.setMaximumSize(self.helpButton.sizeHint()) self.helpButton.setMaximumSize(self.helpButton.sizeHint())
self.helpButton.pressed.connect(self.openHelp) self.helpButton.pressed.connect(self.openHelp)
self.runButton = QtGui.QPushButton(QtGui.QIcon(resourcespath + 'accept.png'), getMessage("en", "storeandrun-label")) self.runButton = QtGui.QPushButton(QtGui.QIcon(resourcespath + 'accept.png'), getMessage("storeandrun-label"))
self.runButton.pressed.connect(self._saveDataAndLeave) self.runButton.pressed.connect(self._saveDataAndLeave)
if config['noStore'] == True: if config['noStore'] == True:
self.donotstoreCheckbox.setChecked(True) self.donotstoreCheckbox.setChecked(True)
self.runButton.setText(getMessage("en", "run-label")) self.runButton.setText(getMessage("run-label"))
self.topLayout.addWidget(self.helpButton, Qt.AlignLeft) self.topLayout.addWidget(self.helpButton, Qt.AlignLeft)
self.topLayout.addWidget(self.runButton, Qt.AlignRight) self.topLayout.addWidget(self.runButton, Qt.AlignRight)
self.mainLayout.addLayout(self.topLayout) self.mainLayout.addLayout(self.topLayout)
@ -571,4 +571,4 @@ class ConfigDialog(QtGui.QDialog):
self.setAcceptDrops(True) self.setAcceptDrops(True)
if self.datacleared == True: if self.datacleared == True:
QtGui.QMessageBox.information(self, "Syncplay", getMessage("en", "gui-data-cleared-notification")) QtGui.QMessageBox.information(self, "Syncplay", getMessage("gui-data-cleared-notification"))

View File

@ -138,14 +138,14 @@ class ConsoleUI(threading.Thread):
if(self._tryAdvancedCommands(data)): if(self._tryAdvancedCommands(data)):
return return
if (command.group('command') not in constants.COMMANDS_HELP): if (command.group('command') not in constants.COMMANDS_HELP):
self.showMessage(getMessage("en", "unrecognized-command-notification")) self.showMessage(getMessage("unrecognized-command-notification"))
self.showMessage(getMessage("en", "commandlist-notification"), True) self.showMessage(getMessage("commandlist-notification"), True)
self.showMessage(getMessage("en", "commandlist-notification/room"), True) self.showMessage(getMessage("commandlist-notification/room"), True)
self.showMessage(getMessage("en", "commandlist-notification/list"), True) self.showMessage(getMessage("commandlist-notification/list"), True)
self.showMessage(getMessage("en", "commandlist-notification/undo"), True) self.showMessage(getMessage("commandlist-notification/undo"), True)
self.showMessage(getMessage("en", "commandlist-notification/pause"), True) self.showMessage(getMessage("commandlist-notification/pause"), True)
self.showMessage(getMessage("en", "commandlist-notification/seek"), True) self.showMessage(getMessage("commandlist-notification/seek"), True)
self.showMessage(getMessage("en", "commandlist-notification/help"), True) self.showMessage(getMessage("commandlist-notification/help"), True)
self.showMessage(getMessage("en", "syncplay-version-notification").format(syncplay.version), True) self.showMessage(getMessage("syncplay-version-notification").format(syncplay.version), True)
self.showMessage(getMessage("en", "more-info-notification").format(syncplay.projectURL), True) self.showMessage(getMessage("more-info-notification").format(syncplay.projectURL), True)

View File

@ -31,7 +31,7 @@ class MainWindow(QtGui.QMainWindow):
def showUserList(self, currentUser, rooms): def showUserList(self, currentUser, rooms):
self._usertreebuffer = QtGui.QStandardItemModel() self._usertreebuffer = QtGui.QStandardItemModel()
self._usertreebuffer.setColumnCount(2) self._usertreebuffer.setColumnCount(2)
self._usertreebuffer.setHorizontalHeaderLabels((getMessage("en", "roomuser-heading-label"),getMessage("en", "fileplayed-heading-label"))) self._usertreebuffer.setHorizontalHeaderLabels((getMessage("roomuser-heading-label"),getMessage("fileplayed-heading-label")))
usertreeRoot = self._usertreebuffer.invisibleRootItem() usertreeRoot = self._usertreebuffer.invisibleRootItem()
for room in rooms: for room in rooms:
@ -59,15 +59,15 @@ class MainWindow(QtGui.QMainWindow):
differentDuration = not sameDuration differentDuration = not sameDuration
if (sameName or sameRoom): if (sameName or sameRoom):
if (differentSize and sameDuration): if (differentSize and sameDuration):
fileitem = QtGui.QStandardItem(u"{} ({}) ({})".format(user.file['name'], formatTime(user.file['duration']), getMessage("en", "differentsize-note"))) fileitem = QtGui.QStandardItem(u"{} ({}) ({})".format(user.file['name'], formatTime(user.file['duration']), getMessage("differentsize-note")))
elif (differentSize and differentDuration): elif (differentSize and differentDuration):
fileitem = QtGui.QStandardItem(u"{} ({}) ({})".format(user.file['name'], formatTime(user.file['duration']), getMessage("en", "differentsizeandduration-note"))) fileitem = QtGui.QStandardItem(u"{} ({}) ({})".format(user.file['name'], formatTime(user.file['duration']), getMessage("differentsizeandduration-note")))
elif (differentDuration): elif (differentDuration):
fileitem = QtGui.QStandardItem(u"{} ({}) ({})".format(user.file['name'], formatTime(user.file['duration']), getMessage("en", "differentduration-note"))) fileitem = QtGui.QStandardItem(u"{} ({}) ({})".format(user.file['name'], formatTime(user.file['duration']), getMessage("differentduration-note")))
if (sameRoom and (differentName or differentSize or differentDuration)): if (sameRoom and (differentName or differentSize or differentDuration)):
fileitem.setForeground(QtGui.QBrush(QtGui.QColor('red'))) fileitem.setForeground(QtGui.QBrush(QtGui.QColor('red')))
else: else:
fileitem = QtGui.QStandardItem(getMessage("en", "nofile-note")) fileitem = QtGui.QStandardItem(getMessage("nofile-note"))
if (room == currentUser.room): if (room == currentUser.room):
fileitem.setForeground(QtGui.QBrush(QtGui.QColor('blue'))) fileitem.setForeground(QtGui.QBrush(QtGui.QColor('blue')))
if(currentUser.username == user.username): if(currentUser.username == user.username):
@ -177,7 +177,7 @@ class MainWindow(QtGui.QMainWindow):
else: else:
defaultdirectory = "" defaultdirectory = ""
browserfilter = "All files (*)" browserfilter = "All files (*)"
fileName, filtr = QtGui.QFileDialog.getOpenFileName(self,getMessage("en", "browseformedia-label"),defaultdirectory, fileName, filtr = QtGui.QFileDialog.getOpenFileName(self,getMessage("browseformedia-label"),defaultdirectory,
browserfilter, "", options) browserfilter, "", options)
if fileName: if fileName:
if sys.platform.startswith('win'): if sys.platform.startswith('win'):
@ -196,8 +196,8 @@ class MainWindow(QtGui.QMainWindow):
return None return None
def setOffset(self): def setOffset(self):
newoffset, ok = QtGui.QInputDialog.getText(self,getMessage("en","setoffset-msgbox-label"), newoffset, ok = QtGui.QInputDialog.getText(self,getMessage("setoffset-msgbox-label"),
getMessage("en","offsetinfo-msgbox-label"), QtGui.QLineEdit.Normal, getMessage("offsetinfo-msgbox-label"), QtGui.QLineEdit.Normal,
"") "")
if ok and newoffset != '': if ok and newoffset != '':
o = re.match(constants.UI_OFFSET_REGEX, "o " + newoffset) o = re.match(constants.UI_OFFSET_REGEX, "o " + newoffset)
@ -231,7 +231,7 @@ class MainWindow(QtGui.QMainWindow):
window.outputLayout = QtGui.QVBoxLayout() window.outputLayout = QtGui.QVBoxLayout()
window.outputbox = QtGui.QTextEdit() window.outputbox = QtGui.QTextEdit()
window.outputbox.setReadOnly(True) window.outputbox.setReadOnly(True)
window.outputlabel = QtGui.QLabel(getMessage("en", "notifications-heading-label")) window.outputlabel = QtGui.QLabel(getMessage("notifications-heading-label"))
window.outputFrame = QtGui.QFrame() window.outputFrame = QtGui.QFrame()
window.outputFrame.setLineWidth(0) window.outputFrame.setLineWidth(0)
window.outputFrame.setMidLineWidth(0) window.outputFrame.setMidLineWidth(0)
@ -245,7 +245,7 @@ class MainWindow(QtGui.QMainWindow):
window.listTreeView = QtGui.QTreeView() window.listTreeView = QtGui.QTreeView()
window.listTreeView.setModel(window.listTreeModel) window.listTreeView.setModel(window.listTreeModel)
window.listTreeView.doubleClicked.connect(self.roomClicked) window.listTreeView.doubleClicked.connect(self.roomClicked)
window.listlabel = QtGui.QLabel(getMessage("en", "userlist-heading-label")) window.listlabel = QtGui.QLabel(getMessage("userlist-heading-label"))
window.listFrame = QtGui.QFrame() window.listFrame = QtGui.QFrame()
window.listFrame.setLineWidth(0) window.listFrame.setLineWidth(0)
window.listFrame.setMidLineWidth(0) window.listFrame.setMidLineWidth(0)
@ -259,7 +259,7 @@ class MainWindow(QtGui.QMainWindow):
window.contactLabel.setLineWidth(1) window.contactLabel.setLineWidth(1)
window.contactLabel.setMidLineWidth(0) window.contactLabel.setMidLineWidth(0)
window.contactLabel.setMargin(2) window.contactLabel.setMargin(2)
window.contactLabel.setText(getMessage("en","contact-label")) window.contactLabel.setText(getMessage("contact-label"))
window.contactLabel.setTextInteractionFlags(Qt.LinksAccessibleByMouse) window.contactLabel.setTextInteractionFlags(Qt.LinksAccessibleByMouse)
window.contactLabel.setOpenExternalLinks(True) window.contactLabel.setOpenExternalLinks(True)
window.listLayout.addWidget(window.contactLabel) window.listLayout.addWidget(window.contactLabel)
@ -286,16 +286,16 @@ class MainWindow(QtGui.QMainWindow):
window.mainLayout.addLayout(window.bottomLayout, Qt.AlignLeft) window.mainLayout.addLayout(window.bottomLayout, Qt.AlignLeft)
def addRoomBox(self, window): def addRoomBox(self, window):
window.roomGroup = QtGui.QGroupBox(getMessage("en", "room-heading-label")) window.roomGroup = QtGui.QGroupBox(getMessage("room-heading-label"))
window.roomInput = QtGui.QLineEdit() window.roomInput = QtGui.QLineEdit()
window.roomInput.returnPressed.connect(self.joinRoom) window.roomInput.returnPressed.connect(self.joinRoom)
window.roomButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'door_in.png'), getMessage("en", "joinroom-guibuttonlabel")) window.roomButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'door_in.png'), getMessage("joinroom-guibuttonlabel"))
window.roomButton.pressed.connect(self.joinRoom) window.roomButton.pressed.connect(self.joinRoom)
window.roomLayout = QtGui.QHBoxLayout() window.roomLayout = QtGui.QHBoxLayout()
window.roomInput.setMaximumWidth(150) window.roomInput.setMaximumWidth(150)
self.roomButton.setToolTip(getMessage("en", "joinroom-tooltip")) self.roomButton.setToolTip(getMessage("joinroom-tooltip"))
window.roomLayout.addWidget(window.roomInput) window.roomLayout.addWidget(window.roomInput)
window.roomLayout.addWidget(window.roomButton) window.roomLayout.addWidget(window.roomButton)
@ -304,14 +304,14 @@ class MainWindow(QtGui.QMainWindow):
window.roomGroup.setFixedSize(window.roomGroup.sizeHint()) window.roomGroup.setFixedSize(window.roomGroup.sizeHint())
def addSeekBox(self, window): def addSeekBox(self, window):
window.seekGroup = QtGui.QGroupBox(getMessage("en", "seek-heading-label")) window.seekGroup = QtGui.QGroupBox(getMessage("seek-heading-label"))
window.seekInput = QtGui.QLineEdit() window.seekInput = QtGui.QLineEdit()
window.seekInput.returnPressed.connect(self.seekPosition) window.seekInput.returnPressed.connect(self.seekPosition)
window.seekButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'clock_go.png'),getMessage("en", "seektime-guibuttonlabel")) window.seekButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'clock_go.png'),getMessage("seektime-guibuttonlabel"))
window.seekButton.pressed.connect(self.seekPosition) window.seekButton.pressed.connect(self.seekPosition)
self.seekButton.setToolTip(getMessage("en", "seektime-tooltip")) self.seekButton.setToolTip(getMessage("seektime-tooltip"))
window.seekLayout = QtGui.QHBoxLayout() window.seekLayout = QtGui.QHBoxLayout()
window.seekInput.setMaximumWidth(50) window.seekInput.setMaximumWidth(50)
@ -324,30 +324,30 @@ class MainWindow(QtGui.QMainWindow):
window.seekGroup.setFixedSize(window.seekGroup.sizeHint()) window.seekGroup.setFixedSize(window.seekGroup.sizeHint())
def addMiscBox(self, window): def addMiscBox(self, window):
window.miscGroup = QtGui.QGroupBox(getMessage("en", "othercommands-heading-label")) window.miscGroup = QtGui.QGroupBox(getMessage("othercommands-heading-label"))
window.unseekButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'arrow_undo.png'),getMessage("en", "undoseek-guibuttonlabel")) window.unseekButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'arrow_undo.png'),getMessage("undoseek-guibuttonlabel"))
window.unseekButton.pressed.connect(self.undoSeek) window.unseekButton.pressed.connect(self.undoSeek)
self.unseekButton.setToolTip(getMessage("en", "undoseek-tooltip")) self.unseekButton.setToolTip(getMessage("undoseek-tooltip"))
window.miscLayout = QtGui.QHBoxLayout() window.miscLayout = QtGui.QHBoxLayout()
window.miscLayout.addWidget(window.unseekButton) window.miscLayout.addWidget(window.unseekButton)
if constants.MERGE_PLAYPAUSE_BUTTONS == True: if constants.MERGE_PLAYPAUSE_BUTTONS == True:
window.playpauseButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'control_pause_blue.png'),getMessage("en", "togglepause-guibuttonlabel")) window.playpauseButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'control_pause_blue.png'),getMessage("togglepause-guibuttonlabel"))
window.playpauseButton.pressed.connect(self.togglePause) window.playpauseButton.pressed.connect(self.togglePause)
window.miscLayout.addWidget(window.playpauseButton) window.miscLayout.addWidget(window.playpauseButton)
self.playpauseButton.setToolTip(getMessage("en", "togglepause-tooltip")) self.playpauseButton.setToolTip(getMessage("togglepause-tooltip"))
else: else:
window.playButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'control_play_blue.png'),getMessage("en", "play-guibuttonlabel")) window.playButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'control_play_blue.png'),getMessage("play-guibuttonlabel"))
window.playButton.pressed.connect(self.play) window.playButton.pressed.connect(self.play)
window.playButton.setMaximumWidth(60) window.playButton.setMaximumWidth(60)
window.miscLayout.addWidget(window.playButton) window.miscLayout.addWidget(window.playButton)
window.pauseButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'control_pause_blue.png'),getMessage("en", "pause-guibuttonlabel")) window.pauseButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'control_pause_blue.png'),getMessage("pause-guibuttonlabel"))
window.pauseButton.pressed.connect(self.pause) window.pauseButton.pressed.connect(self.pause)
window.pauseButton.setMaximumWidth(60) window.pauseButton.setMaximumWidth(60)
window.miscLayout.addWidget(window.pauseButton) window.miscLayout.addWidget(window.pauseButton)
self.playButton.setToolTip(getMessage("en", "play-tooltip")) self.playButton.setToolTip(getMessage("play-tooltip"))
self.pauseButton.setToolTip(getMessage("en", "pause-tooltip")) self.pauseButton.setToolTip(getMessage("pause-tooltip"))
window.miscGroup.setLayout(window.miscLayout) window.miscGroup.setLayout(window.miscLayout)
window.miscGroup.setFixedSize(window.miscGroup.sizeHint()) window.miscGroup.setFixedSize(window.miscGroup.sizeHint())
@ -356,20 +356,20 @@ class MainWindow(QtGui.QMainWindow):
def addMenubar(self, window): def addMenubar(self, window):
window.menuBar = QtGui.QMenuBar() window.menuBar = QtGui.QMenuBar()
window.fileMenu = QtGui.QMenu(getMessage("en", "file-menu-label"), self) window.fileMenu = QtGui.QMenu(getMessage("file-menu-label"), self)
window.openAction = window.fileMenu.addAction(QtGui.QIcon(self.resourcespath + 'folder_explore.png'), getMessage("en", "openmedia-menu-label")) window.openAction = window.fileMenu.addAction(QtGui.QIcon(self.resourcespath + 'folder_explore.png'), getMessage("openmedia-menu-label"))
window.openAction.triggered.connect(self.browseMediapath) window.openAction.triggered.connect(self.browseMediapath)
window.exitAction = window.fileMenu.addAction(QtGui.QIcon(self.resourcespath + 'cross.png'), getMessage("en", "file-menu-label")) window.exitAction = window.fileMenu.addAction(QtGui.QIcon(self.resourcespath + 'cross.png'), getMessage("file-menu-label"))
window.exitAction.triggered.connect(self.exitSyncplay) window.exitAction.triggered.connect(self.exitSyncplay)
window.menuBar.addMenu(window.fileMenu) window.menuBar.addMenu(window.fileMenu)
window.advancedMenu = QtGui.QMenu(getMessage("en", "advanced-menu-label"), self) window.advancedMenu = QtGui.QMenu(getMessage("advanced-menu-label"), self)
window.setoffsetAction = window.advancedMenu.addAction(QtGui.QIcon(self.resourcespath + 'timeline_marker.png'),getMessage("en", "setoffset-menu-label")) window.setoffsetAction = window.advancedMenu.addAction(QtGui.QIcon(self.resourcespath + 'timeline_marker.png'),getMessage("setoffset-menu-label"))
window.setoffsetAction.triggered.connect(self.setOffset) window.setoffsetAction.triggered.connect(self.setOffset)
window.menuBar.addMenu(window.advancedMenu) window.menuBar.addMenu(window.advancedMenu)
window.helpMenu = QtGui.QMenu(getMessage("en", "help-menu-label"), self) window.helpMenu = QtGui.QMenu(getMessage("help-menu-label"), self)
window.userguideAction = window.helpMenu.addAction(QtGui.QIcon(self.resourcespath + 'help.png'), getMessage("en", "userguide-menu-label")) window.userguideAction = window.helpMenu.addAction(QtGui.QIcon(self.resourcespath + 'help.png'), getMessage("userguide-menu-label"))
window.userguideAction.triggered.connect(self.openUserGuide) window.userguideAction.triggered.connect(self.openUserGuide)
window.menuBar.addMenu(window.helpMenu) window.menuBar.addMenu(window.helpMenu)

View File

@ -38,7 +38,7 @@ def retry(ExceptionToCheck, tries=4, delay=3, backoff=2, logger=None):
break break
except ExceptionToCheck, e: except ExceptionToCheck, e:
if logger: if logger:
msg = getMessage("en", "retrying-notification").format(str(e), mdelay) msg = getMessage("retrying-notification").format(str(e), mdelay)
logger.warning(msg) logger.warning(msg)
time.sleep(mdelay) time.sleep(mdelay)
mtries -= 1 mtries -= 1