code: def shot_taskfile_sel_changed(self, tf):
          
          self.shot_open_pb.setEnabled(bool(tf))
          # only allow new, if the releasetype is work
          # only allow new, if there is a shot. if there is a shot, there should always be a task.
          enablenew = bool(self.browser.shotbrws.selected_indexes(1)) and self.browser.get_releasetype() == djadapter.RELEASETYPES['work']
          self.shot_save_pb.setEnabled(enablenew)
          self.shot_descriptor_le.setEnabled(enablenew)
          self.shot_comment_pte.setEnabled(enablenew)
          self.update_descriptor_le(self.shot_descriptor_le, tf)
docs: Callback for when the version selection has changed
  
          :param tf: the selected taskfileinfo
          :type tf: :class:`TaskFileInfo` | None
          :returns: None
          :rtype: None
          :raises: None