|
Bugzilla – Full Text Bug Listing |
| Summary: | libyui ncurses: nested CheckBoxFrames are falsely activated | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 12.2 | Reporter: | J. Daniel Schmidt <jdsn> |
| Component: | YaST2 | Assignee: | Gabriele Mohr <gs> |
| Status: | RESOLVED FIXED | QA Contact: | Jiri Srain <jsrain> |
| Severity: | Minor | ||
| Priority: | P5 - None | CC: | tgoettlicher |
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | Development | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
The bug-fix will be available in libyui-ncurses-2.43.1. |
Assume we have a ycp dialog with nested CheckBoxFrames (like in the small reproducer below), which are all disabled at the start. When the outer CheckBoxFrame (A) is enabled all inner elements become active. But also the elements inside the inner CheckBoxFrame (B) become active, which is not wanted. Jumping with TAB to the CheckBoxFrame (B) (not clicking on it), disables its inner elements again. Jumping back with TAB reenables its inner elements. This behaviour in ncurses mode is unintuitive, misleading and not consistent with the qt and qtk UIs. With both other UIs the elements of a nested CheckBoxFrame remain disabled. { term nestedCheckboxFrame = `VBox( `CheckBoxFrame( `id(`foo), "Selection A", false, `VBox( `CheckBox("Enable Foo"), `HBox( `HSpacing(2), `Left (`CheckBoxFrame( `id(`bar), "Selection B", false, `VBox(`CheckBox("Enable Bar"), `SelectionBox(`id(`sel), "Select", ["Foo", "Bar", "Baz"]) ) )) ) ) ), `PushButton(`id(`ok), "OK") ); UI::OpenDialog(nestedCheckboxFrame); UI::UserInput(); UI::CloseDialog(); }