Terms of service window is stuck under the payment screen
Bug #625398 reported by
Matthew Paul Thomas
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
software-center (Ubuntu) |
Fix Released
|
Medium
|
Gary Lasker |
Bug Description
Ubuntu Software Center 2.1.14.1, Ubuntu Maverick
software-center trunk r1116, Ubuntu Maverick
1. Navigate to "Get Software" > "For Purchase" > "Hello X Adventure", and choose "Buy...".
2. Sign on.
3. In the payment screen, choose "Terms of Service".
4. Try to bring the terms of service window in front of the payments window to read it.
What happens: You can't.
What should happen: either
* there should not be terms of service (bug 625385, bug 625389), or
* the terms of service should appear above the payment screen by default (fixing bug 618817 would achieve this automatically).
Related branches
description: | updated |
Changed in software-center (Ubuntu): | |
status: | New → Confirmed |
importance: | Undecided → Medium |
assignee: | nobody → Gary Lasker (gary-lasker) |
Changed in software-center (Ubuntu): | |
status: | Confirmed → Fix Committed |
Changed in software-center (Ubuntu): | |
status: | In Progress → Fix Committed |
To post a comment you must log in.
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?