code: def create_new_file(self, current_path, title, filters, create_func):
          
          if current_path is None:
              current_path = ''
          if osp.isfile(current_path):
              current_path = osp.dirname(current_path)
          self.redirect_stdio.emit(False)
          fname, _selfilter = getsavefilename(self, title, current_path, filters)
          self.redirect_stdio.emit(True)
          if fname:
              try:
                  create_func(fname)
                  return fname
              except EnvironmentError as error:
                  QMessageBox.critical(self, _("New file"),
                                       _("<b>Unable to create file <i>%s</i>"
                                         "</b><br><br>Error message:<br>%s"
                                         ) % (fname, to_text_string(error)))
docs: Create new file
          Returns True if successful