HexEdit/HexEditMainWindow.py

changeset 4655
f2f0abd5bc94
parent 4652
a88a2ba7a48a
child 4658
d760763dcc4a
diff -r 9dafe6905667 -r f2f0abd5bc94 HexEdit/HexEditMainWindow.py
--- a/HexEdit/HexEditMainWindow.py	Sun Jan 10 17:16:20 2016 +0100
+++ b/HexEdit/HexEditMainWindow.py	Sun Jan 10 18:03:35 2016 +0100
@@ -88,11 +88,15 @@
         
         self.__class__.windows.append(self)
         
+        state = Preferences.getHexEditor("HexEditorState")
+        self.restoreState(state)
+        
         self.__editor.currentAddressChanged.connect(self.__showAddress)
         self.__editor.currentSizeChanged.connect(self.__showSize)
         self.__editor.dataChanged.connect(self.__modificationChanged)
         self.__editor.overwriteModeChanged.connect(self.__showEditMode)
         self.__editor.readOnlyChanged.connect(self.__showReadOnlyMode)
+        self.__editor.readOnlyChanged.connect(self.__modificationChanged)
         
         self.__project = project
         self.__lastOpenPath = ""
@@ -415,6 +419,7 @@
         ))
         self.readonlyAct.setChecked(False)
         self.readonlyAct.toggled[bool].connect(self.__editor.setReadOnly)
+        self.__editor.readOnlyChanged.connect(self.readonlyAct.setChecked)
         self.__actions.append(self.readonlyAct)
         
         self.searchAct = E5Action(
@@ -731,6 +736,9 @@
         @type QCloseEvent
         """
         if self.__maybeSave():
+            state = self.saveState()
+            Preferences.setHexEditor("HexEditorState", state)
+
             Preferences.setGeometry("HexEditorGeometry", self.saveGeometry())
             
             try:
@@ -1075,6 +1083,7 @@
         self.cutAct.setEnabled(not self.__editor.isReadOnly() and
                                self.__editor.hasSelection())
         self.pasteAct.setEnabled(not self.__editor.isReadOnly())
+        self.replaceAct.setEnabled(not self.__editor.isReadOnly())
     
     @pyqtSlot(bool)
     def __modificationChanged(self, m):

eric ide

mercurial