Explorar o código

wxGUI/g.gui.mapswipe: fix hit Apply button if first and second raster aren't choosed (#1042)

Tomas Zigo %!s(int64=4) %!d(string=hai) anos
pai
achega
b1431df2ad
Modificáronse 1 ficheiros con 20 adicións e 17 borrados
  1. 20 17
      gui/wxpython/mapswipe/frame.py

+ 20 - 17
gui/wxpython/mapswipe/frame.py

@@ -398,14 +398,15 @@ class SwipeMapFrame(DoubleMapFrame):
             self.rasters['first'], self.rasters['second'] = first, second
             res1 = self.SetFirstRaster(name=self.rasters['first'])
             res2 = self.SetSecondRaster(name=self.rasters['second'])
-            if not (res1 and res2) and first and second:
+            if not (res1 and res2) and (first or second):
                 message = ''
-                if not res1:
+                if first and not res1:
                     message += _("Map <%s> not found. ") % self.rasters[
                         'first']
-                if not res2:
+                if second and not res2:
                     message += _("Map <%s> not found.") % self.rasters[
                         'second']
+                if message:
                     GError(parent=self, message=message)
                     return
             self.ZoomToMap()
@@ -420,25 +421,27 @@ class SwipeMapFrame(DoubleMapFrame):
 
     def SetFirstRaster(self, name):
         """Set raster map to first Map"""
-        raster = grass.find_file(name=name, element='cell')
-        if raster['fullname']:
-            self.rasters['first'] = raster['fullname']
-            self.SetLayer(
-                name=raster['fullname'],
-                mapInstance=self.GetFirstMap())
-            return True
+        if name:
+            raster = grass.find_file(name=name, element='cell')
+            if raster.get('fullname'):
+                self.rasters['first'] = raster['fullname']
+                self.SetLayer(
+                    name=raster['fullname'],
+                    mapInstance=self.GetFirstMap())
+                return True
 
         return False
 
     def SetSecondRaster(self, name):
         """Set raster map to second Map"""
-        raster = grass.find_file(name=name, element='cell')
-        if raster['fullname']:
-            self.rasters['second'] = raster['fullname']
-            self.SetLayer(
-                name=raster['fullname'],
-                mapInstance=self.GetSecondMap())
-            return True
+        if name:
+            raster = grass.find_file(name=name, element='cell')
+            if raster.get('fullname'):
+                self.rasters['second'] = raster['fullname']
+                self.SetLayer(
+                    name=raster['fullname'],
+                    mapInstance=self.GetSecondMap())
+                return True
 
         return False