<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1" bgcolor="#FFFFFF">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Hi Superpelican.<br>
Thanks for catching the errors in the Dialog documentation, I will correct them.<br>
<br>
In your Clamshell dialog, you do not need to explicitly pop() the dialog page in response to the accept action; it is popped by the user's interaction (either a drag or an 'Accept' click), and the accepted signal is generated in response to this event.<br>
<br>
Also, as the implementor of the Dialog, you should use the onDone() handler to react to the user's actions, leaving the accepted() signal to be handled by users of your dialog.<br>
<br>
Thanks,<br>
Matt<br>
<br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div style="direction: ltr;" id="divRpF554313"><font size="2" color="#000000" face="Tahoma"><b>From:</b> devel-bounces@lists.sailfishos.org [devel-bounces@lists.sailfishos.org] on behalf of Superpelican [superpelican@zoho.com]<br>
<b>Sent:</b> Sunday, August 04, 2013 8:42 PM<br>
<b>To:</b> devel@lists.sailfishos.org<br>
<b>Subject:</b> [SailfishDevel] Bug in the Silica Reference docs and possible bug in the Dialog component<br>
</font><br>
</div>
<div></div>
<div>Hello,<br>
<br>
Sfiet_Konstantin and I have had another debugging session on IRC recently with my app.<br>
(<a href="http://merproject.org/logs/%23sailfishos/%23sailfishos.2013-08-03.log" target="_blank">http://merproject.org/logs/%23sailfishos/%23sailfishos.2013-08-03.log</a>)<br>
<br>
I had defined a handler that would be called when the user accepted a dialog. However<br>
we saw that the handler was never called. Then I noticed that the documentation page<br>
on the Silica Reference about the Dialog component has an error in it. The description part<br>
of the page described that an user can accept a dialog by pushing it <b>from right<br>
to left</b>.<br>
<br>
But the onAccepted() signal hander description described that the user could accept a dialog<br>
by pushing it <b>from left to right</b>. Well I tested it in the emulator and the description of the<br>
Dialog component at the top of the page is correct. However the description of the onAccepted()<br>
signal handler is incorrect. Instead when you push the dialog <b>from left to right</b> you
<b>reject it</b>!<br>
<br>
So every time I thought I was accepting the dialog, I actually rejected it! ;) I had only read the wrong part<br>
of the documentation page.<br>
<br>
The onRejected() signal handler description is incorrect too. It says you can reject a dialog by pushing it<br>
<b>from right to left</b>. Which actually accepts the dialog.<br>
<br>
I hope someone can edit the Silica Reference, so that not more developers read the wrong part and wonder<br>
why their defined action doesn't occur! ;)<br>
<br>
<br>
Also we noticed that when a dialog is accepted, it isn't popped from the pageStack. While according to Sfiet_Konstantin<br>
this should happen. This is especially a problem in my app, where the app has a homescreen where a mode is chosen.<br>
Then when a particular mode is chosen the user is first prompted for a dialog, to enter information that is required for<br>
that mode to operate. After the user has accepted the dialog, the mode begins. The user can quit the mode and return<br>
to the homescreen by simply pushing away the "mode page". <br>
<br>
However when the user does that, the dialog is still there and he/she<br>
will have to reject the dialog too and will then finally return to the homescreen. Not only does this require another action from the user,<br>
it can also be confusing to see a dialog with the previously entered value still in it. Some users will think they need to accept the dialog.<br>
But if they do, they'll return to the "mode page", not the homescreen. This can be very confusing.<br>
<br>
This can all be seen in this video: <a href="http://ubuntuone.com/7MIfo6vKsdqg9PmgSQ9iH4" target="_blank">
http://ubuntuone.com/7MIfo6vKsdqg9PmgSQ9iH4</a> (note: this requires a browser that supports HTML5, otherwise<br>
you'll need to download the video and play it in your local video player). Unfortunately the video has a very low framerate. Sfiet_Konstantin and I<br>
don't know whether this is due to my laptop not being particulary highly spec'd or Wayland causing the low framerate. I can remember recording<br>
applications and games with another recordmydesktop frontend on a much lower spec'd computer, so I doubt that computer is too slow.<br>
<br>
The source code of my app can be found at <a href="http://bitbucket.org/Superpelican/quick_clamshell/src/" target="_blank">
http://bitbucket.org/Superpelican/quick_clamshell/src/</a><br>
<br>
I hope this is helpful for the sailors/Jollaians,<br>
<br>
Superpelican<br>
</div>
</div>
</div>
</body>
</html>