--- 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.