UI/UserInterface.py

changeset 4651
7f3f276d3bf3
parent 4631
5c1a96925da4
child 4658
d760763dcc4a
--- a/UI/UserInterface.py	Sat Jan 09 19:04:34 2016 +0100
+++ b/UI/UserInterface.py	Sat Jan 09 19:44:31 2016 +0100
@@ -278,6 +278,7 @@
         self.browser.pixmapEditFile.connect(self.__editPixmap)
         self.browser.pixmapFile.connect(self.__showPixmap)
         self.browser.svgFile.connect(self.__showSvg)
+        self.browser.binaryFile.connect(self.__openHexEditor)
         self.browser.unittestOpen.connect(self.__unittestScript)
         self.browser.trpreview.connect(self.__TRPreviewer)
         
@@ -344,6 +345,7 @@
         self.projectBrowser.poBrowser.pixmapEditFile.connect(self.__editPixmap)
         self.projectBrowser.poBrowser.pixmapFile.connect(self.__showPixmap)
         self.projectBrowser.poBrowser.svgFile.connect(self.__showSvg)
+        self.projectBrowser.poBrowser.binaryFile.connect(self.__openHexEditor)
         
         self.project.sourceFile.connect(self.viewmanager.openSourceFile)
         self.project.projectOpened.connect(self.viewmanager.projectOpened)
@@ -1908,6 +1910,20 @@
         self.miniEditorAct.triggered.connect(self.__openMiniEditor)
         self.actions.append(self.miniEditorAct)
 
+        self.hexEditorAct = E5Action(
+            self.tr('Hex Editor'),
+            UI.PixmapCache.getIcon("hexEditor.png"),
+            self.tr('&Hex Editor...'),
+            0, 0, self, 'hex_editor')
+        self.hexEditorAct.setStatusTip(self.tr(
+            'Start the eric6 Hex Editor'))
+        self.hexEditorAct.setWhatsThis(self.tr(
+            """<b>Hex Editor</b>"""
+            """<p>Starts the eric6 Hex Editor for editing binary files.</p>"""
+        ))
+        self.hexEditorAct.triggered.connect(self.__openHexEditor)
+        self.actions.append(self.hexEditorAct)
+
         if WEBKIT_AVAILABLE:
             self.webBrowserAct = E5Action(
                 self.tr('eric6 Web Browser'),
@@ -2645,6 +2661,7 @@
         toolstb.addAction(self.sqlBrowserAct)
         toolstb.addSeparator()
         toolstb.addAction(self.miniEditorAct)
+        toolstb.addAction(self.hexEditorAct)
         toolstb.addAction(self.iconEditorAct)
         toolstb.addAction(self.snapshotAct)
         if self.webBrowserAct:
@@ -3347,6 +3364,7 @@
         btMenu.addAction(self.compareAct)
         btMenu.addAction(self.sqlBrowserAct)
         btMenu.addAction(self.miniEditorAct)
+        btMenu.addAction(self.hexEditorAct)
         btMenu.addAction(self.iconEditorAct)
         btMenu.addAction(self.snapshotAct)
         if self.webBrowserAct:
@@ -4554,6 +4572,18 @@
         
     @pyqtSlot()
     @pyqtSlot(str)
+    def __openHexEditor(self, fn=""):
+        """
+        Private slot to open the hex editor window.
+        
+        @param fn filename of the file to show (string)
+        """
+        from HexEdit.HexEditMainWindow import HexEditMainWindow
+        dlg = HexEditMainWindow(fn, self, fromEric=True, project=self.project)
+        dlg.show()
+        
+    @pyqtSlot()
+    @pyqtSlot(str)
     def __editPixmap(self, fn=""):
         """
         Private slot to show a pixmap in a dialog.

eric ide

mercurial