code: def _save_cb(self, w):
          
          format = self.saved_type
          if format is None:
              return self.fv.show_error("Please save an image first.")
  
          # create filename
          filename = self.w.name.get_text().strip()
          if len(filename) == 0:
              return self.fv.show_error("Please set a name for saving the file")
          self.save_name = filename
  
          if not filename.lower().endswith('.' + format):
              filename = filename + '.' + format
  
          # join to path
          path = self.w.folder.get_text().strip()
          if path == '':
              path = filename
          else:
              self.save_path = path
              path = os.path.join(path, filename)
  
          # copy last saved file
          self.fv.error_wrap(shutil.copyfile, self.tmpname, path)
docs: This function is called when the user clicks the 'Save' button.
          We save the last taken shot to the folder and name specified.