Project/ProjectTranslationsBrowser.py

branch
Py2 comp.
changeset 3058
0a02c433f52d
parent 3057
10516539f238
parent 3030
4a0a82ddd9d2
child 3060
5883ce99ee12
diff -r 10516539f238 -r 0a02c433f52d Project/ProjectTranslationsBrowser.py
--- a/Project/ProjectTranslationsBrowser.py	Fri Oct 18 23:00:41 2013 +0200
+++ b/Project/ProjectTranslationsBrowser.py	Fri Nov 01 15:48:48 2013 +0100
@@ -115,8 +115,8 @@
         if self.project.getProjectType() in \
                 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin",
                  "PySide", "PySideC"]:
-            act = self.menu.addAction(self.trUtf8('Generate translation'),
-                self.__generateSelected)
+            act = self.menu.addAction(
+                self.trUtf8('Generate translation'), self.__generateSelected)
             self.tsMenuActions.append(act)
             self.tsprocMenuActions.append(act)
             act = self.menu.addAction(
@@ -124,66 +124,71 @@
                 self.__generateObsoleteSelected)
             self.tsMenuActions.append(act)
             self.tsprocMenuActions.append(act)
-            act = self.menu.addAction(self.trUtf8('Generate all translations'),
-                self.__generateAll)
+            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.__generateObsoleteAll)
             self.tsprocMenuActions.append(act)
             self.menu.addSeparator()
-            act = self.menu.addAction(self.trUtf8('Open in Qt-Linguist'),
-                self._openItem)
+            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'),
-                self.__openFileInEditor)
+            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'),
-                self.__releaseSelected)
+            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'),
-                self.__releaseAll)
+            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'),
-                self.__TRPreview)
+            act = self.menu.addAction(
+                self.trUtf8('Preview translation'), self.__TRPreview)
             self.qmMenuActions.append(act)
-            act = self.menu.addAction(self.trUtf8('Preview all translations'),
-                self.__TRPreviewAll)
+            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.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.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.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.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.hooksMenuEntries.get(
+                        "generateAllWithObsolete",
                         self.trUtf8(
                             'Generate all translations (with obsolete)')),
                     self.__generateObsoleteAll)
@@ -191,30 +196,32 @@
             self.menu.addSeparator()
             if self.hooks["open"] is not None:
                 act = self.menu.addAction(
-                    self.hooksMenuEntries.get("open",
-                        self.trUtf8('Open')),
+                    self.hooksMenuEntries.get(
+                        "open", self.trUtf8('Open')),
                     self._openItem)
                 self.tsMenuActions.append(act)
-            act = self.menu.addAction(self.trUtf8('Open in Editor'),
-                self.__openFileInEditor)
+            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.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.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'),
-            self.__removeLanguageFile)
+        act = self.menu.addAction(
+            self.trUtf8('Remove from project'), self.__removeLanguageFile)
         self.menuActions.append(act)
         act = self.menu.addAction(
             self.trUtf8('Delete'), self.__deleteLanguageFile)
@@ -222,11 +229,12 @@
         self.menu.addSeparator()
         self.__addTranslationAct = 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._copyToClipboard)
+        self.menu.addAction(
+            self.trUtf8('Copy Path to Clipboard'), self._copyToClipboard)
         self.menu.addSeparator()
         self.menu.addAction(self.trUtf8('Configure...'), self._configure)
         
@@ -253,33 +261,38 @@
         else:
             if self.hooks["extractMessages"] is not None:
                 act = self.backMenu.addAction(
-                    self.hooksMenuEntries.get("extractMessages",
+                    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.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.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.hooksMenuEntries.get(
+                        "releaseAll",
                         self.trUtf8('Release all translations')),
                     self.__releaseAll)
                 self.qmprocBackMenuActions.append(act)
         self.backMenu.addSeparator()
         self.__addTranslationBackAct = 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)
@@ -304,36 +317,39 @@
             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'),
