docs: def createProfile(self, profile=None, clearLayout=True):
          """
          Prompts the user to create a new profile.
          """
          if profile:
              prof = profile
          elif not self.viewWidget() or clearLayout:
              prof = XViewProfile()
          else:
              prof = self.viewWidget().saveProfile()
          
          blocked = self.signalsBlocked()
          self.blockSignals(False)
          changed = self.editProfile(prof)
          self.blockSignals(blocked)
          
          if not changed:
              return
          
          act = self.addProfile(prof)
          act.setChecked(True)
          
          # update the interface
          if self.viewWidget() and (profile or clearLayout):
              self.viewWidget().restoreProfile(prof)
          
          if not self.signalsBlocked():
              self.profileCreated.emit(prof)
              self.profilesChanged.emit()