@@ -1521,11 +1521,12 @@ def save_scheme_as(self):
15211521 objectName = "save-as-ows-filedialog" ,
15221522 )
15231523 dialog .setNameFilter (self .tr ("Orange Workflow (*.ows)" ))
1524- dialog . exec ()
1525- files = dialog . selectedFiles ( )
1524+ # `deleteLater` can be ivoked before ` exec` as PyQt 6.9 doc says, that
1525+ # it is activated after `exec`, and work on PyQt 5 version well (here )
15261526 dialog .deleteLater ()
1527- if files :
1528- filename = files [0 ]
1527+ # dialog.exec waits for user action
1528+ if dialog .exec ():
1529+ filename = dialog .selectedFiles ()[0 ]
15291530 settings .setValue ("last-scheme-dir" , os .path .dirname (filename ))
15301531 if self .save_scheme_to (curr_scheme , filename ):
15311532 document .setPath (filename )
@@ -1564,7 +1565,7 @@ def save_scheme_to(self, scheme, filename):
15641565 exc_info = True ,
15651566 parent = self
15661567 )
1567- return False
1568+ return False # return False here because there is second part
15681569
15691570 try :
15701571 with open (filename , "wb" ) as f :
@@ -1581,7 +1582,6 @@ def save_scheme_to(self, scheme, filename):
15811582 informative_text = self .tr ("Choose another location." ),
15821583 parent = self
15831584 )
1584- return False
15851585 except PermissionError as ex :
15861586 log .error ("%s saving '%s'" , type (ex ).__name__ , filename ,
15871587 exc_info = True )
@@ -1594,7 +1594,6 @@ def save_scheme_to(self, scheme, filename):
15941594 "another location." ),
15951595 parent = self
15961596 )
1597- return False
15981597 except OSError as ex :
15991598 log .error ("%s saving '%s'" , type (ex ).__name__ , filename ,
16001599 exc_info = True )
@@ -1605,8 +1604,6 @@ def save_scheme_to(self, scheme, filename):
16051604 exc_info = True ,
16061605 parent = self
16071606 )
1608- return False
1609-
16101607 except Exception : # pylint: disable=broad-except
16111608 log .error ("Error saving %r to %r" , scheme , filename , exc_info = True )
16121609 message_critical (
@@ -1616,7 +1613,7 @@ def save_scheme_to(self, scheme, filename):
16161613 exc_info = True ,
16171614 parent = self
16181615 )
1619- return False
1616+ return False # default behaviour
16201617
16211618 def save_swp (self ):
16221619 """
0 commit comments