-                self.__openFileInEditor)
+            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'),
-                self.__releaseSelected)
+            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'),
-                self.__TRPreview)
+            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.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.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)
@@ -341,24 +357,25 @@
             self.multiMenu.addSeparator()
             if self.hooks["open"] is not None:
                 act = self.multiMenu.addAction(
-                    self.hooksMenuEntries.get("open",
-                        self.trUtf8('Open')),
+                    self.hooksMenuEntries.get(
+                        "open", self.trUtf8('Open')),
                     self._openItem)
                 self.tsMultiMenuActions.append(act)
-            act = self.multiMenu.addAction(self.trUtf8('Open in Editor'),
-                self.__openFileInEditor)
+            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.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'),
-            self.__removeLanguageFile)
+        act = self.multiMenu.addAction(
+            self.trUtf8('Remove from project'), self.__removeLanguageFile)
         self.multiMenuActions.append(act)
         act = self.multiMenu.addAction(
             self.trUtf8('Delete'), self.__deleteLanguageFile)
@@ -389,27 +406,31 @@
         else:
             if self.hooks["extractMessages"] is not None:
                 act = self.dirMenu.addAction(
-                    self.hooksMenuEntries.get("extractMessages",
+                    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.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.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.hooksMenuEntries.get(
+                        "releaseAll",
                         self.trUtf8('Release all translations')),
                     self.__releaseAll)
                 self.qmprocDirMenuActions.append(act)
@@ -420,11 +441,12 @@
         self.dirMenu.addSeparator()
         self.__addTranslationDirAct = 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._copyToClipboard)
+        self.dirMenu.addAction(
+            self.trUtf8('Copy Path to Clipboard'), self._copyToClipboard)
         self.dirMenu.addSeparator()
         self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure)
         
@@ -657,10 +679,11 @@
         
         from UI.DeleteFilesConfirmationDialog import \
             DeleteFilesConfirmationDialog
-        dlg = DeleteFilesConfirmationDialog(self.parent(),
+        dlg = DeleteFilesConfirmationDialog(
+            self.parent(),
             self.trUtf8("Delete translation files"),
             self.trUtf8("Do you really want to delete these translation files"
-                " from the project?"),
+                        " from the project?"),
             translationFiles)
         
         if dlg.exec_() == QDialog.Accepted:
@@ -725,7 +748,7 @@
         
         # only consider files satisfying the filter criteria
         _sources = [s for s in self.project.pdata["SOURCES"] \
-                   if os.path.splitext(s)[1] in filter]
+                    if os.path.splitext(s)[1] in filter]
         sources = []
         for s in _sources:
             addIt = True
@@ -749,17 +772,18 @@
         
         if langs:
             langs = [self.project.getRelativePath(lang.fileName()) \
-                 for lang in langs if lang.fileName().endswith('.ts')]
+                     for lang in langs if lang.fileName().endswith('.ts')]
         else:
             try:
                 pattern = self.project.pdata["TRANSLATIONPATTERN"][0]\
                           .replace("%language%", "*")
                 langs = [lang for lang in self.project.pdata["TRANSLATIONS"] \
-                     if fnmatch.fnmatch(lang, pattern)]
+                         if fnmatch.fnmatch(lang, pattern)]
             except IndexError:
                 langs = []
         if not langs:
