Stephan Kulow wrote:
Am Dienstag 11 Dezember 2007 schrieb Lukas Ocilka:
In my opinion, this is correct because every single module can call Wizard::OpenNextBackDialog or anything similar if needed. UI should expect such behavior.
Sure, but you can't expect it to look nice and integrated if wizards opens wizards and this is what's happening: it flickers like mad because the full screen is updated.
The UI layer may be a toolkit, but that doesn't mean it can do magic. So I read the bug report, but I don't see why a new wizard has to be opened on top of the other wizard.
BTW: from what I can see in the widget stack is that the two wizards are kept open, is _that_ a bug in the wizard module or the productlicense module?
It actually might be a bug in UI but I would have to see that, of course. Anyway, two wizards kept open are probably a bug. The ProductLicense case is this: * Open a Wizard (Installation) * Select some Online Repositories to be used * Wizard content is replaced with a Progress -> Adding repository A -> Adding repository B ... * When a Repository A, B, ... has a license, it needs to be somehow displayed and accepted. But we can't break the current progress dialog and then return back after the license gets accepted. That's why a new Wizard window gets opened, license displayed and the Wizard is closed then (to continue with the progress). OK, it needn't be a Wizard::OpenBackNextStepsDialog but a normal UI::OpenDialog. Of course, it needs to be closed (and it always is - in openSUSE 10.3). BTW: Opening a Wizard on top of another one is a pretty common behavior, for instance when one YaST module calls another (Repositories call Community Repositories, Users might call Kerberos or another auth-method module, Timezone can call NTP Configuration, ...). Opening a new wizard is always safe because if your module is the one that is called, it opens a windows and then closes it. Your module doesn't need to take care what was in the Wizard dialog before and what remains there if your module finishes. Bye Lukas