Project/ProjectTranslationsBrowser.py

changeset 945
8cd4d08fa9f6
parent 791
9ec2ac20e54e
child 949
f888270da22e
--- a/Project/ProjectTranslationsBrowser.py	Fri Mar 11 08:55:14 2011 +0100
+++ b/Project/ProjectTranslationsBrowser.py	Fri Mar 11 16:51:57 2011 +0100
@@ -26,9 +26,10 @@
 import Preferences
 import Utilities
 
+
 class ProjectTranslationsBrowser(ProjectBaseBrowser):
     """
-    A class used to display the translations part of the project. 
+    A class used to display the translations part of the project.
     
     @signal linguistFile(str) emitted to open a translation file with
             Qt-Linguist
@@ -37,9 +38,9 @@
     @signal appendStderr(str) emitted after something was received from
             a QProcess on stderr
     @signal sourceFile(str) emitted to open a translation file in an editor
-    @signal closeSourceWindow(str) emitted after a file has been removed/deleted 
+    @signal closeSourceWindow(str) emitted after a file has been removed/deleted
             from the project
-    @signal trpreview(list of str, bool = False) emitted to preview translations in the 
+    @signal trpreview(list of str, bool = False) emitted to preview translations in the
             translations previewer
     @signal showMenu(str, QMenu) emitted when a menu is about to be shown. The name
             of the menu and a reference to the menu are given.
@@ -106,108 +107,108 @@
         self.menu = QMenu(self)
         if self.project.getProjectType() in \
                 ["Qt4", "Qt4C", "E4Plugin", "PySide", "PySideC"]:
-            act = self.menu.addAction(self.trUtf8('Generate translation'), 
+            act = self.menu.addAction(self.trUtf8('Generate translation'),
                 self.__generateSelected)
             self.tsMenuActions.append(act)
             self.tsprocMenuActions.append(act)
             act = self.menu.addAction(
-                self.trUtf8('Generate translation (with obsolete)'), 
+                self.trUtf8('Generate translation (with obsolete)'),
                 self.__generateObsoleteSelected)
             self.tsMenuActions.append(act)
             self.tsprocMenuActions.append(act)
-            act = self.menu.addAction(self.trUtf8('Generate all translations'), 
+            act = self.menu.addAction(self.trUtf8('Generate all translations'),
                 self.__generateAll)
             self.tsprocMenuActions.append(act)
             act = self.menu.addAction(
-                self.trUtf8('Generate all translations (with obsolete)'), 
+                self.trUtf8('Generate all translations (with obsolete)'),
                 self.__generateObsoleteAll)
             self.tsprocMenuActions.append(act)
             self.menu.addSeparator()
-            act = self.menu.addAction(self.trUtf8('Open in Qt-Linguist'), 
+            act = self.menu.addAction(self.trUtf8('Open in Qt-Linguist'),
                 self._openItem)
             self.tsMenuActions.append(act)
-            act = self.menu.addAction(self.trUtf8('Open in Editor'), 
+            act = self.menu.addAction(self.trUtf8('Open in Editor'),
                 self.__openFileInEditor)
             self.tsMenuActions.append(act)
             self.menu.addSeparator()
-            act = self.menu.addAction(self.trUtf8('Release translation'), 
+            act = self.menu.addAction(self.trUtf8('Release translation'),
                 self.__releaseSelected)
             self.tsMenuActions.append(act)
             self.qmprocMenuActions.append(act)
-            act = self.menu.addAction(self.trUtf8('Release all translations'), 
+            act = self.menu.addAction(self.trUtf8('Release all translations'),
                 self.__releaseAll)
             self.qmprocMenuActions.append(act)
             self.menu.addSeparator()
-            act = self.menu.addAction(self.trUtf8('Preview translation'), 
+            act = self.menu.addAction(self.trUtf8('Preview translation'),
                 self.__TRPreview)
             self.qmMenuActions.append(act)
-            act = self.menu.addAction(self.trUtf8('Preview all translations'), 
+            act = self.menu.addAction(self.trUtf8('Preview all translations'),
                 self.__TRPreviewAll)
             self.menu.addSeparator()
         else:
             if self.hooks["extractMessages"] is not None:
                 act = self.menu.addAction(
-                    self.hooksMenuEntries.get("extractMessages", 
-                        self.trUtf8('Extract messages')), 
+                    self.hooksMenuEntries.get("extractMessages",
+                        self.trUtf8('Extract messages')),
                     self.__extractMessages)
                 self.menuActions.append(act)
                 self.menu.addSeparator()
             if self.hooks["generateSelected"] is not None:
                 act = self.menu.addAction(
-                    self.hooksMenuEntries.get("generateSelected", 
-                        self.trUtf8('Generate translation')), 
+                    self.hooksMenuEntries.get("generateSelected",
+                        self.trUtf8('Generate translation')),
                     self.__generateSelected)
                 self.tsMenuActions.append(act)
                 self.tsprocMenuActions.append(act)
             if self.hooks["generateSelectedWithObsolete"] is not None:
                 act = self.menu.addAction(
-                    self.hooksMenuEntries.get("generateSelectedWithObsolete", 
-                        self.trUtf8('Generate translation (with obsolete)')), 
+                    self.hooksMenuEntries.get("generateSelectedWithObsolete",
+                        self.trUtf8('Generate translation (with obsolete)')),
                     self.__generateObsoleteSelected)
                 self.tsMenuActions.append(act)
                 self.tsprocMenuActions.append(act)
             if self.hooks["generateAll"] is not None:
                 act = self.menu.addAction(
-                    self.hooksMenuEntries.get("generateAll", 
-                        self.trUtf8('Generate all translations')), 
+                    self.hooksMenuEntries.get("generateAll",
+                        self.trUtf8('Generate all translations')),
                     self.__generateAll)
                 self.tsprocMenuActions.append(act)
             if self.hooks["generateAllWithObsolete"] is not None:
                 act = self.menu.addAction(
-                    self.hooksMenuEntries.get("generateAllWithObsolete", 
-                        self.trUtf8('Generate all translations (with obsolete)')), 
+                    self.hooksMenuEntries.get("generateAllWithObsolete",
+                        self.trUtf8('Generate all translations (with obsolete)')),
                     self.__generateObsoleteAll)
                 self.tsprocMenuActions.append(act)
             self.menu.addSeparator()
-            act = self.menu.addAction(self.trUtf8('Open in Editor'), 
+            act = self.menu.addAction(self.trUtf8('Open in Editor'),
                 self.__openFileInEditor)
             self.tsMenuActions.append(act)
             self.menu.addSeparator()
             if self.hooks["releaseSelected"] is not None:
                 act = self.menu.addAction(
-                    self.hooksMenuEntries.get("releaseSelected", 
-                        self.trUtf8('Release translation')), 
+                    self.hooksMenuEntries.get("releaseSelected",
+                        self.trUtf8('Release translation')),
                     self.__releaseSelected)
                 self.tsMenuActions.append(act)
                 self.qmprocMenuActions.append(act)
             if self.hooks["releaseAll"] is not None:
                 act = self.menu.addAction(
-                    self.hooksMenuEntries.get("releaseAll", 
-                        self.trUtf8('Release all translations')), 
+                    self.hooksMenuEntries.get("releaseAll",
+                        self.trUtf8('Release all translations')),
                     self.__releaseAll)
                 self.qmprocMenuActions.append(act)
             self.menu.addSeparator()
-        act = self.menu.addAction(self.trUtf8('Remove from project'), 
+        act = self.menu.addAction(self.trUtf8('Remove from project'),
             self.__removeLanguageFile)
         self.menuActions.append(act)
         act = self.menu.addAction(self.trUtf8('Delete'), self.__deleteLanguageFile)
         self.menuActions.append(act)
         self.menu.addSeparator()
         self.menu.addAction(self.trUtf8('Add translation...'), self.project.addLanguage)
-        self.menu.addAction(self.trUtf8('Add translation files...'), 
+        self.menu.addAction(self.trUtf8('Add translation files...'),
             self.__addTranslationFiles)
         self.menu.addSeparator()
-        self.menu.addAction(self.trUtf8('Copy Path to Clipboard'), 
+        self.menu.addAction(self.trUtf8('Copy Path to Clipboard'),
             self._copyToClipboard)
         self.menu.addSeparator()
         self.menu.addAction(self.trUtf8('Configure...'), self._configure)
@@ -215,48 +216,48 @@
         self.backMenu = QMenu(self)
         if self.project.getProjectType() in \
                 ["Qt4", "Qt4C", "E4Plugin", "PySide", "PySideC"]:
-            act = self.backMenu.addAction(self.trUtf8('Generate all translations'), 
+            act = self.backMenu.addAction(self.trUtf8('Generate all translations'),
                 self.__generateAll)
             self.tsprocBackMenuActions.append(act)
             act = self.backMenu.addAction(
-                self.trUtf8('Generate all translations (with obsolete)'), 
+                self.trUtf8('Generate all translations (with obsolete)'),
                 self.__generateObsoleteAll)
             self.tsprocBackMenuActions.append(act)
-            act = self.backMenu.addAction(self.trUtf8('Release all translations'), 
+            act = self.backMenu.addAction(self.trUtf8('Release all translations'),
                 self.__releaseAll)
             self.qmprocBackMenuActions.append(act)
             self.backMenu.addSeparator()
-            act = self.backMenu.addAction(self.trUtf8('Preview all translations'), 
+            act = self.backMenu.addAction(self.trUtf8('Preview all translations'),
                 self.__TRPreview)
         else:
             if self.hooks["extractMessages"] is not None:
                 act = self.backMenu.addAction(
-                    self.hooksMenuEntries.get("extractMessages", 
-                        self.trUtf8('Extract messages')), 
+                    self.hooksMenuEntries.get("extractMessages",
+                        self.trUtf8('Extract messages')),
                     self.__extractMessages)
                 self.backMenu.addSeparator()
             if self.hooks["generateAll"] is not None:
                 act = self.backMenu.addAction(
-                    self.hooksMenuEntries.get("generateAll", 
-                        self.trUtf8('Generate all translations')), 
+                    self.hooksMenuEntries.get("generateAll",
+                        self.trUtf8('Generate all translations')),
                     self.__generateAll)
                 self.tsprocBackMenuActions.append(act)
             if self.hooks["generateAllWithObsolete"] is not None:
                 act = self.backMenu.addAction(
-                    self.hooksMenuEntries.get("generateAllWithObsolete", 
-                        self.trUtf8('Generate all translations (with obsolete)')), 
+                    self.hooksMenuEntries.get("generateAllWithObsolete",
+                        self.trUtf8('Generate all translations (with obsolete)')),
                     self.__generateObsoleteAll)
                 self.tsprocBackMenuActions.append(act)
             if self.hooks["releaseAll"] is not None:
                 act = self.backMenu.addAction(
-                    self.hooksMenuEntries.get("releaseAll", 
-                        self.trUtf8('Release all translations')), 
+                    self.hooksMenuEntries.get("releaseAll",
+                        self.trUtf8('Release all translations')),
                     self.__releaseAll)
                 self.qmprocBackMenuActions.append(act)
         self.backMenu.addSeparator()
-        self.backMenu.addAction(self.trUtf8('Add translation...'), 
+        self.backMenu.addAction(self.trUtf8('Add translation...'),
             self.project.addLanguage)
-        self.backMenu.addAction(self.trUtf8('Add translation files...'), 
+        self.backMenu.addAction(self.trUtf8('Add translation files...'),
             self.__addTranslationFiles)
         self.backMenu.addSeparator()
         self.backMenu.addAction(self.trUtf8('Configure...'), self._configure)
@@ -266,7 +267,7 @@
         self.multiMenu = QMenu(self)
         if self.project.getProjectType() in \
                 ["Qt4", "Qt4C", "E4Plugin", "PySide", "PySideC"]:
-            act = self.multiMenu.addAction(self.trUtf8('Generate translations'), 
+            act = self.multiMenu.addAction(self.trUtf8('Generate translations'),
                 self.__generateSelected)
             self.tsMultiMenuActions.append(act)
             self.tsprocMultiMenuActions.append(act)
@@ -279,54 +280,54 @@
             act = self.multiMenu.addAction(
                 self.trUtf8('Open in Qt-Linguist'), self._openItem)
             self.tsMultiMenuActions.append(act)
-            act = self.multiMenu.addAction(self.trUtf8('Open in Editor'), 
+            act = self.multiMenu.addAction(self.trUtf8('Open in Editor'),
                 self.__openFileInEditor)
             self.tsMultiMenuActions.append(act)
             self.multiMenu.addSeparator()
-            act = self.multiMenu.addAction(self.trUtf8('Release translations'), 
+            act = self.multiMenu.addAction(self.trUtf8('Release translations'),
                 self.__releaseSelected)
             self.tsMultiMenuActions.append(act)
             self.qmprocMultiMenuActions.append(act)
             self.multiMenu.addSeparator()
-            act = self.multiMenu.addAction(self.trUtf8('Preview translations'), 
+            act = self.multiMenu.addAction(self.trUtf8('Preview translations'),
                 self.__TRPreview)
             self.qmMultiMenuActions.append(act)
         else:
             if self.hooks["extractMessages"] is not None:
                 act = self.multiMenu.addAction(
-                    self.hooksMenuEntries.get("extractMessages", 
-                        self.trUtf8('Extract messages')), 
+                    self.hooksMenuEntries.get("extractMessages",
+                        self.trUtf8('Extract messages')),
                     self.__extractMessages)
                 self.multiMenuActions.append(act)
                 self.multiMenu.addSeparator()
             if self.hooks["generateSelected"] is not None:
                 act = self.multiMenu.addAction(
-                    self.hooksMenuEntries.get("generateSelected", 
-                        self.trUtf8('Generate translations')), 
+                    self.hooksMenuEntries.get("generateSelected",
+                        self.trUtf8('Generate translations')),
                     self.__generateSelected)
                 self.tsMultiMenuActions.append(act)
                 self.tsprocMultiMenuActions.append(act)
             if self.hooks["generateSelectedWithObsolete"] is not None:
                 act = self.multiMenu.addAction(
-                    self.hooksMenuEntries.get("generateSelectedWithObsolete", 
+                    self.hooksMenuEntries.get("generateSelectedWithObsolete",
                         self.trUtf8('Generate translations (with obsolete)')),
                     self.__generateObsoleteSelected)
                 self.tsMultiMenuActions.append(act)
                 self.tsprocMultiMenuActions.append(act)
             self.multiMenu.addSeparator()
-            act = self.multiMenu.addAction(self.trUtf8('Open in Editor'), 
+            act = self.multiMenu.addAction(self.trUtf8('Open in Editor'),
                 self.__openFileInEditor)
             self.tsMultiMenuActions.append(act)
             self.multiMenu.addSeparator()
             if self.hooks["releaseSelected"] is not None:
                 act = self.multiMenu.addAction(
-                    self.hooksMenuEntries.get("releaseSelected", 
-                        self.trUtf8('Release translations')), 
+                    self.hooksMenuEntries.get("releaseSelected",
+                        self.trUtf8('Release translations')),
                     self.__releaseSelected)
                 self.tsMultiMenuActions.append(act)
                 self.qmprocMultiMenuActions.append(act)
         self.multiMenu.addSeparator()
-        act = self.multiMenu.addAction(self.trUtf8('Remove from project'), 
+        act = self.multiMenu.addAction(self.trUtf8('Remove from project'),
             self.__removeLanguageFile)
         self.multiMenuActions.append(act)
         act = self.multiMenu.addAction(self.trUtf8('Delete'), self.__deleteLanguageFile)
@@ -337,52 +338,52 @@
         self.dirMenu = QMenu(self)
         if self.project.getProjectType() in \
                 ["Qt4", "Qt4C", "E4Plugin", "PySide", "PySideC"]:
-            act = self.dirMenu.addAction(self.trUtf8('Generate all translations'), 
+            act = self.dirMenu.addAction(self.trUtf8('Generate all translations'),
                 self.__generateAll)
             self.tsprocDirMenuActions.append(act)
             act = self.dirMenu.addAction(
-                self.trUtf8('Generate all translations (with obsolete)'), 
+                self.trUtf8('Generate all translations (with obsolete)'),
                 self.__generateObsoleteAll)
             self.tsprocDirMenuActions.append(act)
-            act = self.dirMenu.addAction(self.trUtf8('Release all translations'), 
+            act = self.dirMenu.addAction(self.trUtf8('Release all translations'),
                 self.__releaseAll)
             self.qmprocDirMenuActions.append(act)
             self.dirMenu.addSeparator()
-            act = self.dirMenu.addAction(self.trUtf8('Preview all translations'), 
+            act = self.dirMenu.addAction(self.trUtf8('Preview all translations'),
                 self.__TRPreview)
         else:
             if self.hooks["extractMessages"] is not None:
                 act = self.dirMenu.addAction(
-                    self.hooksMenuEntries.get("extractMessages", 
-                        self.trUtf8('Extract messages')), 
+                    self.hooksMenuEntries.get("extractMessages",
+                        self.trUtf8('Extract messages')),
                     self.__extractMessages)
                 self.dirMenuActions.append(act)
                 self.dirMenu.addSeparator()
             if self.hooks["generateAll"] is not None:
                 act = self.dirMenu.addAction(
-                    self.hooksMenuEntries.get("generateAll", 
-                        self.trUtf8('Generate all translations')), 
+                    self.hooksMenuEntries.get("generateAll",
+                        self.trUtf8('Generate all translations')),
                     self.__generateAll)
                 self.tsprocDirMenuActions.append(act)
             if self.hooks["generateAllWithObsolete"] is not None:
                 act = self.dirMenu.addAction(
-                    self.hooksMenuEntries.get("generateAllWithObsolete", 
-                        self.trUtf8('Generate all translations (with obsolete)')), 
+                    self.hooksMenuEntries.get("generateAllWithObsolete",
+                        self.trUtf8('Generate all translations (with obsolete)')),
                     self.__generateObsoleteAll)
                 self.tsprocDirMenuActions.append(act)
             if self.hooks["releaseAll"] is not None:
                 act = self.dirMenu.addAction(
-                    self.hooksMenuEntries.get("releaseAll", 
-                        self.trUtf8('Release all translations')), 
+                    self.hooksMenuEntries.get("releaseAll",
+                        self.trUtf8('Release all translations')),
                     self.__releaseAll)
                 self.qmprocDirMenuActions.append(act)
         self.dirMenu.addSeparator()
-        self.dirMenu.addAction(self.trUtf8('Add translation...'), 
+        self.dirMenu.addAction(self.trUtf8('Add translation...'),
             self.project.addLanguage)
-        self.dirMenu.addAction(self.trUtf8('Add translation files...'), 
+        self.dirMenu.addAction(self.trUtf8('Add translation files...'),
             self.__addTranslationFiles)
         self.dirMenu.addSeparator()
-        self.dirMenu.addAction(self.trUtf8('Copy Path to Clipboard'), 
+        self.dirMenu.addAction(self.trUtf8('Copy Path to Clipboard'),
             self._copyToClipboard)
         self.dirMenu.addSeparator()
         self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure)
@@ -611,7 +612,7 @@
                 self.closeSourceWindow.emit(fn)
                 self.project.deleteLanguageFile(fn)
         
-    def __TRPreview(self, previewAll = False):
+    def __TRPreview(self, previewAll=False):
         """
         Private slot to handle the Preview translations action.
         
