code: def getSaveFileName(self, *args, **kwargs):
          
          if 'directory' not in kwargs:
              if self.opts['save']:
                  if self.opts['save']:
                      kwargs['directory'] = self.opts['save']
          fname = QtWidgets.QFileDialog.getSaveFileName(**kwargs)
          if fname:
              if type(fname) == tuple:
                  #only happened since qt5
                  #getSaveFileName returns (path, ftype)
                  if not fname[0]:
                      return
                  p = PathStr(fname[0])
                  if not p.filetype():
                      ftyp = self._extractFtype(fname[1]) 
                      p = p.setFiletype(ftyp)
              else:
                  p = PathStr(fname)
              self.opts['save'] = p.dirname()
              if self.opts['open'] is None:
                  self.opts['open'] = self.opts['save']
              return p
docs: analogue to QtWidgets.QFileDialog.getSaveFileNameAndFilter
          but returns the filename + chosen file ending even if not typed in gui