PluginToolGenerateHash.py

changeset 20
9225431210c3
parent 16
091df4c07a8c
child 23
014dd5f63240
--- a/PluginToolGenerateHash.py	Sat Apr 26 15:43:08 2014 +0200
+++ b/PluginToolGenerateHash.py	Sat Jul 12 13:08:43 2014 +0200
@@ -12,8 +12,8 @@
 import os
 import hashlib
 
-from PyQt4.QtCore import QObject, QTranslator
-from PyQt4.QtGui import QMenu
+from PyQt5.QtCore import QObject, QTranslator
+from PyQt5.QtWidgets import QMenu
 
 from E5Gui.E5Application import e5App
 from E5Gui import E5FileDialog, E5MessageBox
@@ -23,7 +23,7 @@
 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
 autoactivate = True
 deactivateable = True
-version = "1.0.0"
+version = "2.0.0"
 className = "ToolGenerateHashPlugin"
 packageName = "ToolGenerateHash"
 shortDescription = "Generate a hash for a selectable file or directory"
@@ -138,6 +138,7 @@
         self.__fileMenu.addAction("SHA256", self.__hashFile).setData("SHA256")
         self.__fileMenu.addAction("SHA384", self.__hashFile).setData("SHA384")
         self.__fileMenu.addAction("SHA512", self.__hashFile).setData("SHA512")
+        self.__fileMenu.setEnabled(False)
         
         self.__dirMenu = QMenu(self.tr("Generate Directory Hash"))
         self.__dirMenu.addAction(
@@ -152,6 +153,7 @@
             "SHA384", self.__hashDirectory).setData("SHA384")
         self.__dirMenu.addAction(
             "SHA512", self.__hashDirectory).setData("SHA512")
+        self.__dirMenu.setEnabled(False)
     
     def __populateMenu(self, name, menu):
         """
@@ -189,6 +191,9 @@
             self.__editors[editor].append(act)
             act = menu.addMenu(self.__dirMenu)
             self.__editors[editor].append(act)
+            
+            self.__fileMenu.setEnabled(True)
+            self.__dirMenu.setEnabled(True)
     
     def __editorClosed(self, editor):
         """
@@ -198,6 +203,9 @@
         """
         try:
             del self.__editors[editor]
+            if not self.__editors:
+                self.__fileMenu.setEnabled(False)
+                self.__dirMenu.setEnabled(False)
         except KeyError:
             pass
     
@@ -225,7 +233,7 @@
         
         name = E5FileDialog.getOpenFileName(
             self.__ui,
-            self.trUtf8("Generate File Hash"))
+            self.tr("Generate File Hash"))
         if name:
             try:
                 f = open(name, "rb")
@@ -234,9 +242,9 @@
             except (IOError, OSError) as err:
                 E5MessageBox.critical(
                     self.__ui,
-                    self.trUtf8("Generate File Hash"),
-                    self.trUtf8("""<p>The hash for <b>{0}</b> could not"""
-                                """ be generated.</p><p>Reason: {1}</p>""")
+                    self.tr("Generate File Hash"),
+                    self.tr("""<p>The hash for <b>{0}</b> could not"""
+                            """ be generated.</p><p>Reason: {1}</p>""")
                     .format(name, str(err))
                 )
                 return
@@ -253,7 +261,7 @@
         
         folder = E5FileDialog.getExistingDirectory(
             self.__ui,
-            self.trUtf8("Generate Directory Hash"),
+            self.tr("Generate Directory Hash"),
             "",
             E5FileDialog.Options(E5FileDialog.Option(0)))
         if folder and os.path.isdir(folder):
@@ -272,9 +280,9 @@
             if fails:
                 E5MessageBox.critical(
                     self.__ui,
-                    self.trUtf8("Generate Directory Hash"),
-                    self.trUtf8("""<p>The hash for some files could not"""
-                                """ be generated.</p>""")
+                    self.tr("Generate Directory Hash"),
+                    self.tr("""<p>The hash for some files could not"""
+                            """ be generated.</p>""")
                 )
             else:
                 editor = e5App().getObject("ViewManager").activeWindow()

eric ide

mercurial