[yast-commit] r42444 - in /trunk/ncurses/src: STATUS pkg/NCPackageSelector.cc pkg/NCPackageSelector.h
![](https://seccdn.libravatar.org/avatar/9d45ad4c714db4d170a42527a4a6b8dc.jpg?s=120&d=mm&r=g)
Author: gs Date: Tue Nov 27 15:01:39 2007 New Revision: 42444 URL: http://svn.opensuse.org/viewcvs/yast?rev=42444&view=rev Log: Etc. menu added Modified: trunk/ncurses/src/STATUS trunk/ncurses/src/pkg/NCPackageSelector.cc trunk/ncurses/src/pkg/NCPackageSelector.h Modified: trunk/ncurses/src/STATUS URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses/src/STATUS?rev=42444&r1=42443&r2=42444&view=diff ============================================================================== --- trunk/ncurses/src/STATUS (original) +++ trunk/ncurses/src/STATUS Tue Nov 27 15:01:39 2007 @@ -30,14 +30,15 @@ ------ EVENTs (class NCursesEvent, example Events.ycp) - example works correctly except of problem with NCPopupInfo on F1 - (y2base terminates if popup is open and a timout event is sent) + (strange things happen: 1. when a timout event is sent, + 2. if F1 or ESC is pressed again ) MORE tests required ------------------- ENCODING correct (UTF-8 encoding/NCstring) ??? - both for input(e.g. NCInputField) -and text output; +and text output, setLanguage() moved test ChangeWidget for every widget @@ -46,18 +47,22 @@ NCDialog: not ported at all because YDialog isn't ported yet PackageSelector: -At the moment works with existing code, i.e. still reads the ycp layout -file and therefore uses YCP widget ids internally to get the menu selection -and button ids. +- layout is created with the widget factory or creating the NCWidgets FIXME: -- NCPkgPopupTree::cloneTree() doesn't build the tree correctly - fix NCPkgPopupDeps::showSolutions() TODO: -- create layout with widget factory and get rid of the YCP ids, - +- create YOU layout +TESTED: +- Filter menu works +- Actions menu works +- Information menu works +- Etc menu works except of replacing the menu item autocheck on/off and FileHandler +- handle hyperlinks ("pkg:") -> see handleEvent( ) +- "Solving ..." popup in NCPkgPopupDeps() is shown correctly + Modified: trunk/ncurses/src/pkg/NCPackageSelector.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses/src/pkg/NCPackageSelector.cc?rev=42444&r1=42443&r2=42444&view=diff ============================================================================== --- trunk/ncurses/src/pkg/NCPackageSelector.cc (original) +++ trunk/ncurses/src/pkg/NCPackageSelector.cc Tue Nov 27 15:01:39 2007 @@ -158,6 +158,16 @@ , patchdescrItem( 0 ) , patchpkgsItem( 0 ) , pkgversionsItem( 0 ) + , etcMenu( 0 ) + , depsItem( 0 ) + , showdepsItem( 0 ) + , autodepsItem( 0 ) + , noautodepsItem( 0 ) + , verifyItem( 0 ) + , allpksItem( 0 ) + , exportItem( 0 ) + , importItem( 0 ) + , testcaseItem( 0 ) , filterLabel( 0 ) , diskspaceLabel( 0 ) , infoText( 0 ) @@ -542,6 +552,15 @@ retVal = StatusHandler( event ); else if ( event.widget == infoMenu ) retVal = InformationHandler( event ); + else if ( event.widget == etcMenu ) + { + if ( event.selection == testcaseItem ) + retVal = TestcaseHandler( event ); + else if ( (event.selection == exportItem) || (event.selection == importItem) ) + retVal = FileHandler( event ); + else + retVal = DependencyHandler( event ); + } } @@ -1726,9 +1745,7 @@ NCPkgNames::OKLabel() ); info->setNiceSize( 35, 5 ); - string selId = getMenuId( event.selection ); - - if ( selId == NCPkgNames::ShowDeps()->toString() ) + if ( event.selection == showdepsItem ) { bool ok = false; @@ -1748,83 +1765,33 @@ updatePackageList(); showDiskSpace(); } - else if ( selId == NCPkgNames::VerifySystem()->toString() ) + else if ( event.selection == verifyItem ) { verifyPackageDependencies(); updatePackageList(); showDiskSpace(); } - else if ( selId == NCPkgNames::AutoDeps()->toString() ) + else if ( event.selection == autodepsItem ) { - char menu[2000]; - + // FIXME if ( autoCheck ) { - snprintf ( menu, sizeof(menu) - 1, - "`MenuButton( \"%s\", [" - "`menu( \"%s\", [`item( `id(\"showdeps\"), \"%s\" ), `item( `id(\"autodeps\"), \"%s\" ), `item ( `id(\"verifysystem\"), \"%s\" ) ] )," - "`item( `id(\"testcase\"), \"%s\" )" - "," - "`menu( \"%s\", [`item( `id(\"export\"), \"%s\" ), `item( `id(\"import\"), \"%s\" ) ] )" - "] )", - NCPkgNames::MenuEtc().c_str(), - NCPkgNames::MenuDeps().c_str(), - NCPkgNames::MenuCheckDeps().c_str(), - NCPkgNames::MenuNoAutoDeps().c_str(), - NCPkgNames::MenuVerifySystem().c_str(), - NCPkgNames::MenuTestCase().c_str(), - NCPkgNames::MenuList().c_str(), - NCPkgNames::MenuExportList().c_str(), - NCPkgNames::MenuImportList().c_str() - ); - - - Parser parser( menu ); - YCodePtr parsed_code = parser.parse (); - YCPValue layout = YCPNull (); - - if ( parsed_code != NULL ) - layout = parsed_code->evaluate(); + if ( autodepsItem ) + delete autodepsItem; - if ( !layout.isNull() ) - { - y2ui->evaluateReplaceWidget( YCPSymbol ("replacemenu"), layout->asTerm() ); - autoCheck = false; - } + // menu entry: dependency check off + noautodepsItem = new YMenuItem( depsItem, _( "[X] &Automatic Dependency Check" ) ); + + autoCheck = false; } else { - snprintf ( menu, sizeof(menu) - 1, - "`MenuButton( \"%s\", [" - "`menu( \"%s\", [`item( `id(\"showdeps\"), \"%s\" ), `item( `id(\"autodeps\"), \"%s\" ), `item ( `id(\"verifysystem\"), \"%s\" ) ] )," - "`item( `id(\"testcase\"), \"%s\" )" - "," - "`menu( \"%s\", [`item( `id(\"export\"), \"%s\" ), `item( `id(\"import\"), \"%s\" ) ] )" - "] )", - NCPkgNames::MenuEtc().c_str(), - NCPkgNames::MenuDeps().c_str(), - NCPkgNames::MenuCheckDeps().c_str(), - NCPkgNames::MenuAutoDeps().c_str(), - NCPkgNames::MenuVerifySystem().c_str(), - NCPkgNames::MenuTestCase().c_str(), - NCPkgNames::MenuList().c_str(), - NCPkgNames::MenuExportList().c_str(), - NCPkgNames::MenuImportList().c_str() - ); - - - Parser parser( menu ); - YCodePtr parsed_code = parser.parse (); - YCPValue layout = YCPNull (); - - if ( parsed_code != NULL ) - layout = parsed_code->evaluate(); + if ( noautodepsItem ) + delete noautodepsItem; - if ( !layout.isNull() ) - { - y2ui->evaluateReplaceWidget( YCPSymbol ("replacemenu"), layout->asTerm() ); - autoCheck = true; - } + // menu entry: dependency check off + autodepsItem = new YMenuItem( depsItem, _( "[ ] &Automatic Dependency Check" ) ); + autoCheck = true; } } @@ -3378,6 +3345,31 @@ itemCollection3.push_back( relationsItem ); infoMenu->addItems( itemCollection3 ); + YAlignment * left4 = YUI::widgetFactory()->createLeft( hSplit ); + + // label Etc. menu ( keep it short! ) + etcMenu = new NCMenuButton( left4, _( "&Etc." ) ); + YUI_CHECK_NEW( etcMenu ); + etcMenu->setFunctionKey( 7 ); + + // menu item of the Etc. menu - package dependency check + depsItem = new YMenuItem( _( "&Dependencies" ) ); + // menu items of the Etc./Dependencies submenu + showdepsItem = new YMenuItem( depsItem, _( " &Check Dependencies Now" ) ); + autodepsItem = new YMenuItem( depsItem, _( "[X] &Automatic Dependency Check" ) ); + verifyItem = new YMenuItem( depsItem, _( " &Verify System" ) ); + // menu item - list of all packages in the system + allpksItem = new YMenuItem( _("All &Packages List" ) ); + exportItem = new YMenuItem( allpksItem, _("&Export to File") ); + importItem = new YMenuItem( allpksItem, _("&Import from File") ); + testcaseItem = new YMenuItem( _( "Generate Dependency Resolver &Test Case" ) ); + + YItemCollection itemCollection4; + itemCollection4.push_back( depsItem ); + itemCollection4.push_back( allpksItem ); + itemCollection4.push_back( testcaseItem ); + etcMenu->addItems( itemCollection4 ); + // add the package table YTableHeader * tableHeader = new YTableHeader(); Modified: trunk/ncurses/src/pkg/NCPackageSelector.h URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses/src/pkg/NCPackageSelector.h?rev=42444&r1=42443&r2=42444&view=diff ============================================================================== --- trunk/ncurses/src/pkg/NCPackageSelector.h (original) +++ trunk/ncurses/src/pkg/NCPackageSelector.h Tue Nov 27 15:01:39 2007 @@ -143,6 +143,19 @@ YMenuItem * patchdescrItem; YMenuItem * patchpkgsItem; YMenuItem * pkgversionsItem; + + // etc menu and items + NCMenuButton * etcMenu; + YMenuItem * depsItem; + YMenuItem * showdepsItem; + YMenuItem * autodepsItem; + YMenuItem * noautodepsItem; + YMenuItem * verifyItem; + YMenuItem * allpksItem; + YMenuItem * exportItem; + YMenuItem * importItem ; + YMenuItem * testcaseItem; + // labels YLabel * filterLabel; -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org
participants (1)
-
gs@svn.opensuse.org