def set_user_extent(self, extent, crs): """Setter for the user requested extent. This function will redraw the rubberband if needed. :param extent: The user extent. :type extent: QgsGeometry :param crs: The CRS of the extent. :type crs: QgsCoordinateReferenceSystem """ extent = QgsGeometry(extent) transform = QgsCoordinateTransform(crs, self.crs) extent.transform(transform) self._user_extent = extent set_setting('user_extent', extent.exportToWkt()) set_setting('user_extent_crs', crs.authid()) if self._show_rubber_bands: self.display_user_extent()