Welcome!
This is the community forum for my apps Pythonista and Editorial.
For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.
Another dialogue issue
-
@Tel Try this 😂, it seems to work
#@ui.in_background def NewLink(st):
-
@cvp nope, it hangs for me.
-
@Tel WoW, it runs ok for me
-
sorry for this obvious question, but you are sure you tap on ok?
-
@cvp yes. I am going to shut this topic down. No one will read a topic with 50 posts
-
@Tel Ok, but a topic is not specially for other people than the guy who created it.
I was still trying to find a solution but your script is ok for me with or without the @ui.in_background.
It prints the "after dialog" only when I press the ok. -
@cvp but don’t you see that Newlink return None, before that?
This is the output when I type “This string” in the viewafter calling NewLink: None
from parse after dialog: {'name': 'This string'} -
@Tel Yes, I've seen but the only one print that proves, for me, that the wait_modal is ended is the "from parse", and this one comes only after I've pressed ok.
I agree it is strange -
@cvp so, back to my original point, the dialog should block the return out of Newlink, but it doesn’t. And there is nothing for me to put a wait_modal() on.
-
@Tel Could you, please, for my pleasure, try this modification and tell me if the print "after dialog" comes after you pressed ok
def textfield_should_return(self, textfield): st = textfield.text self.tv.text += '>'+ st + '\n' NewLink(st) #theModel.parse(st)
-
@cvp of course, but in order to see what’s happening you need to insert
print(NewLink(st))And you will see the same thing happens.
-
@Tel I really don't understand why you need this print because it will print the result of newlink it the print "after dialog" also.
-
@cvp that print is just to prove that NewLink has completed before the dialog OK has been pressed. Therefore the dialog did not block.
-
So NewLink() has completed. Now if there is a return(result) at the end of NewLink(), after the print, where does it return to?
-
@Tel ok, I can't help more, I'm sorry
-
@cvp thanks for your patience.
-
@Tel Agree, and that's why I say it is strange because the result in the print"after dialog" is correct...
-
For me, this is ok
@ui.in_background def parse(self,st) : r=NewLink(st) print('after calling NewLink:',r) #@ui.in_background def NewLink(st):
For the first time, console shows both line in the right order
from parse after dialog: {'name': 'Azert'} after calling NewLink: None
-
@cvp [i was taking a nap for a while] I’ll try that.
There’s obviously a lot I don’t understand about ui.in_background. -
@Tel that seems to do it!!! But I don’t understand it, do you?