Mailinglist Archive: yast-devel (122 mails)

< Previous Next >
Re: [yast-devel] Work report
  • From: Lukas Ocilka <lukas.ocilka@xxxxxxx>
  • Date: Wed, 12 Dec 2007 11:31:40 +0100
  • Message-id: <475FB88C.7030907@xxxxxxx>
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.


< Previous Next >