@@ -655,8 +656,8 @@
         Private method to write a temporary project file suitable for pylupdate and
         lrelease.
         
-        @param langs list of languages to include in the process. An empty list (default) 
-            means that all translations should be included. 
+        @param langs list of languages to include in the process. An empty list (default)
+            means that all translations should be included.
             (list of ProjectBrowserFileItem)
         @param filter list of source file extension that should be considered
             (list of strings)
@@ -711,7 +712,7 @@
             return False
         
         try:
-            pf = open(pfile, "w", encoding = "utf-8")
+            pf = open(pfile, "w", encoding="utf-8")
             for key, list in sections:
                 if len(list) > 0:
                     pf.write('{0} = '.format(key))
@@ -741,7 +742,7 @@
         
     def __readStdoutLupdate(self):
         """
-        Private slot to handle the readyReadStandardOutput signal of the 
+        Private slot to handle the readyReadStandardOutput signal of the
         pylupdate process.
         """
         if self.pylupdateProc is not None:
@@ -751,7 +752,7 @@
         
     def __readStdoutLrelease(self):
         """
-        Private slot to handle the readyReadStandardOutput signal of the 
+        Private slot to handle the readyReadStandardOutput signal of the
         lrelease process.
         """
         if self.lreleaseProc is not None:
@@ -777,7 +778,7 @@
         
     def __readStderrLupdate(self):
         """
-        Private slot to handle the readyReadStandardError signal of the 
+        Private slot to handle the readyReadStandardError signal of the
         pylupdate process.
         """
         if self.pylupdateProc is not None:
