Author: gs Date: Mon May 10 11:07:44 2010 New Revision: 61972 URL: http://svn.opensuse.org/viewcvs/yast?rev=61972&view=rev Log: add libzypp resolver options allow vendor change and cleanup on remove Modified: trunk/ncurses-pkg/src/NCPackageSelector.cc trunk/ncurses-pkg/src/NCPackageSelector.h trunk/ncurses-pkg/src/NCPkgMenuDeps.cc trunk/ncurses-pkg/src/NCPkgMenuDeps.h Modified: trunk/ncurses-pkg/src/NCPackageSelector.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPackageSelector.cc?rev=61972&r1=61971&r2=61972&view=diff ============================================================================== --- trunk/ncurses-pkg/src/NCPackageSelector.cc (original) +++ trunk/ncurses-pkg/src/NCPackageSelector.cc Mon May 10 11:07:44 2010 @@ -197,6 +197,36 @@ return ret; } +bool NCPackageSelector::isCleanDepsOnRemove() +{ + return zypp::getZYpp()->resolver()->cleandepsOnRemove(); +} + +void NCPackageSelector::setCleanDepsOnRemove( bool on ) +{ + return zypp::getZYpp()->resolver()->setCleandepsOnRemove( on ); +} + +bool NCPackageSelector::isVerifySystem( ) +{ + return zypp::getZYpp()->resolver()->systemVerification(); +} + +void NCPackageSelector::setVerifySystem( bool on ) +{ + return zypp::getZYpp()->resolver()->setSystemVerification( on ); +} + +bool NCPackageSelector::isAllowVendorChange() +{ + return zypp::getZYpp()->resolver()->allowVendorChange(); +} + +void NCPackageSelector::setAllowVendorChange( bool on ) +{ + return zypp::getZYpp()->resolver()->setAllowVendorChange( on ); +} + ////////////////////////////////////////////////////////////////// // // detection whether the user has made any changes Modified: trunk/ncurses-pkg/src/NCPackageSelector.h URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPackageSelector.h?rev=61972&r1=61971&r2=61972&view=diff ============================================================================== --- trunk/ncurses-pkg/src/NCPackageSelector.h (original) +++ trunk/ncurses-pkg/src/NCPackageSelector.h Mon May 10 11:07:44 2010 @@ -287,6 +287,15 @@ bool isAutoCheck() { return autoCheck; } + bool isCleanDepsOnRemove(); + void setCleanDepsOnRemove( bool on ); + + bool isAllowVendorChange(); + void setAllowVendorChange( bool on ); + + bool isVerifySystem(); + void setVerifySystem( bool on ); + bool isTestMode() { return testMode; } void AutoCheck( bool check) { autoCheck = check; } Modified: trunk/ncurses-pkg/src/NCPkgMenuDeps.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPkgMenuDeps.cc?rev=61972&r1=61971&r2=61972&view=diff ============================================================================== --- trunk/ncurses-pkg/src/NCPkgMenuDeps.cc (original) +++ trunk/ncurses-pkg/src/NCPkgMenuDeps.cc Mon May 10 11:07:44 2010 @@ -21,6 +21,9 @@ #include "NCPkgMenuDeps.h" #include "NCPackageSelector.h" +#define CHECK_BOX "[ ] " +#define NO_CHECK_BOX " " + /* Textdomain "ncurses-pkg" */ @@ -37,18 +40,40 @@ } +void NCPkgMenuDeps::setSelected( YMenuItem *item, bool selected) +{ + string oldLabel = item->label(); + + string newLabel = oldLabel.replace(1,1,1, selected ? 'x' : ' '); + + item->setLabel( newLabel); +} + void NCPkgMenuDeps::createLayout() { - autoCheckDeps = new YMenuItem( _("&Automatic Dependency Check [x]") ); - items.push_back( autoCheckDeps ); - checkNow = new YMenuItem( _("&Check Dependencies Now") ); + autoCheckDeps = new YMenuItem( CHECK_BOX + _("&Automatic Dependency Check") ); + items.push_back( autoCheckDeps ); + setSelected( autoCheckDeps, pkg->isAutoCheck() ); + + checkNow = new YMenuItem( NO_CHECK_BOX + _("&Check Dependencies Now") ); items.push_back( checkNow ); - verifySystem = new YMenuItem( _("&Verify System") ); + verifySystem = new YMenuItem( NO_CHECK_BOX + _("&Verify System Now") ); items.push_back( verifySystem ); - testCase = new YMenuItem( _("&Generate Dependency Solver Testcase") ); + verifySystemOpt = new YMenuItem( CHECK_BOX + _("&System Verification Mode") ); + items.push_back( verifySystemOpt ); + + cleanDepsOnRemove = new YMenuItem( CHECK_BOX + _( "&Cleanup when deleting packages" ) ); + items.push_back ( cleanDepsOnRemove ); + setSelected( cleanDepsOnRemove, pkg->isCleanDepsOnRemove() ); + + allowVendorChange = new YMenuItem( CHECK_BOX + _( "&Allow vendor change" ) ); + items.push_back ( allowVendorChange ); + setSelected( allowVendorChange, pkg->isAllowVendorChange() ); + + testCase = new YMenuItem( NO_CHECK_BOX + _("&Generate Dependency Solver Testcase") ); items.push_back( testCase ); addItems( items ); @@ -65,6 +90,12 @@ return setAutoCheck(); else if (event.selection == verifySystem) return verify(); + else if (event.selection == verifySystemOpt ) + return setVerifySystem(); + else if (event.selection == cleanDepsOnRemove ) + return setCleanDepsOnRemove(); + else if (event.selection == allowVendorChange ) + return setAllowVendorChange(); else if (event.selection == testCase) return generateTestcase(); return true; @@ -124,16 +155,32 @@ bool NCPkgMenuDeps::setAutoCheck() { - if ( pkg->isAutoCheck() ) - { - itemAt( 1 )->setLabel( _("&Automatic Dependency Check [ ]") ); - pkg->AutoCheck( false ); - } - else - { - itemAt( 1 )->setLabel( _("&Automatic Dependency Check [x]") ); - pkg->AutoCheck( true ); - } + pkg->AutoCheck( !pkg->isAutoCheck() ); + setSelected( autoCheckDeps, pkg->isAutoCheck() ); + + return true; +} + +bool NCPkgMenuDeps::setVerifySystem() +{ + pkg->setVerifySystem( !pkg->isVerifySystem() ); + setSelected( verifySystemOpt, pkg->isVerifySystem() ); + + return true; +} + +bool NCPkgMenuDeps::setCleanDepsOnRemove() +{ + pkg->setCleanDepsOnRemove( !pkg->isCleanDepsOnRemove() ); + setSelected( cleanDepsOnRemove, pkg->isCleanDepsOnRemove() ); + + return true; +} + +bool NCPkgMenuDeps::setAllowVendorChange() +{ + pkg->setAllowVendorChange( !pkg->isAllowVendorChange() ); + setSelected( allowVendorChange, pkg->isAllowVendorChange() ); return true; } @@ -177,6 +224,7 @@ pkg->updatePackageList(); pkg->showDiskSpace(); - + // the verify call sets the option verify to true + setSelected( verifySystemOpt, pkg->isVerifySystem() ); return true; } Modified: trunk/ncurses-pkg/src/NCPkgMenuDeps.h URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPkgMenuDeps.h?rev=61972&r1=61971&r2=61972&view=diff ============================================================================== --- trunk/ncurses-pkg/src/NCPkgMenuDeps.h (original) +++ trunk/ncurses-pkg/src/NCPkgMenuDeps.h Mon May 10 11:07:44 2010 @@ -43,6 +43,9 @@ YMenuItem *autoCheckDeps; YMenuItem *checkNow; YMenuItem *verifySystem; + YMenuItem *verifySystemOpt; + YMenuItem *cleanDepsOnRemove; + YMenuItem *allowVendorChange; YMenuItem *testCase; NCPkgMenuDeps (YWidget *parent, string label, NCPackageSelector *pkger); @@ -58,7 +61,15 @@ bool setAutoCheck(); + bool setCleanDepsOnRemove(); + + bool setAllowVendorChange(); + + bool setVerifySystem(); + bool verify(); + + void setSelected( YMenuItem *item, bool selected); }; #endif -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org