From 211025e53078ac80f2afac21ae4fe0ee90891a6e Mon Sep 17 00:00:00 2001 From: Et0h Date: Sat, 24 May 2014 22:33:26 +0100 Subject: [PATCH] Move GUI msgs to messages.py --- syncplay/messages.py | 33 ++++++++++++++++++++++++++ syncplay/ui/gui.py | 55 ++++++++++++++++++++++---------------------- 2 files changed, 61 insertions(+), 27 deletions(-) diff --git a/syncplay/messages.py b/syncplay/messages.py index 74af785..ad90037 100644 --- a/syncplay/messages.py +++ b/syncplay/messages.py @@ -132,8 +132,35 @@ en = { "run-label" : "Run Syncplay", "storeandrun-label" : "Store configuration and run Syncplay", + "contact-label" : "Have an idea, bug report or feedback? E-mail dev@syncplay.pl, chat via the #Syncplay IRC channel on irc.freenode.net or raise an issue via GitHub. Also check out http://syncplay.pl/ for info, help and updates.", + + "joinroom-label" : "Join room", + "seektime-label" : "Seek to time", + "undoseek-label" : "Undo seek", + "togglepause-label" : "Toggle pause", + "play-label" : "Play", + "pause-label" : "Play", + "roomuser-heading-label" : "Room / User", "fileplayed-heading-label" : "File being played", + "notifications-heading-label" : "Notifications", + "userlist-heading-label" : "List of who is playing what", + "othercommands-heading-label" : "Other commands", + "room-heading-label" : "Room", + "seek-heading-label" : "Seek", + + "browseformedia-label" : "Browse for media files", + + "file-menu-label" : "&File", # & precedes shortcut key + "openmedia-menu-label" : "&Open media file", + "exit-menu-label" : "E&xit", + "advanced-menu-label" : "&Advanced", + "setoffset-menu-label" : "Set &offset", + "help-menu-label" : "&Help", + "userguide-menu-label" : "Open user &guide", + + "setoffset-msgbox-label" : "Set offset", + "offsetinfo-msgbox-label" : "Offset (see http://syncplay.pl/guide/ for usage instructions):", # Tooltips @@ -160,6 +187,12 @@ en = { "help-tooltip" : "Opens the Syncplay.pl user guide.", + # In-userlist notes (GUI) + "differentsize-note" : "Different size!", + "differentsizeandduration-note" : "Different size and duration!", + "differentduration-note" : "Different duration!", + "nofile-note" : "(No file being played)", + # Server messages to client "new-syncplay-available-motd-message" : " You are using Syncplay {} but a newer version is available from http://syncplay.pl ", # ClientVersion diff --git a/syncplay/ui/gui.py b/syncplay/ui/gui.py index 1b4e93d..ed9e9e4 100644 --- a/syncplay/ui/gui.py +++ b/syncplay/ui/gui.py @@ -1,6 +1,7 @@ from PySide import QtGui #@UnresolvedImport from PySide.QtCore import Qt, QSettings, QSize, QPoint #@UnresolvedImport from syncplay import utils, constants, version +from syncplay.messages import getMessage import sys import time import re @@ -30,7 +31,7 @@ class MainWindow(QtGui.QMainWindow): def showUserList(self, currentUser, rooms): self._usertreebuffer = QtGui.QStandardItemModel() self._usertreebuffer.setColumnCount(2) - self._usertreebuffer.setHorizontalHeaderLabels(("Room / User","File being played")) + self._usertreebuffer.setHorizontalHeaderLabels((getMessage("en", "roomuser-heading-label"),getMessage("en", "fileplayed-heading-label"))) usertreeRoot = self._usertreebuffer.invisibleRootItem() for room in rooms: @@ -58,15 +59,15 @@ class MainWindow(QtGui.QMainWindow): differentDuration = not sameDuration if (sameName or sameRoom): if (differentSize and sameDuration): - fileitem = QtGui.QStandardItem(user.file['name'] + " ("+formatTime(user.file['duration'])+")" + " (Different size!)") + fileitem = QtGui.QStandardItem("{} ({}) ({})".format(user.file['name'], formatTime(user.file['duration']), getMessage("en", "differentsize-note"))) elif (differentSize and differentDuration): - fileitem = QtGui.QStandardItem(user.file['name'] + " ("+formatTime(user.file['duration'])+")" + " (Different size and duration!)") + fileitem = QtGui.QStandardItem("{} ({}) ({})".format(user.file['name'], formatTime(user.file['duration']), getMessage("en", "differentsizeandduration-note"))) elif (differentDuration): - fileitem = QtGui.QStandardItem(user.file['name'] + " ("+formatTime(user.file['duration'])+")" + " (Different duration!)") + fileitem = QtGui.QStandardItem("{} ({}) ({})".format(user.file['name'], formatTime(user.file['duration']), getMessage("en", "differentduration-note"))) if (sameRoom and (differentName or differentSize or differentDuration)): fileitem.setForeground(QtGui.QBrush(QtGui.QColor('red'))) else: - fileitem = QtGui.QStandardItem("(No file being played)") + fileitem = QtGui.QStandardItem(getMessage("en", "nofile-note")) if (room == currentUser.room): fileitem.setForeground(QtGui.QBrush(QtGui.QColor('blue'))) if(currentUser.username == user.username): @@ -176,7 +177,7 @@ class MainWindow(QtGui.QMainWindow): else: defaultdirectory = "" browserfilter = "All files (*)" - fileName, filtr = QtGui.QFileDialog.getOpenFileName(self,"Browse for media files",defaultdirectory, + fileName, filtr = QtGui.QFileDialog.getOpenFileName(self,getMessage("en", "browseformedia-label"),defaultdirectory, browserfilter, "", options) if fileName: if sys.platform.startswith('win'): @@ -195,8 +196,8 @@ class MainWindow(QtGui.QMainWindow): return None def setOffset(self): - newoffset, ok = QtGui.QInputDialog.getText(self,"Set offset", - "Offset (see http://syncplay.pl/guide/ for usage instructions):", QtGui.QLineEdit.Normal, + newoffset, ok = QtGui.QInputDialog.getText(self,getMessage("en","setoffset-msgbox-label"), + getMessage("en","offsetinfo-msgbox-label"), QtGui.QLineEdit.Normal, "") if ok and newoffset != '': o = re.match(constants.UI_OFFSET_REGEX, "o " + newoffset) @@ -230,7 +231,7 @@ class MainWindow(QtGui.QMainWindow): window.outputLayout = QtGui.QVBoxLayout() window.outputbox = QtGui.QTextEdit() window.outputbox.setReadOnly(True) - window.outputlabel = QtGui.QLabel("Notifications") + window.outputlabel = QtGui.QLabel(getMessage("en", "notifications-heading-label")) window.outputFrame = QtGui.QFrame() window.outputFrame.setLineWidth(0) window.outputFrame.setMidLineWidth(0) @@ -244,7 +245,7 @@ class MainWindow(QtGui.QMainWindow): window.listTreeView = QtGui.QTreeView() window.listTreeView.setModel(window.listTreeModel) window.listTreeView.doubleClicked.connect(self.roomClicked) - window.listlabel = QtGui.QLabel("List of who is playing what") + window.listlabel = QtGui.QLabel(getMessage("en", "userlist-heading-label")) window.listFrame = QtGui.QFrame() window.listFrame.setLineWidth(0) window.listFrame.setMidLineWidth(0) @@ -258,7 +259,7 @@ class MainWindow(QtGui.QMainWindow): window.contactLabel.setLineWidth(1) window.contactLabel.setMidLineWidth(0) window.contactLabel.setMargin(2) - window.contactLabel.setText("Have an idea, bug report or feedback? E-mail dev@syncplay.pl, chat via the #Syncplay IRC channel on irc.freenode.net or raise an issue via GitHub. Also check out http://syncplay.pl/ for info, help and updates.") + window.contactLabel.setText(getMessage("en","contact-label")) window.contactLabel.setTextInteractionFlags(Qt.LinksAccessibleByMouse) window.contactLabel.setOpenExternalLinks(True) window.listLayout.addWidget(window.contactLabel) @@ -285,11 +286,11 @@ class MainWindow(QtGui.QMainWindow): window.mainLayout.addLayout(window.bottomLayout, Qt.AlignLeft) def addRoomBox(self, window): - window.roomGroup = QtGui.QGroupBox("Room") + window.roomGroup = QtGui.QGroupBox(getMessage("en", "room-heading-label")) window.roomInput = QtGui.QLineEdit() window.roomInput.returnPressed.connect(self.joinRoom) - window.roomButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'door_in.png'), "Join room") + window.roomButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'door_in.png'), getMessage("en", "joinroom-label")) window.roomButton.pressed.connect(self.joinRoom) window.roomLayout = QtGui.QHBoxLayout() window.roomInput.setMaximumWidth(150) @@ -301,11 +302,11 @@ class MainWindow(QtGui.QMainWindow): window.roomGroup.setFixedSize(window.roomGroup.sizeHint()) def addSeekBox(self, window): - window.seekGroup = QtGui.QGroupBox("Seek") + window.seekGroup = QtGui.QGroupBox(getMessage("en", "seek-heading-label")) window.seekInput = QtGui.QLineEdit() window.seekInput.returnPressed.connect(self.seekPosition) - window.seekButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'clock_go.png'),"Seek to time") + window.seekButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'clock_go.png'),getMessage("en", "seektime-label")) window.seekButton.pressed.connect(self.seekPosition) window.seekLayout = QtGui.QHBoxLayout() @@ -319,23 +320,23 @@ class MainWindow(QtGui.QMainWindow): window.seekGroup.setFixedSize(window.seekGroup.sizeHint()) def addMiscBox(self, window): - window.miscGroup = QtGui.QGroupBox("Other commands") + window.miscGroup = QtGui.QGroupBox(getMessage("en", "othercommands-heading-label")) - window.unseekButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'arrow_undo.png'),"Undo seek") + window.unseekButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'arrow_undo.png'),getMessage("en", "undoseek-label")) window.unseekButton.pressed.connect(self.undoSeek) window.miscLayout = QtGui.QHBoxLayout() window.miscLayout.addWidget(window.unseekButton) if constants.MERGE_PLAYPAUSE_BUTTONS == True: - window.playpauseButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'control_pause_blue.png'),"Toggle pause") + window.playpauseButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'control_pause_blue.png'),getMessage("en", "togglepause-label")) window.playpauseButton.pressed.connect(self.togglePause) window.miscLayout.addWidget(window.playpauseButton) else: - window.playButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'control_play_blue.png'),"Play") + window.playButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'control_play_blue.png'),getMessage("en", "play-label")) window.playButton.pressed.connect(self.play) window.playButton.setMaximumWidth(60) window.miscLayout.addWidget(window.playButton) - window.pauseButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'control_pause_blue.png'),"Pause") + window.pauseButton = QtGui.QPushButton(QtGui.QIcon(self.resourcespath + 'control_pause_blue.png'),getMessage("en", "pause-label")) window.pauseButton.pressed.connect(self.pause) window.pauseButton.setMaximumWidth(60) window.miscLayout.addWidget(window.pauseButton) @@ -347,20 +348,20 @@ class MainWindow(QtGui.QMainWindow): def addMenubar(self, window): window.menuBar = QtGui.QMenuBar() - window.fileMenu = QtGui.QMenu("&File", self) - window.openAction = window.fileMenu.addAction(QtGui.QIcon(self.resourcespath + 'folder_explore.png'), "&Open media file") + window.fileMenu = QtGui.QMenu(getMessage("en", "file-menu-label"), self) + window.openAction = window.fileMenu.addAction(QtGui.QIcon(self.resourcespath + 'folder_explore.png'), getMessage("en", "openmedia-menu-label")) window.openAction.triggered.connect(self.browseMediapath) - window.exitAction = window.fileMenu.addAction(QtGui.QIcon(self.resourcespath + 'cross.png'), "E&xit") + window.exitAction = window.fileMenu.addAction(QtGui.QIcon(self.resourcespath + 'cross.png'), getMessage("en", "file-menu-label")) window.exitAction.triggered.connect(self.exitSyncplay) window.menuBar.addMenu(window.fileMenu) - window.advancedMenu = QtGui.QMenu("&Advanced", self) - window.setoffsetAction = window.advancedMenu.addAction(QtGui.QIcon(self.resourcespath + 'timeline_marker.png'),"Set &offset") + window.advancedMenu = QtGui.QMenu(getMessage("en", "advanced-menu-label"), self) + window.setoffsetAction = window.advancedMenu.addAction(QtGui.QIcon(self.resourcespath + 'timeline_marker.png'),getMessage("en", "setoffset-menu-label")) window.setoffsetAction.triggered.connect(self.setOffset) window.menuBar.addMenu(window.advancedMenu) - window.helpMenu = QtGui.QMenu("&Help", self) - window.userguideAction = window.helpMenu.addAction(QtGui.QIcon(self.resourcespath + 'help.png'), "Open user &guide") + window.helpMenu = QtGui.QMenu(getMessage("en", "help-menu-label"), self) + window.userguideAction = window.helpMenu.addAction(QtGui.QIcon(self.resourcespath + 'help.png'), getMessage("en", "userguide-menu-label")) window.userguideAction.triggered.connect(self.openUserGuide) window.menuBar.addMenu(window.helpMenu)