@@ -787,7 +788,7 @@
         
     def __readStderrLrelease(self):
         """
-        Private slot to handle the readyReadStandardError signal of the 
+        Private slot to handle the readyReadStandardError signal of the
         lrelease process.
         """
         if self.lreleaseProc is not None:
@@ -847,13 +848,13 @@
             pass
         self.tmpProject = None
         
-    def __generateTSFile(self, noobsolete = False, generateAll = True):
+    def __generateTSFile(self, noobsolete=False, generateAll=True):
         """
         Private method used to run pylupdate/pylupdate4 to generate the .ts files.
         
-        @param noobsolete flag indicating whether obsolete entries should be 
+        @param noobsolete flag indicating whether obsolete entries should be
             kept (boolean)
-        @param generateAll flag indicating whether all translations should be 
+        @param generateAll flag indicating whether all translations should be
             generated (boolean)
         """
         if generateAll:
@@ -934,7 +935,7 @@
         
         All obsolete strings are removed from the .ts file.
         """
-        self.__generateTSFile(noobsolete = True, generateAll = True)
+        self.__generateTSFile(noobsolete=True, generateAll=True)
         
     def __generateObsoleteAll(self):
         """
@@ -942,7 +943,7 @@
         
         Obsolete strings are kept.
         """
-        self.__generateTSFile(noobsolete = False, generateAll = True)
+        self.__generateTSFile(noobsolete=False, generateAll=True)
         
     def __generateSelected(self):
         """
