code: def move(self, fnames=None, directory=None):
          
          if fnames is None:
              fnames = self.get_selected_filenames()
          orig = fixpath(osp.dirname(fnames[0]))
          while True:
              self.redirect_stdio.emit(False)
              if directory is None:
                  folder = getexistingdirectory(self, _("Select directory"),
                                                orig)
              else:
                  folder = directory
              self.redirect_stdio.emit(True)
              if folder:
                  folder = fixpath(folder)
                  if folder != orig:
                      break
              else:
                  return
          for fname in fnames:
              basename = osp.basename(fname)
              try:
                  misc.move_file(fname, osp.join(folder, basename))
              except EnvironmentError as error:
                  QMessageBox.critical(self, _("Error"),
                                       _("<b>Unable to move <i>%s</i></b>"
                                         "<br><br>Error message:<br>%s"
                                         ) % (basename, to_text_string(error)))
docs: Move files/directories