PluginToolGenerateHash.py

branch
eric5
changeset 19
ee067e786c27
parent 16
091df4c07a8c
equal deleted inserted replaced
18:4e4f26ebb0b7 19:ee067e786c27
21 # Start-Of-Header 21 # Start-Of-Header
22 name = "Generate Hash Tool Plug-in" 22 name = "Generate Hash Tool Plug-in"
23 author = "Detlev Offenbach <detlev@die-offenbachs.de>" 23 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
24 autoactivate = True 24 autoactivate = True
25 deactivateable = True 25 deactivateable = True
26 version = "1.0.0" 26 version = "1.0.1"
27 className = "ToolGenerateHashPlugin" 27 className = "ToolGenerateHashPlugin"
28 packageName = "ToolGenerateHash" 28 packageName = "ToolGenerateHash"
29 shortDescription = "Generate a hash for a selectable file or directory" 29 shortDescription = "Generate a hash for a selectable file or directory"
30 longDescription = \ 30 longDescription = \
31 """Plug-in to generate a hash for a selectable file or directory. The"""\ 31 """Plug-in to generate a hash for a selectable file or directory. The"""\
136 self.__fileMenu.addAction("SHA1", self.__hashFile).setData("SHA1") 136 self.__fileMenu.addAction("SHA1", self.__hashFile).setData("SHA1")
137 self.__fileMenu.addAction("SHA224", self.__hashFile).setData("SHA224") 137 self.__fileMenu.addAction("SHA224", self.__hashFile).setData("SHA224")
138 self.__fileMenu.addAction("SHA256", self.__hashFile).setData("SHA256") 138 self.__fileMenu.addAction("SHA256", self.__hashFile).setData("SHA256")
139 self.__fileMenu.addAction("SHA384", self.__hashFile).setData("SHA384") 139 self.__fileMenu.addAction("SHA384", self.__hashFile).setData("SHA384")
140 self.__fileMenu.addAction("SHA512", self.__hashFile).setData("SHA512") 140 self.__fileMenu.addAction("SHA512", self.__hashFile).setData("SHA512")
141 self.__fileMenu.setEnabled(False)
141 142
142 self.__dirMenu = QMenu(self.tr("Generate Directory Hash")) 143 self.__dirMenu = QMenu(self.tr("Generate Directory Hash"))
143 self.__dirMenu.addAction( 144 self.__dirMenu.addAction(
144 "MD5", self.__hashDirectory).setData("MD5") 145 "MD5", self.__hashDirectory).setData("MD5")
145 self.__dirMenu.addAction( 146 self.__dirMenu.addAction(
150 "SHA256", self.__hashDirectory).setData("SHA256") 151 "SHA256", self.__hashDirectory).setData("SHA256")
151 self.__dirMenu.addAction( 152 self.__dirMenu.addAction(
152 "SHA384", self.__hashDirectory).setData("SHA384") 153 "SHA384", self.__hashDirectory).setData("SHA384")
153 self.__dirMenu.addAction( 154 self.__dirMenu.addAction(
154 "SHA512", self.__hashDirectory).setData("SHA512") 155 "SHA512", self.__hashDirectory).setData("SHA512")
156 self.__dirMenu.setEnabled(False)
155 157
156 def __populateMenu(self, name, menu): 158 def __populateMenu(self, name, menu):
157 """ 159 """
158 Private slot to populate the tools menu with our entries. 160 Private slot to populate the tools menu with our entries.
159 161
187 self.__editors[editor].append(act) 189 self.__editors[editor].append(act)
188 act = menu.addMenu(self.__fileMenu) 190 act = menu.addMenu(self.__fileMenu)
189 self.__editors[editor].append(act) 191 self.__editors[editor].append(act)
190 act = menu.addMenu(self.__dirMenu) 192 act = menu.addMenu(self.__dirMenu)
191 self.__editors[editor].append(act) 193 self.__editors[editor].append(act)
194
195 self.__fileMenu.setEnabled(True)
196 self.__dirMenu.setEnabled(True)
192 197
193 def __editorClosed(self, editor): 198 def __editorClosed(self, editor):
194 """ 199 """
195 Private slot called, when an editor was closed. 200 Private slot called, when an editor was closed.
196 201
197 @param editor reference to the editor (QScintilla.Editor) 202 @param editor reference to the editor (QScintilla.Editor)
198 """ 203 """
199 try: 204 try:
200 del self.__editors[editor] 205 del self.__editors[editor]
206 if not self.__editors:
207 self.__fileMenu.setEnabled(False)
208 self.__dirMenu.setEnabled(False)
201 except KeyError: 209 except KeyError:
202 pass 210 pass
203 211
204 def __insertHash(self, hashStr): 212 def __insertHash(self, hashStr):
205 """ 213 """

eric ide

mercurial