-            E5MessageBox.warning(self,
+            E5MessageBox.warning(
+                self,
                 self.trUtf8("Write temporary project file"),
                 self.trUtf8("""No translation files (*.ts) selected."""))
             return False
@@ -774,12 +798,15 @@
 
         for level, langs in langLevel.items():
             prefix = '../' * level
-            sections = [("SOURCES",
-                [prefix + src for src in sources])]
-            sections.append(("FORMS",
-                [prefix + form for form in forms]))
-            sections.append(("TRANSLATIONS",
-                [prefix + lang for lang in langs]))
+            sections = [
+                ("SOURCES",
+                 [prefix + src for src in sources])]
+            sections.append(
+                ("FORMS",
+                 [prefix + form for form in forms]))
+            sections.append(
+                ("TRANSLATIONS",
+                 [prefix + lang for lang in langs]))
             
             dir, name = os.path.split(pfile)
             outFile = os.path.join(dir, os.path.dirname(langs[0]), name)
@@ -804,7 +831,8 @@
                 pf.close()
                 self.__tmpProjects.append(outFile)
             except IOError:
-                E5MessageBox.critical(self,
+                E5MessageBox.critical(
+                    self,
                     self.trUtf8("Write temporary project file"),
                     self.trUtf8(
                         "<p>The temporary project file <b>{0}</b> could not"
@@ -912,19 +940,22 @@
         if exitStatus == QProcess.NormalExit and exitCode == 0:
             ui = e5App().getObject("UserInterface")
             if ui.notificationsEnabled():
-                ui.showNotification(UI.PixmapCache.getPixmap("linguist48.png"),
+                ui.showNotification(
+                    UI.PixmapCache.getPixmap("linguist48.png"),
                     self.trUtf8("Translation file generation"),
                     self.trUtf8(
                         "The generation of the translation files (*.ts)"
                         " was successful."))
             else:
-                E5MessageBox.information(self,
+                E5MessageBox.information(
+                    self,
                     self.trUtf8("Translation file generation"),
                     self.trUtf8(
                         "The generation of the translation files (*.ts)"
                         " was successful."))
         else:
-            E5MessageBox.critical(self,
+            E5MessageBox.critical(
+                self,
                 self.trUtf8("Translation file generation"),
                 self.trUtf8(
                     "The generation of the translation files (*.ts) has"
@@ -1031,7 +1062,8 @@
                 self.pylupdateProcRunning = True
                 self.__pylupdateProcesses.append((proc, tempProjectFile))
             else:
-                E5MessageBox.critical(self,
+                E5MessageBox.critical(
+                    self,
                     self.trUtf8('Process Generation Error'),
                     self.trUtf8(
                         'Could not start {0}.<br>'
@@ -1089,20 +1121,22 @@
         @param exitCode exit code of the process (integer)
         @param exitStatus exit status of the process (QProcess.ExitStatus)
         """
-        self.lreleaseProcRunning = False
         if exitStatus == QProcess.NormalExit and exitCode == 0:
             ui = e5App().getObject("UserInterface")
             if ui.notificationsEnabled():
-                ui.showNotification(UI.PixmapCache.getPixmap("linguist48.png"),
+                ui.showNotification(
+                    UI.PixmapCache.getPixmap("linguist48.png"),
                     self.trUtf8("Translation file release"),
                     self.trUtf8("The release of the translation files (*.qm)"
-                        " was successful."))
+                                " was successful."))
             else:
-                E5MessageBox.information(self,
+                E5MessageBox.information(
+                    self,
                     self.trUtf8("Translation file release"),
                     self.trUtf8("The release of the translation files (*.qm)"
-                        " was successful."))
-            if self.project.pdata["TRANSLATIONSBINPATH"]:
+                                " was successful."))
+            if self.project.pdata["TRANSLATIONSBINPATH"] and \
+                    self.project.pdata["TRANSLATIONSBINPATH"][0]:
                 target = os.path.join(
                     self.project.ppath,
                     self.project.pdata["TRANSLATIONSBINPATH"][0])
@@ -1113,7 +1147,8 @@
                         if os.path.exists(qmFile):
                             shutil.move(qmFile, target)
         else:
-            E5MessageBox.critical(self,
+            E5MessageBox.critical(
+                self,
                 self.trUtf8("Translation file release"),
                 self.trUtf8(
                     "The release of the translation files (*.qm) has failed."))
@@ -1198,7 +1233,8 @@
                 self.lreleaseProcRunning = True
                 self.__lreleaseProcesses.append((proc, tempProjectFile))
             else:
-                E5MessageBox.critical(self,
+                E5MessageBox.critical(
+                    self,
                     self.trUtf8('Process Generation Error'),
                     self.trUtf8(
                         '<p>Could not start lrelease.<br>'

eric ide

mercurial