--- 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())