Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions appGUI/MainGUI.py
Original file line number Diff line number Diff line change
Expand Up @@ -3466,7 +3466,7 @@ def keyPressEvent(self, event):
self.app.on_flipy()

# Zoom In
if key == QtCore.Qt.Key.Key_Equal:
if key == QtCore.Qt.Key.Key_Equal or key == QtCore.Qt.Key.Key_Plus:
self.app.plotcanvas.zoom(1 / self.app.defaults['global_zoom_ratio'], self.app.mouse_pos)

# Zoom Out
Expand Down Expand Up @@ -3627,7 +3627,7 @@ def keyPressEvent(self, event):
[self.app.geo_editor.snap_x, self.app.geo_editor.snap_y])

# Zoom In
if key == QtCore.Qt.Key.Key_Equal or key == '=':
if key == QtCore.Qt.Key.Key_Equal or key == QtCore.Qt.Key.Key_Plus or key == '=' or key == '+':
self.app.plotcanvas.zoom(self.app.defaults['global_zoom_ratio'],
[self.app.geo_editor.snap_x, self.app.geo_editor.snap_y])

Expand Down Expand Up @@ -3867,7 +3867,7 @@ def keyPressEvent(self, event):
[self.app.grb_editor.snap_x, self.app.grb_editor.snap_y])
return

if key == QtCore.Qt.Key.Key_Equal or key == '=':
if key == QtCore.Qt.Key.Key_Equal or key == QtCore.Qt.Key.Key_Plus or key == '=' or key == '+':
self.app.grb_editor.launched_from_shortcuts = True
self.app.plotcanvas.zoom(self.app.defaults['global_zoom_ratio'],
[self.app.grb_editor.snap_x, self.app.grb_editor.snap_y])
Expand Down Expand Up @@ -4128,7 +4128,7 @@ def keyPressEvent(self, event):
[self.app.exc_editor.snap_x, self.app.exc_editor.snap_y])
return

if key == QtCore.Qt.Key.Key_Equal or key == '=':
if key == QtCore.Qt.Key.Key_Equal or key == QtCore.Qt.Key.Key_Plus or key == '=' or key == '+':
self.app.exc_editor.launched_from_shortcuts = True
self.app.plotcanvas.zoom(self.app.defaults['global_zoom_ratio'],
[self.app.exc_editor.snap_x, self.app.exc_editor.snap_y])
Expand Down
22 changes: 15 additions & 7 deletions appPlugins/ToolIsolation.py
Original file line number Diff line number Diff line change
Expand Up @@ -3102,27 +3102,35 @@ def generate_envelope(self, iso_obj, offset, invert, geometry=None, env_iso_type
return 'fail'

if isinstance(geom_shp, (MultiPolygon, MultiLineString)):
geom = geom_shp.geoms
geom_iter = geom_shp.geoms
else:
geom_iter = geom_shp

if isinstance(geom_shp, list):
# isolation_geometry() (and get_exteriors()/get_interiors()) return a plain
# list of BaseGeometry, not a Shapely Multi* geometry; wrap it into a single
# geometry object since the rest of this method (and its callers) expect one.
geom = unary_union(geom_shp)
else:
geom = geom_shp

if invert:
try:
pl = []
for p in geom:
for p in geom_iter:
if p is not None:
if isinstance(p, Polygon):
pl.append(Polygon(p.exterior.coords[::-1], p.interiors))
elif isinstance(p, LinearRing):
pl.append(Polygon(p.coords[::-1]))
geom = MultiPolygon(pl)
except TypeError:
if isinstance(geom, Polygon) and geom is not None:
geom = Polygon(geom.exterior.coords[::-1], geom.interiors)
elif isinstance(geom, LinearRing) and geom is not None:
geom = Polygon(geom.coords[::-1])
if isinstance(geom_iter, Polygon) and geom_iter is not None:
geom = Polygon(geom_iter.exterior.coords[::-1], geom_iter.interiors)
elif isinstance(geom_iter, LinearRing) and geom_iter is not None:
geom = Polygon(geom_iter.coords[::-1])
else:
msg = "ToolIsolation.generate_envelope() Error --> Unexpected Geometry %s" % type(geom)
msg = "ToolIsolation.generate_envelope() Error --> Unexpected Geometry %s" % type(geom_iter)
self.app.log.debug(msg)
except Exception as e:
self.app.log.error("ToolIsolation.generate_envelope() Error --> %s" % str(e))
Expand Down