code: def update_search_menu(self):
          
          # Disabling all actions except the last one
          # (which is Find in files) to begin with
          for child in self.search_menu.actions()[:-1]:
              child.setEnabled(False)
  
          widget, textedit_properties = self.get_focus_widget_properties()
          if textedit_properties is None: # widget is not an editor/console
              return
  
          # !!! Below this line, widget is expected to be a QPlainTextEdit
          #     instance
          console, not_readonly, readwrite_editor = textedit_properties
  
          # Find actions only trigger an effect in the Editor
          if not console:
              for action in self.search_menu.actions():
                  try:
                      action.setEnabled(True)
                  except RuntimeError:
                      pass
  
          # Disable the replace action for read-only files
          self.search_menu_actions[3].setEnabled(readwrite_editor)
docs: Update search menu