Bug 474650

Summary: YAST2 ncurses - sysconfig editor will not accept parameters
Product: [openSUSE] openSUSE 11.1 Reporter: David Rankin <drankinatty>
Component: YaST2Assignee: Ladislav Slezák <lslezak>
Status: RESOLVED INVALID QA Contact: Jiri Srain <jsrain>
Severity: Major    
Priority: P5 - None CC: jsrain, jsuchome
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description David Rankin 2009-02-11 07:58:51 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.6) Gecko/2009012700 SUSE/3.0.6-0.1 Firefox/3.0.6 FirePHP/0.2.1

Devs,

    With Bugs 457093 & 461868 marked FIXED I tried using the ncurses sysconfig editor again, this time attempting to set network -> www -> apache2 -> APACHE_MODULES to add the deflate module. There is no way to add anything or even get to the text entry line just exactly like the two bugs above.

    I have installed all updates. Am I doing something wrong or is the ncurses sysconfig editor still broken? I presumed that the operation of the sysconfig editor was fixed when the two bugs above were marked FIXED or did nobody check the sysconfig editor's operation beyond the DAILY_TIME variable? Please check and confirm that I'm really not the one doing something stupid here (yes I'm running it as root, not sudo)


Reproducible: Always

Steps to Reproduce:
1. go to konsole
2. open yast2 ncurses sysconfig-editor
3. try to add a module in network/www/apache2
Actual Results:  
can't enter squat

Expected Results:  
to be able to add a module to the list like in every release through 11.0
Comment 1 David Rankin 2009-02-11 09:10:31 UTC
I figured the problem out.

    The problem is that the sysconfig editor's behavior has changed from the historical norm of highlighting the sysconfig value to change in the list on the left and then pressing 'tab' to edit the value in the right pane. The sysconfig editor has worked that way all the way up through 11.0.

    The changes that were made are likely to cause configuration changes because you now have to hit 'return' before you are able to 'tab' over and change the list. So instead of the normal 'tab', now a 'return'+'tab' is required.

    A nasty side effect of this change is that if you highlight and hit 'return' on say a ClamAV value and then scroll down and highlight an apache2 value and 'tab' over to the input field, even though you went through apache2, you are still editing the ClamAV value because no 'return' was entered when you scrolled down through apache2.

    This is a problem that needs to be fixed. The 'tab' operation should be restored to normal. You should never be able to scroll down through an apache2 list, tab over and be editing an ClamAV value.
Comment 2 Gabriele Mohr 2009-02-19 11:36:20 UTC
The behaviour of the NCTree widget (which is used here) has changed from 11.0 on. Since then it sends a SelectionChanged event only if option `immediate is set (to be conform with NCTable and NCSelectionBox).
The sysconfig editor creates the tree using Wizard::CreateTree() and there the tree widget is created without option `immediate. Therefore the behaviour of the sysconfig editor has changed and doesn't show the currently selected value immediately on the right side when scrolling through the list (the tree) on left.
I am not sure about the best approach to solve the problem - to set option `immediate in Wizard::CreateTree() might have unexpected consequences for other modules. For the same reason I think it's not recommended to change the NCTree widget (back to the behaviour sending the SelectionChanged event always if option `notify is set).
Comment 3 Ladislav Slezák 2009-03-10 15:54:05 UTC
Gabi, thanks for the info!

The both solutions proposed in comment #2 could affect other modules. To fix it exclusively in one place we would need to add a new wizard function (e.g. Wizard::CreateTreeOpt()) with additional parameter (tree widget options) and handle it properly in all yast user interfaces (ncurses, qt, gtk).

I think it's not worth of doing that, the additional Enter key pressing is not a problem IMO. The current variable is displayed on the right side of the dialog, see "Setting of:" label.

Moreover I think some users will prefer the current behavior to the old one - there will be less screen updates, that's good when using yast over a serial line or over a slow network.

Resolving as INVALID.