Author: gs
Date: Tue Apr 15 16:58:51 2008
New Revision: 46682
URL: http://svn.opensuse.org/viewcvs/yast?rev=46682&view=rev
Log:
YOU layout added; methods to handle patches enabled - but
not yet tested
Modified:
trunk/ncurses-pkg/src/NCPackageSelector.cc
trunk/ncurses-pkg/src/NCPackageSelector.h
trunk/ncurses-pkg/src/NCPackageSelectorStart.cc
trunk/ncurses-pkg/src/NCPkgFilterContainer.cc
trunk/ncurses-pkg/src/NCPkgFilterRPMGroups.cc
trunk/ncurses-pkg/src/NCPkgMenuView.cc
trunk/ncurses-pkg/src/NCPkgMenuView.h
trunk/ncurses-pkg/src/NCPkgPackageDetails.cc
trunk/ncurses-pkg/src/NCPkgPackageDetails.h
trunk/ncurses-pkg/src/NCPkgTable.cc
trunk/ncurses-pkg/src/NCPkgTable.h
Modified: trunk/ncurses-pkg/src/NCPackageSelector.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPackageSelector.cc?rev=46682&r1=46681&r2=46682&view=diff
==============================================================================
--- trunk/ncurses-pkg/src/NCPackageSelector.cc (original)
+++ trunk/ncurses-pkg/src/NCPackageSelector.cc Tue Apr 15 16:58:51 2008
@@ -95,13 +95,9 @@
, extrasMenu( 0 )
, helpMenu( 0 )
, filterMain( 0 )
+ , actionMenu( 0 )
, filterMenu( 0 )
, updatelistItem( 0 )
- , actionMenu( 0 )
- , infoMenu( 0 )
- , patchdescrItem( 0 )
- , patchpkgsItem( 0 )
- , pkgversionsItem( 0 )
, packageLabel( 0 )
, diskspaceLabel( 0 )
, infoText( 0 )
@@ -733,15 +729,164 @@
return displayPatch;
}
+///////////////////////////////////////////////////////////////////
+//
+// deleteReplacePoint
+//
+// Gets ( and returns ) the current size of the widget at the replace
+// point and deletes it.
+//
+wrect NCPackageSelector::deleteReplacePoint()
+{
+ // delete current child of the ReplacePoint
+ YWidget * replaceChild = replacePoint->firstChild();
+ wrect oldSize;
+
+ if ( replaceChild )
+ {
+ oldSize = dynamic_cast(replaceChild)->wGetSize();
+
+ delete replaceChild;
+ // reset all info widgets
+ infoText = 0; // NCPkgPackageDetails ( NCRichText )
+ versionsList = 0; // NCPkgTable - type: T_Availables
+ patchPkgs = 0; // NCPkgTable - type: T_PatchPkgs
+ patchPkgsVersions = 0; // NCPkgTable - type: T_Availables
+ }
+
+ return oldSize;
+}
+
+///////////////////////////////////////////////////////////////////
+//
+// showInformation
+//
+// Creates an NCPkgPackageDetails (a RichtText widget) which is
+// used to show the required information (called from NCPkgMenuView)
+//
+//
+void NCPackageSelector::showInformation()
+{
+ wrect oldSize = deleteReplacePoint();
+
+ // show the rich text widget
+ infoText = new NCPkgPackageDetails( replacePoint, " ", this);
+
+ if ( infoText )
+ {
+ infoText->setSize( oldSize.Sze.W, oldSize.Sze.H );
+ infoText->Redraw();
+ }
+}
+
+///////////////////////////////////////////////////////////////////
+//
+// showVersionsList
+//
+// Creates an NCPkgTable (type T_Availables) which is used to show
+// the list of package versions (called from NCPkgMenuView)
+//
+//
+void NCPackageSelector::showVersionsList()
+{
+ wrect oldSize = deleteReplacePoint();
+ NCPkgTable * packageList = PackageList();
+
+ // show a package table with all available package versions
+ YTableHeader * tableHeader = new YTableHeader();
+ versionsList = new NCPkgTable( replacePoint, tableHeader );
+ // YDialog::currentDialog()->setInitialSize(); -> doesn't work
+ // call versionsList->setSize() and versionsList->Redraw() instead
+
+ if ( versionsList && packageList )
+ {
+
+ // set the connection to the NCPackageSelector !!!!
+ versionsList->setPackager( this );
+ // set status strategy
+ NCPkgStatusStrategy * strategy = new AvailableStatStrategy();
+ versionsList->setTableType( NCPkgTable::T_Availables, strategy );
+ versionsList->fillHeader( );
+ versionsList->setSize( oldSize.Sze.W, oldSize.Sze.H );
+
+ versionsList->fillAvailableList( packageList->getSelPointer( packageList->getCurrentItem() ) );
+ versionsList->Redraw();
+
+ packageList->setKeyboardFocus();
+ }
+}
+
+///////////////////////////////////////////////////////////////////
+//
+// showPatchPackages
+//
+// Creates an NCPkgTable (type T_PatchPkgs) which is used to show
+// the list of all packages belonging to a patch (called from NCPkgMenuView)
+//
+//
+void NCPackageSelector::showPatchPackages()
+{
+ wrect oldSize = deleteReplacePoint();
+ NCPkgTable * packageList = PackageList();
+
+ // show a package table with packages belonging to a patch
+ YTableHeader * tableHeader = new YTableHeader();
+ patchPkgs = new NCPkgTable( replacePoint, tableHeader );
+ if ( patchPkgs && packageList )
+ {
+ // set the connection to the NCPackageSelector !!!!
+ patchPkgs->setPackager( this );
+ // set status strategy - don't set extra strategy, use 'normal' package strategy
+ NCPkgStatusStrategy * strategy = new PackageStatStrategy();
+ patchPkgs->setTableType( NCPkgTable::T_PatchPkgs, strategy );
+ patchPkgs->fillHeader( );
+ patchPkgs->setSize( oldSize.Sze.W, oldSize.Sze.H );
+
+ fillPatchPackages( patchPkgs, packageList->getDataPointer( packageList->getCurrentItem() ) );
+ patchPkgs->Redraw();
+
+ packageList->setKeyboardFocus();
+ }
+}
///////////////////////////////////////////////////////////////////
//
-// InformationHandler
+// showPatchPkgsVersions
//
-// Sets the member variable visibleInfo. If required,
-// replaces the currently active package information widget
-// ( e.g. by the list of available packages ).
+// Creates an NCPkgTable (type T_Availables) which is used to show
+// a list of all versions of all packages belonging to a patch
+// (called from NCPkgMenuView)
+//
+//
+void NCPackageSelector::showPatchPkgVersions()
+{
+ wrect oldSize = deleteReplacePoint();
+ NCPkgTable * packageList = PackageList();
+
+ // show a package table with versions of the packages beloning to a patch
+ YTableHeader * tableHeader = new YTableHeader();
+ patchPkgsVersions = new NCPkgTable( replacePoint, tableHeader );
+
+ if ( patchPkgsVersions && packageList )
+ {
+ // set the connection to the NCPackageSelector !!!!
+ patchPkgsVersions->setPackager( this );
+ // set status strategy and table type
+ NCPkgStatusStrategy * strategy = new AvailableStatStrategy();
+ patchPkgsVersions->setTableType( NCPkgTable::T_Availables, strategy );
+ patchPkgsVersions->fillHeader( );
+ patchPkgsVersions->setSize( oldSize.Sze.W, oldSize.Sze.H );
+
+ fillPatchPackages( patchPkgsVersions, packageList->getDataPointer( packageList->getCurrentItem() ), true );
+ patchPkgsVersions->Redraw();
+
+ packageList->setKeyboardFocus();
+ }
+}
+
+//
+// UNUSED
//
void NCPackageSelector::replaceInfoText( bool b )
{
@@ -1360,80 +1505,6 @@
return ok;
}
-
-///////////////////////////////////////////////////////////////////
-//
-// showPatchInformation
-//
-// Shows the patch information
-//
-bool NCPackageSelector::showPatchInformation ( ZyppObj objPtr, ZyppSel selectable )
-{
- ZyppPatch patchPtr = tryCastToZyppPatch( objPtr );
-
- if ( !patchPtr || !selectable )
- {
- yuiError() << "Patch not valid" << endl;
- return false;
- }
-
- // if ( visibleInfo->compare( NCPkgStrings::PatchDescr() ) == YO_EQUAL )
- if ( visibleInfo == patchdescrItem )
- {
- string descr;
-
- descr += NCPkgStrings::Patch();
- descr += selectable->name();
- descr += " ";
- // the patch size is not available
- // descr += NCPkgStrings::Size();
- // descr += patchPtr->size().asString( 8 );
- descr += "<b>";
- descr += NCPkgStrings::PatchKind();
- descr += ": </b>";
- descr += patchPtr->category();
- descr += " ";
- descr += NCPkgStrings::Version();
- descr += patchPtr->edition().asString();
- descr += "<br>";
-
- if ( selectable->hasInstalledObj()
- && selectable->installedPoolItem().isBroken() )
- {
- descr += _( "----- this patch is broken !!! -----" );
- descr += "<br>";
- }
- // get and format the patch description
- string value = patchPtr->description();
- descr += createDescrText( value );
-
- // show the description
- if ( infoText )
- {
- infoText->setValue( descr );
- }
- }
- // else if ( visibleInfo->compare( NCPkgStrings::PatchPackages() ) == YO_EQUAL )
- else if ( visibleInfo == patchpkgsItem )
- {
- if ( patchPkgs )
- {
- fillPatchPackages ( patchPkgs, objPtr);
- }
- }
- // else if ( visibleInfo->compare( NCPkgStrings::PatchPackagesVersions() ) == YO_EQUAL )
- else if ( visibleInfo == pkgversionsItem )
- {
- if ( patchPkgsVersions )
- {
- fillPatchPackages ( patchPkgsVersions, objPtr, true);
- }
- }
-
- return true;
-}
-
-
///////////////////////////////////////////////////////////////////
//
// showDependencies
@@ -1695,9 +1766,72 @@
//
// Create layout for Online Update
//
-void NCPackageSelector::createYouLayout( YWidget * selector, NCPkgTable::NCPkgTableType type )
+void NCPackageSelector::createYouLayout( YWidget * selector )
{
- // TODO
+ // the vertical split is the (only) child of the dialog
+ YLayoutBox * split = YUI::widgetFactory()->createVBox( selector );
+
+ YLayoutBox * hSplit = YUI::widgetFactory()->createHBox( split );
+
+ YAlignment * left1 = YUI::widgetFactory()->createLeft( hSplit );
+ actionMenu = new NCPkgMenuAction( left1, NCPkgStrings::Actions(), this );
+
+ YAlignment * left2 = YUI::widgetFactory()->createLeft( hSplit );
+ viewMenu = new NCPkgMenuView( left2, NCPkgStrings::View(), this);
+
+ YAlignment * left3 = YUI::widgetFactory()->createLeft( hSplit );
+ extrasMenu = new NCPkgMenuExtras( left3, NCPkgStrings::Extras(), this);
+
+ // add the package table
+ YTableHeader * tableHeader = new YTableHeader();
+
+ pkgList = new NCPkgTable( split, tableHeader );
+ YUI_CHECK_NEW( pkgList );
+
+ // set table type 'T_Patches'
+ NCPkgStatusStrategy * strategy;
+ strategy = new PatchStatStrategy();
+ pkgList->setTableType( NCPkgTable::T_Patches, strategy );
+
+ // set the pointer to the packager object
+ pkgList->setPackager( this );
+
+ // HBox for Filter and Disk Space (both in additional HBoxes )
+ YLayoutBox * hSplit2 = YUI::widgetFactory()->createHBox( split );
+
+ YLayoutBox * hSplit3 = YUI::widgetFactory()->createHBox( hSplit2 );
+ // label text - keep it short
+ new NCLabel( hSplit3, _( "Filter: " ) );
+ packageLabel = YUI::widgetFactory()->createLabel ( hSplit3, "....................................." );
+
+ new NCSpacing( hSplit2, YD_HORIZ, true, 0.5 );
+
+ YLayoutBox * hSplit4 = YUI::widgetFactory()->createHBox( hSplit2 );
+ // label text - keep it short (use abbreviation if necessary)
+ new NCLabel( hSplit4, _( "Total Download Size: " ) );
+ diskspaceLabel = YUI::widgetFactory()->createLabel ( hSplit4, " " );
+
+ YLayoutBox * vSplit = YUI::widgetFactory()->createVBox( split );
+ replacePoint = YUI::widgetFactory()->createReplacePoint( vSplit );
+
+ infoText = new NCPkgPackageDetails( replacePoint, " ", this );
+ YUI_CHECK_NEW( infoText );
+
+ YLayoutBox * hSplit5 = YUI::widgetFactory()->createHBox( vSplit );
+
+ helpMenu = new NCPkgMenuHelp (hSplit5, _("&Help"));
+ YUI_CHECK_NEW( helpMenu );
+
+ // add the Cancel button
+ cancelButton = new NCPushButton( hSplit5, _( "&Cancel" ) );
+ YUI_CHECK_NEW( cancelButton );
+ cancelButton->setFunctionKey( 9 );
+
+ // add the OK button
+ okButton = new NCPushButton( hSplit5, _( "&Accept" ) );
+ YUI_CHECK_NEW( okButton );
+ okButton->setFunctionKey( 10 );
+
}
//
@@ -1783,6 +1917,7 @@
YAlignment *ll = YUI::widgetFactory()->createLeft( bottom_bar );
helpMenu = new NCPkgMenuHelp (ll, _("&Help"));
+ YUI_CHECK_NEW( helpMenu );
YAlignment *r = YUI::widgetFactory()->createRight( bottom_bar );
YLayoutBox * hSplit = YUI::widgetFactory()->createHBox( r );
Modified: trunk/ncurses-pkg/src/NCPackageSelector.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPackageSelector.h?rev=46682&r1=46681&r2=46682&view=diff
==============================================================================
--- trunk/ncurses-pkg/src/NCPackageSelector.h (original)
+++ trunk/ncurses-pkg/src/NCPackageSelector.h Tue Apr 15 16:58:51 2008
@@ -127,23 +127,14 @@
NCPkgMenuView *viewMenu;
NCPkgMenuExtras *extrasMenu;
NCPkgMenuHelp *helpMenu;
+ NCPkgFilterMain *filterMain;
NCPkgMenuAction *actionMenu;
- NCPkgFilterMain *filterMain;
// filter menu and items
NCMenuButton * filterMenu;
YMenuItem * updatelistItem;
- // information menu and items
- NCMenuButton * infoMenu;
-
- // information menu and items YOU
- YMenuItem * patchdescrItem;
- YMenuItem * patchpkgsItem;
- YMenuItem * pkgversionsItem;
-
-
- // labels
+ // labels
YLabel * packageLabel;
YLabel * diskspaceLabel;
@@ -217,10 +208,9 @@
/**
* Create layout for the Online Update
* @param parent Parent is PackageSelectorStart
- * @param type The package table type
* @return void
*/
- void createYouLayout( YWidget * parent, NCPkgTable::NCPkgTableType type );
+ void createYouLayout( YWidget * parent );
// returns the package table widget
NCPkgTable * PackageList();
@@ -234,6 +224,9 @@
NCPkgTable *VersionsList() { return versionsList; }
void setVersionsList ( NCPkgTable *table ) { versionsList = table; }
+ NCPkgTable * PatchPkgs() { return patchPkgs; }
+ NCPkgTable * PatchPkgsVersions() { return patchPkgsVersions; }
+
YReplacePoint *ReplacePoint() { return replacePoint; }
NCRichText *FilterDescription() { return filter_desc; }
NCPkgSearchSettings *SearchSettings() { return searchSet; }
@@ -294,13 +287,39 @@
*/
bool handleEvent( const NCursesEvent& event );
- /**
- * Handler function for the "Information" menu
- * @param event The Ncurses event
- * @return bool
- */
+ // UNUSED
void replaceInfoText ( bool b );
+ /**
+ * Creates an NCPkgTable widget and shows all versions
+ * of all packages belonging to a patch
+ * @return void
+ */
+ void showPatchPkgVersions();
+
+ /**
+ * Creates an NCPkgTable widget and shows all packages
+ * belonging to a patch
+ * @return void
+ */
+ void showPatchPackages();
+
+ /**
+ * Creates an NCPkgTable widget and shows all verions
+ * a the selected package
+ * @return void
+ */
+ void showVersionsList();
+
+ /**
+ * Creates an NCRichText widget for package (patch)
+ * information
+ * @return void
+ */
+ void showInformation();
+
+ wrect deleteReplacePoint();
+
void replaceFilter ( FilterMode mode);
void replaceFilterDescr ( bool b );
/**
@@ -349,15 +368,6 @@
*/
void showSelectionDependencies ( );
-
- /**
- * Gets the required patch info from you patch manager and shows it
- * @param pkgPtr the data pointer
- * @return bool
- */
- bool showPatchInformation ( ZyppObj pkgPtr, ZyppSel slbPtr );
-
-
/**
* Updates the status in list of packages
*/
Modified: trunk/ncurses-pkg/src/NCPackageSelectorStart.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPackageSelectorStart.cc?rev=46682&r1=46681&r2=46682&view=diff
==============================================================================
--- trunk/ncurses-pkg/src/NCPackageSelectorStart.cc (original)
+++ trunk/ncurses-pkg/src/NCPackageSelectorStart.cc Tue Apr 15 16:58:51 2008
@@ -75,10 +75,11 @@
if ( packager )
{
+ yuiMilestone() << "YouMode: " << (youMode?"true":"false") << endl;
if ( !youMode )
packager->createPkgLayout( this, type );
else
- packager->createYouLayout( this, type );
+ packager->createYouLayout( this );
}
yuiDebug() << endl;
@@ -135,7 +136,7 @@
// fill package list with packages belonging to default RPM group
packager->fillDefaultList();
- // always do an initial dependency solving
+ // always do an initial dependency solving
packager->showPackageDependencies( true );
if ( youMode )
Modified: trunk/ncurses-pkg/src/NCPkgFilterContainer.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPkgFilterContainer.cc?rev=46682&r1=46681&r2=46682&view=diff
==============================================================================
--- trunk/ncurses-pkg/src/NCPkgFilterContainer.cc (original)
+++ trunk/ncurses-pkg/src/NCPkgFilterContainer.cc Tue Apr 15 16:58:51 2008
@@ -140,6 +140,7 @@
std::vector<ZyppSel> sorted;
sorted.reserve (wanted.size ());
+ yuiMilestone() << "Showing " << wanted.size () << " packages" << endl;
// find the objects for the names
ZyppPoolIterator
b = zyppPkgBegin(),
@@ -193,36 +194,35 @@
ZyppObj objPtr = getDataPointer( index );
if ( objPtr )
{
- yuiMilestone() << "Current selection: " << getCurrentLine() << endl;
-
// show the package list
std::setstd::string packages;
ZyppPattern patPtr = tryCastToZyppPattern (objPtr);
//ZyppLang langPtr = tryCastToZyppLang (objPtr);
if (patPtr)
{
- zypp::ui::PatternContents patternContents( patPtr );
- packager->FilterDescription()->setText ( showDescription( objPtr ) );
- packages = patternContents.install_packages();
+ yuiMilestone() << "Show packages belonging to selected pattern: " << getCurrentLine() << endl;
+ zypp::ui::PatternContents patternContents( patPtr );
+ packager->FilterDescription()->setText ( showDescription( objPtr ) );
+ packages = patternContents.install_packages();
}
- #if 0 //FIXME
+ #if 0 //FIXME
else if (langPtr)
{
- string currentLang = langPtr->name();
+ string currentLang = langPtr->name();
- for ( ZyppPoolIterator it = zyppPkgBegin(); it != zyppPkgEnd(); ++it )
+ for ( ZyppPoolIterator it = zyppPkgBegin(); it != zyppPkgEnd(); ++it )
{
ZyppObj zyppObj = (*it)->theObj();
if ( zyppObj )
{
- //find all 'freshens' dependencies of this object
- zypp::CapSet freshens = zyppObj->dep( zypp::Dep::FRESHENS );
+ //find all 'freshens' dependencies of this object
+ zypp::CapSet freshens = zyppObj->dep( zypp::Dep::FRESHENS );
- for ( zypp::CapSet::const_iterator cap_it = freshens.begin();
- cap_it != freshens.end();
- ++cap_it )
+ for ( zypp::CapSet::const_iterator cap_it = freshens.begin();
+ cap_it != freshens.end();
+ ++cap_it )
{
if ( (*cap_it).index() == currentLang ) // obj freshens this language
{
@@ -231,9 +231,9 @@
if ( pkg )
{
NCDBG << "Found pkg " << pkg->name().c_str() << "for lang "
- << currentLang.c_str() << endl;
+ << currentLang.c_str() << endl;
- packages.insert( pkg->name() );
+ packages.insert( pkg->name() );
}
}
}
@@ -241,9 +241,9 @@
}
}
- #endif
- showContainerContent( packages );
- }
+#endif
+ showContainerContent( packages );
+ }
}
Modified: trunk/ncurses-pkg/src/NCPkgFilterRPMGroups.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPkgFilterRPMGroups.cc?rev=46682&r1=46681&r2=46682&view=diff
==============================================================================
--- trunk/ncurses-pkg/src/NCPkgFilterRPMGroups.cc (original)
+++ trunk/ncurses-pkg/src/NCPkgFilterRPMGroups.cc Tue Apr 15 16:58:51 2008
@@ -191,7 +191,7 @@
}
string group_str = _rpmGroupsTree->rpmGroup (rpmGroup);
- yuiError() << group_str << endl;
+ yuiDebug() << group_str << endl;
// is the requested rpm group a prefix of this package's group?
if ( pkg->group ().find (group_str) == 0 )
{
Modified: trunk/ncurses-pkg/src/NCPkgMenuView.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPkgMenuView.cc?rev=46682&r1=46681&r2=46682&view=diff
==============================================================================
--- trunk/ncurses-pkg/src/NCPkgMenuView.cc (original)
+++ trunk/ncurses-pkg/src/NCPkgMenuView.cc Tue Apr 15 16:58:51 2008
@@ -38,22 +38,38 @@
void NCPkgMenuView::createLayout()
{
- description = new YMenuItem( _("Package Description") );
- items.push_back( description );
+ if ( !pkg->isYouMode() )
+ {
+ description = new YMenuItem( _("Package Description") );
+ items.push_back( description );
+
+ technical = new YMenuItem( _("Technical data") );
+ items.push_back( technical );
- technical = new YMenuItem( _("Technical data") );
- items.push_back( technical );
+ versions = new YMenuItem( _("Package Versions") );
+ items.push_back( versions );
- versions = new YMenuItem( _("Package Versions") );
- items.push_back( versions );
+ files = new YMenuItem( _("File List") );
+ items.push_back( files );
- files = new YMenuItem( _("File List") );
- items.push_back( files );
+ deps = new YMenuItem( _("Dependencies") );
+ items.push_back( deps );
- deps = new YMenuItem( _("Dependencies") );
- items.push_back( deps );
+ addItems( items );
+ }
+ else
+ {
+ patchDescription = new YMenuItem( _( "&Long Description" ) );
+ items.push_back( patchDescription );
- addItems( items );
+ patchPackages = new YMenuItem( _( "&Package List" ));
+ items.push_back( patchPackages );
+
+ patchPkgVersions = new YMenuItem( _("&Versions") );
+ items.push_back( patchPkgVersions );
+
+ addItems( items );
+ }
}
@@ -70,10 +86,69 @@
if ( !pkgPtr || !slbPtr)
{
- yuiError() << "*cobe*-d up" << endl;
- return false;
+ yuiError() << "package list empty - no package pointer" << endl;
+ return true;
+ }
+
+ // Call the appropriate method from NCPackageSelector for
+ // the selected menu entry.
+ // Set the information type of the package list (NCPkgTable)
+ // acccordingly to to able to show the required information while
+ // scrolling the list (NCPkgTable::updateList())
+
+ if ( event.selection == versions )
+ {
+ pkg->showVersionsList();
+ pkgList->setVisibleInfo (NCPkgTable::I_Versions);
+ }
+ else if ( event.selection == patchPackages )
+ {
+ pkg->showPatchPackages();
+ pkgList->setVisibleInfo (NCPkgTable::I_PatchPkgs);
+ }
+ else if ( event.selection == patchPkgVersions )
+ {
+ pkg->showPatchPkgVersions();
+ pkgList->setVisibleInfo (NCPkgTable::I_PatchPkgsVersions);
+ }
+ else
+ {
+ pkg->showInformation();
+
+ if ( !pkg->InfoText() )
+ return false;
+
+ if (event.selection == description)
+ {
+ pkg->InfoText()->longDescription( pkgPtr );
+ pkgList->setVisibleInfo (NCPkgTable::I_Descr);
+ }
+ else if (event.selection == technical )
+ {
+ pkg->InfoText()->technicalData( pkgPtr, slbPtr );
+ pkgList->setVisibleInfo (NCPkgTable::I_Technical);
+ }
+ else if (event.selection == files )
+ {
+ pkg->InfoText()->fileList( slbPtr );
+ pkgList->setVisibleInfo (NCPkgTable::I_Files);
+ }
+ else if (event.selection == deps )
+ {
+ pkg->InfoText()->dependencyList( pkgPtr, slbPtr );
+ pkgList->setVisibleInfo (NCPkgTable::I_Deps);
+ }
+ else if ( event.selection == patchDescription )
+ {
+ pkg->InfoText()->patchDescription( pkgPtr, slbPtr );
+ pkgList->setVisibleInfo (NCPkgTable::I_PatchDescr);
+ }
}
+ //
+ // UNUSED
+ //
+#if 0
if (event.selection == versions)
{
if ( !pkg->VersionsList() )
@@ -110,5 +185,7 @@
pkgList->setVisibleInfo (NCPkgTable::I_Deps);
}
}
+#endif
+
return true;
}
Modified: trunk/ncurses-pkg/src/NCPkgMenuView.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPkgMenuView.h?rev=46682&r1=46681&r2=46682&view=diff
==============================================================================
--- trunk/ncurses-pkg/src/NCPkgMenuView.h (original)
+++ trunk/ncurses-pkg/src/NCPkgMenuView.h Tue Apr 15 16:58:51 2008
@@ -46,6 +46,11 @@
YMenuItem *files;
YMenuItem *deps;
+ // Online Update
+ YMenuItem * patchDescription;
+ YMenuItem * patchPackages;
+ YMenuItem * patchPkgVersions;
+
NCPkgMenuView (YWidget *parent, string label, NCPackageSelector *pkger);
virtual ~NCPkgMenuView();
Modified: trunk/ncurses-pkg/src/NCPkgPackageDetails.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPkgPackageDetails.cc?rev=46682&r1=46681&r2=46682&view=diff
==============================================================================
--- trunk/ncurses-pkg/src/NCPkgPackageDetails.cc (original)
+++ trunk/ncurses-pkg/src/NCPkgPackageDetails.cc Tue Apr 15 16:58:51 2008
@@ -94,7 +94,7 @@
string text = "";
//text += commonHeader( pkgPtr );
- //text += pkgPtr->description();
+ text += pkgPtr->description();
// show the description
setValue( text );
@@ -231,3 +231,46 @@
}
+bool NCPkgPackageDetails::patchDescription( ZyppObj objPtr, ZyppSel selectable )
+{
+ ZyppPatch patchPtr = tryCastToZyppPatch( objPtr );
+
+ if ( !patchPtr || !selectable )
+ {
+ yuiError() << "Patch not valid" << endl;
+ return false;
+ }
+
+ string descr;
+
+ descr += NCPkgStrings::Patch();
+ descr += selectable->name();
+ descr += " ";
+ // the patch size is not available
+ // descr += NCPkgStrings::Size();
+ // descr += patchPtr->size().asString( 8 );
+ descr += "<b>";
+ descr += NCPkgStrings::PatchKind();
+ descr += ": </b>";
+ descr += patchPtr->category();
+ descr += " ";
+ descr += NCPkgStrings::Version();
+ descr += patchPtr->edition().asString();
+ descr += "<br>";
+
+ if ( selectable->hasInstalledObj()
+ && selectable->installedPoolItem().isBroken() )
+ {
+ descr += _( "----- this patch is broken !!! -----" );
+ descr += "<br>";
+ }
+ // get and format the patch description
+ string value = patchPtr->description();
+ //descr += createDescrText( value );
+ descr += value;
+
+ // show the description
+ setValue( descr );
+
+ return true;
+}
Modified: trunk/ncurses-pkg/src/NCPkgPackageDetails.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPkgPackageDetails.h?rev=46682&r1=46681&r2=46682&view=diff
==============================================================================
--- trunk/ncurses-pkg/src/NCPkgPackageDetails.h (original)
+++ trunk/ncurses-pkg/src/NCPkgPackageDetails.h Tue Apr 15 16:58:51 2008
@@ -48,5 +48,6 @@
void dependencyList( ZyppObj objPtr, ZyppSel slbPtr );
+ bool patchDescription( ZyppObj objPtr, ZyppSel selectable );
};
#endif
Modified: trunk/ncurses-pkg/src/NCPkgTable.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPkgTable.cc?rev=46682&r1=46681&r2=46682&view=diff
==============================================================================
--- trunk/ncurses-pkg/src/NCPkgTable.cc (original)
+++ trunk/ncurses-pkg/src/NCPkgTable.cc Tue Apr 15 16:58:51 2008
@@ -758,7 +758,9 @@
break;
case T_Patches:
// show the patch info
- packager->showPatchInformation( objPtr, slbPtr );
+ if (objPtr && slbPtr )
+ updateInfo( objPtr, slbPtr, VisibleInfo() );
+ //packager->showPatchInformation( objPtr, slbPtr );
break;
default:
break;
@@ -1162,6 +1164,12 @@
case I_Versions:
packager->VersionsList()->fillAvailableList( slbPtr );
break;
+ case I_PatchDescr:
+ packager->InfoText()->patchDescription( pkgPtr, slbPtr );
+ case I_PatchPkgs:
+ packager->fillPatchPackages( packager->PatchPkgs(), pkgPtr );
+ case I_PatchPkgsVersions:
+ packager->fillPatchPackages( packager->PatchPkgsVersions(), pkgPtr, true );
default:
break;
}
Modified: trunk/ncurses-pkg/src/NCPkgTable.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/ncurses-pkg/src/NCPkgTable.h?rev=46682&r1=46681&r2=46682&view=diff
==============================================================================
--- trunk/ncurses-pkg/src/NCPkgTable.h (original)
+++ trunk/ncurses-pkg/src/NCPkgTable.h Tue Apr 15 16:58:51 2008
@@ -115,6 +115,9 @@
I_Versions,
I_Files,
I_Deps,
+ I_PatchDescr,
+ I_PatchPkgs,
+ I_PatchPkgsVersions
};
private:
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org