code: def accept(self):
          
          mode = None
          if self.hazard_exposure_view_extent.isChecked():
              mode = HAZARD_EXPOSURE_VIEW
          elif self.exposure_only.isChecked():
              mode = EXPOSURE
          elif self.hazard_exposure_only.isChecked():
              mode = HAZARD_EXPOSURE
          elif self.hazard_exposure_bookmark.isChecked():
              mode = HAZARD_EXPOSURE_BOOKMARK
          elif self.hazard_exposure_user_extent.isChecked():
              mode = HAZARD_EXPOSURE_BOUNDINGBOX
  
          set_setting('analysis_extents_mode', mode)
  
          self.canvas.unsetMapTool(self.tool)
          if self.previous_map_tool != self.tool:
              self.canvas.setMapTool(self.previous_map_tool)
  
          if not self.tool.rectangle().isEmpty():
              self.extent_defined.emit(
                  self.tool.rectangle(),
                  self.canvas.mapSettings().destinationCrs())
              extent = QgsGeometry.fromRect(self.tool.rectangle())
              LOGGER.info(
                  'Requested extent : {wkt}'.format(wkt=extent.asWkt()))
          else:
              self.clear_extent.emit()
  
          # State handlers for showing warning message bars
          set_setting('show_extent_warnings', self.show_warnings.isChecked())
          set_setting(
              'show_extent_confirmations', self.show_confirmations.isChecked())
  
          self.tool.reset()
          self.extent_selector_closed.emit()
          super(ExtentSelectorDialog, self).accept()
docs: User accepted the rectangle.