The issue that causes the described focus problems with the Terms of
Service popup window is that the current purchase dialog is modal.  The
attached branch reimplements the dialog as a gtk.Window rather than a
gtk.Dialog, with signals replacing the calls to self.response() in the
previous implementation.  Using the attached branch, the Terms of
Service popup window appears correctly in front of the dialog.

Note that one side-effect of using a non-modal window for the purchase
dialog is that it becomes possible to refocus the main Software Center
window to the foreground before the purchase has been completed (or
canceled), leaving the purchase dialog in the background.  In this case,
the "Buy..." button in the appdetails screen still shows as insensitive
(since the purchase is still in-progress).  If you then navigate away
from the appdetails screen and back again (or to the appdetails screen
for a different app for sale, if there was one), it becomes possible to
click "Buy..." a second time and this brings up a second purchase
dialog.  Obviously we'd need to add some code to handle these cases if
we continue to use the dialog as non-modal.

It seems to me that a modal dialog is better (at least, until we
reimplement the purchase UI inline per bug 618817). I wonder if the
simplest and best fix might just be to change the link for the Terms of
Service to go to a separate page in the current window rather than open
a new window?  Note that this is how the Ubuntu SSO Terms of Service
link works (see attached screenshots).  In fact, do we actually need two
separate Terms of Service documents at all?

** Branch linked: lp:~gary-lasker/software-center/buy-dialog-as-window

-- 
Terms of service window is stuck under the payment screen
https://bugs.launchpad.net/bugs/625398
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to