code: def dropEvent(self, event):
          
          source = event.mimeData()
          if source.hasUrls():
              pathlist = mimedata2url(source)
              self.shell.drop_pathlist(pathlist)
          elif source.hasText():
              lines = to_text_string(source.text())
              self.shell.set_cursor_position('eof')
              self.shell.execute_lines(lines)
          event.acceptProposedAction()
docs: Reimplement Qt method
          Unpack dropped data and handle it