@@ -950,7 +951,7 @@
         
         All obsolete strings are removed from the .ts file.
         """
-        self.__generateTSFile(noobsolete = True, generateAll = False)
+        self.__generateTSFile(noobsolete=True, generateAll=False)
         
     def __generateObsoleteSelected(self):
         """
@@ -958,7 +959,7 @@
         
         Obsolete strings are kept.
         """
-        self.__generateTSFile(noobsolete = False, generateAll = False)
+        self.__generateTSFile(noobsolete=False, generateAll=False)
     
     ############################################################################
     ##  Methods for the release commands
@@ -975,7 +976,7 @@
                 self.trUtf8("The release of the translation files (*.qm)"
                     " was successful."))
             if self.project.pdata["TRANSLATIONSBINPATH"]:
-                target = os.path.join(self.project.ppath, 
+                target = os.path.join(self.project.ppath,
                                       self.project.pdata["TRANSLATIONSBINPATH"][0])
                 for langFile in self.project.pdata["TRANSLATIONS"][:]:
                     if langFile.endswith('.ts'):
@@ -995,7 +996,7 @@
         self.tmpProject = None
         self.project.checkLanguageFiles()
         
-    def __releaseTSFile(self, generateAll = False):
+    def __releaseTSFile(self, generateAll=False):
         """
         Private method to run lrelease to release the translation files (.qm).
         
@@ -1061,13 +1062,13 @@
         """
         Private method to release the translation files (.qm).
         """
-        self.__releaseTSFile(generateAll = False)
+        self.__releaseTSFile(generateAll=False)
         
     def __releaseAll(self):
         """
         Private method to release the translation files (.qm).
         """
-        self.__releaseTSFile(generateAll = True)
+        self.__releaseTSFile(generateAll=True)
     
     ############################################################################
     ## Support for hooks below
@@ -1091,11 +1092,11 @@
         <b>Note</b>: Filenames are relative to the project directory.
         """
         self.hooks = {
-            "extractMessages"               : None, 
-            "generateAll"                   : None, 
-            "generateAllWithObsolete"       : None, 
-            "generateSelected"              : None, 
-            "generateSelectedWithObsolete"  : None, 
-            "releaseAll"                    : None, 
-            "releaseSelected"               : None, 
+            "extractMessages": None,
+            "generateAll": None,
+            "generateAllWithObsolete": None,
+            "generateSelected": None,
+            "generateSelectedWithObsolete": None,
+            "releaseAll": None,
+            "releaseSelected": None,
         }

eric ide

mercurial