src/eric7/ViewManager/ViewManager.py

branch
eric7
changeset 10674
8fc0af9c76dc
parent 10673
214deec16021
child 10676
d1479a4f1426
diff -r 214deec16021 -r 8fc0af9c76dc src/eric7/ViewManager/ViewManager.py
--- a/src/eric7/ViewManager/ViewManager.py	Mon Apr 08 14:55:48 2024 +0200
+++ b/src/eric7/ViewManager/ViewManager.py	Mon Apr 08 15:48:01 2024 +0200
@@ -650,6 +650,29 @@
         self.openAct.triggered.connect(self.__openFiles)
         self.fileActions.append(self.openAct)
 
+        self.reloadAct = EricAction(
+            QCoreApplication.translate("ViewManager", "Reload"),
+            EricPixmapCache.getIcon("reload"),
+            QCoreApplication.translate("ViewManager", "Reload"),
+            0,
+            0,
+            self,
+            "vm_file_reload",
+        )
+        self.reloadAct.setStatusTip(
+            QCoreApplication.translate("ViewManager", "Reload the current file")
+        )
+        self.reloadAct.setWhatsThis(
+            QCoreApplication.translate(
+                "ViewManager",
+                """<b>Reload</b>"""
+                """<p>Reload the contents of current editor window. If the editor"""
+                """ contents was modified, a warning will be issued.</p>""",
+            )
+        )
+        self.reloadAct.triggered.connect(self.__reloadCurrentEditor)
+        self.fileActions.append(self.reloadAct)
+
         self.closeActGrp = createActionGroup(self)
 
         self.closeAct = EricAction(
@@ -896,6 +919,7 @@
 
         menu.addAction(self.newAct)
         menu.addAction(self.openAct)
+        menu.addAction(self.reloadAct)
         self.menuRecentAct = menu.addMenu(self.recentMenu)
         menu.addMenu(self.bookmarkedMenu)
         menu.addSeparator()
@@ -938,6 +962,7 @@
 
         tb.addAction(self.newAct)
         tb.addAction(self.openAct)
+        tb.addAction(self.reloadAct)
         tb.addAction(self.closeAct)
         tb.addSeparator()
         tb.addAction(self.saveAct)
@@ -5421,6 +5446,15 @@
         # Open up the new files.
         self.openSourceFile(prog)
 
+    @pyqtSlot()
+    def __reloadCurrentEditor(self):
+        """
+        Private slot to reload the contents of the current editor.
+        """
+        aw = self.activeWindow()
+        if aw:
+            aw.reload()
+
     def checkDirty(self, editor, autosave=False, closeIt=False):
         """
         Public method to check the dirty status and open a message window.
@@ -7573,6 +7607,7 @@
         """
         Private slot to handle the lastEditorClosed signal.
         """
+        self.reloadAct.setEnabled(False)
         self.closeActGrp.setEnabled(False)
         self.saveActGrp.setEnabled(False)
         self.exportersMenuAct.setEnabled(False)
@@ -7649,6 +7684,7 @@
         @type bool
         """
         if editor is not None:
+            self.reloadAct.setEnabled(bool(editor.getFileName()))
             self.saveAct.setEnabled(
                 editor.isModified()
                 and not FileSystemUtilities.isRemoteFileName(editor.getFileName())

eric ide

mercurial