Hello community,

here is the log from the commit of package libyui-ncurses-pkg for 
openSUSE:Factory checked in at 2013-07-30 11:44:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libyui-ncurses-pkg (Old)
 and      /work/SRC/openSUSE:Factory/.libyui-ncurses-pkg.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libyui-ncurses-pkg"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libyui-ncurses-pkg/libyui-ncurses-pkg.changes    
2013-07-21 08:11:39.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.libyui-ncurses-pkg.new/libyui-ncurses-pkg.changes   
    2013-07-30 11:44:22.000000000 +0200
@@ -2 +2 @@
-Thu Jul 18 12:33:24 CEST 2013 - [email protected]
+Tue Jul 24 11:56:24 CEST 2013 - [email protected]
@@ -4 +4,4 @@
-- Improve help for Online Update, show column 'Kind' beside 'Name'
+- Online Update: improve help, show column 'Kind' beside 'Name',
+  Package Selector: get lists of orphaned, suggested, recommended
+  and unneeded packages correctly
+- Version 2.44.3

Old:
----
  libyui-ncurses-pkg-2.44.2.tar.bz2

New:
----
  libyui-ncurses-pkg-2.44.3.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libyui-ncurses-pkg-doc.spec ++++++
--- /var/tmp/diff_new_pack.65SjuF/_old  2013-07-30 11:44:23.000000000 +0200
+++ /var/tmp/diff_new_pack.65SjuF/_new  2013-07-30 11:44:23.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           libyui-ncurses-pkg-doc
-Version:        2.44.2
+Version:        2.44.3
 Release:        0
 Source:         libyui-ncurses-pkg-%{version}.tar.bz2
 

++++++ libyui-ncurses-pkg.spec ++++++
--- /var/tmp/diff_new_pack.65SjuF/_old  2013-07-30 11:44:23.000000000 +0200
+++ /var/tmp/diff_new_pack.65SjuF/_new  2013-07-30 11:44:23.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           libyui-ncurses-pkg
-Version:        2.44.2
+Version:        2.44.3
 Release:        0
 Source:         libyui-ncurses-pkg-%{version}.tar.bz2
 

++++++ libyui-ncurses-pkg-2.44.2.tar.bz2 -> libyui-ncurses-pkg-2.44.3.tar.bz2 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-pkg-2.44.2/ChangeLog 
new/libyui-ncurses-pkg-2.44.3/ChangeLog
--- old/libyui-ncurses-pkg-2.44.2/ChangeLog     2013-07-18 12:53:15.000000000 
+0200
+++ new/libyui-ncurses-pkg-2.44.3/ChangeLog     2013-07-25 14:39:05.000000000 
+0200
@@ -1,7 +1,10 @@
 -------------------------------------------------------------------
-Thu Jul 18 12:33:24 CEST 2013 - [email protected]
+Tue Jul 24 11:56:24 CEST 2013 - [email protected]
 
-- Improve help for Online Update, show column 'Kind' beside 'Name'
+- Online Update: improve help, show column 'Kind' beside 'Name',
+  Package Selector: get lists of orphaned, suggested, recommended
+  and unneeded packages correctly
+- Version 2.44.3
 
 -------------------------------------------------------------------
 Thu Jul 11 14:06:27 CEST 2013 - [email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-pkg-2.44.2/VERSION.cmake 
new/libyui-ncurses-pkg-2.44.3/VERSION.cmake
--- old/libyui-ncurses-pkg-2.44.2/VERSION.cmake 2013-07-18 12:53:15.000000000 
+0200
+++ new/libyui-ncurses-pkg-2.44.3/VERSION.cmake 2013-07-25 14:39:05.000000000 
+0200
@@ -1,6 +1,6 @@
 SET( VERSION_MAJOR "2" )
 SET( VERSION_MINOR "44" )
-SET( VERSION_PATCH "2" )
+SET( VERSION_PATCH "3" )
 SET( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" )
 
 ##### This is need for the libyui core, ONLY.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-pkg-2.44.2/src/NCPackageSelector.cc 
new/libyui-ncurses-pkg-2.44.3/src/NCPackageSelector.cc
--- old/libyui-ncurses-pkg-2.44.2/src/NCPackageSelector.cc      2013-07-18 
12:53:15.000000000 +0200
+++ new/libyui-ncurses-pkg-2.44.3/src/NCPackageSelector.cc      2013-07-25 
14:39:05.000000000 +0200
@@ -695,7 +695,7 @@
 // fillPatchPackages
 //
 //
-bool NCPackageSelector::fillPatchPackages ( NCPkgTable * pkgTable, ZyppObj 
objPtr, bool versions )
+bool NCPackageSelector::fillPatchPackages ( NCPkgTable * pkgTable, ZyppObj 
objPtr )
 {
     if ( !pkgTable || !objPtr )
        return false;
@@ -738,27 +738,6 @@
                    yuiDebug() << (*it)->name().c_str() << ": Version: " <<  
pkg->edition().asString() << endl;
 
                    pkgTable->createListEntry( pkg, sel );
-
-                   if ( versions )     // additionally show all availables
-                   {
-                       zypp::ui::Selectable::available_iterator
-                           b = sel->availableBegin (),
-                           e = sel->availableEnd (),
-                           it;
-                       for (it = b; it != e; ++it)
-                       {
-                           ZyppPkg pkgAvail =  tryCastToZyppPkg (*it);
-                           if ( pkgAvail )
-                           {
-                               if ( pkg->edition() != pkgAvail->edition() ||
-                                    pkg->arch() != pkgAvail->arch() )
-                               {
-                                   pkgTable->createListEntry( pkgAvail, sel );
-                               }
-                           }
-                       }
-
-                   } // if ( versions )
                }
            }
        }
@@ -988,27 +967,19 @@
 //
 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 )
+    // only available if patch packages are currently shown
+    if ( patchPkgs )
     {
-       // 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 );
+        // get selected line and show availables for this package
+        ZyppSel sel = patchPkgs->getSelPointer( patchPkgs->getCurrentItem() );
 
-       fillPatchPackages( patchPkgsVersions, packageList->getDataPointer( 
packageList->getCurrentItem() ), true );
-       patchPkgsVersions->Redraw();
+        // show the availables
+       NCPkgPopupTable * availablePopup = new NCPkgPopupTable( wpos( 3, 8), 
this );
+       NCursesEvent input = availablePopup->showAvailablesPopup( sel );
 
-       packageList->setKeyboardFocus();
+       YDialog::deleteTopmostDialog();
+
+       patchPkgs->setKeyboardFocus();
     }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-pkg-2.44.2/src/NCPackageSelector.h 
new/libyui-ncurses-pkg-2.44.3/src/NCPackageSelector.h
--- old/libyui-ncurses-pkg-2.44.2/src/NCPackageSelector.h       2013-07-18 
12:53:15.000000000 +0200
+++ new/libyui-ncurses-pkg-2.44.3/src/NCPackageSelector.h       2013-07-25 
14:39:05.000000000 +0200
@@ -292,10 +292,9 @@
     * Fills the list of packages belonging to the youPatch
     * @param pkgTable  The table widget
     * @param youPatch Show all packages belonging to the patch
-    * @param versions Show all versions of all packages belonging to the patch
     * @return bool
     */
-    bool fillPatchPackages ( NCPkgTable * pkgTable, ZyppObj youPatch, bool 
versions = false );
+    bool fillPatchPackages ( NCPkgTable * pkgTable, ZyppObj youPatch );
 
    /**
     * Fills the package table with packages matching the search expression
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libyui-ncurses-pkg-2.44.2/src/NCPkgFilterClassification.cc 
new/libyui-ncurses-pkg-2.44.3/src/NCPkgFilterClassification.cc
--- old/libyui-ncurses-pkg-2.44.2/src/NCPkgFilterClassification.cc      
2013-07-18 12:53:15.000000000 +0200
+++ new/libyui-ncurses-pkg-2.44.3/src/NCPkgFilterClassification.cc      
2013-07-25 14:39:05.000000000 +0200
@@ -113,32 +113,31 @@
     // clear the package table
     packageList->itemsCleared ();
 
-    // filter packages (like done in YQPkgPackageKitGroupsFilterView::filter())
     for ( ZyppPoolIterator it = zyppPkgBegin();
           it != zyppPkgEnd();
           ++it )
     {
         ZyppSel selectable = *it;
+        bool match = false;
 
-        // Multiple instances of this package may or may not be in the same
-        // group, so let's check both the installed version (if there
-        // is any) and the candidate version.
-        //
-        // Make sure to add only one package entry if both exist and both are
-        // in the same group.
-        // We don't want multiple list entries for the same package!
-
-        bool match =
-            check( selectable, tryCastToZyppPkg( selectable->candidateObj() ), 
group ) ||
-            check( selectable, tryCastToZyppPkg( selectable->installedObj() ), 
group );
-
-        // If there is neither an installed nor a candidate package, check
-        // any other instance.
-
-        if ( ! match                   &&
-             ! selectable->candidateObj()      &&
-             ! selectable->installedObj()        )
-            check( selectable, tryCastToZyppPkg( selectable->theObj() ), group 
);
+        // If there is an installed obj, check this first. The bits are set 
for the installed
+        // obj only and the installed obj is not contained in the pick list if 
there in an
+        // identical candidate available from a repo.
+        if ( selectable->installedObj() )
+        {
+           match = check( selectable, tryCastToZyppPkg( 
selectable->installedObj() ), group );
+        }
+        // And then check the pick list which contain all availables and all 
objects for multi
+        // version packages and the installed obj if there isn't same version 
in a repo.
+        if ( !match )
+        {
+          zypp::ui::Selectable::picklist_iterator it = 
selectable->picklistBegin();
+          while ( it != selectable->picklistEnd() && !match )
+          {
+            check( selectable, tryCastToZyppPkg( *it ), group );
+            ++it;
+          }
+        }
     }
 
     // show the package list
@@ -155,9 +154,12 @@
 {
     NCPkgTable * packageList = packager->PackageList();
 
-    if ( !packageList )
+    // log solver bits, e.g. I__s_ou(668)libcogl11-1.12.0-1.2.i586(@System)
+    yuiDebug() << zypp::PoolItem(pkg) << endl;
+
+    if ( !packageList || !selectable || !pkg )
     {
-       yuiError() << "No valid package table widget" << endl;
+       yuiError() << "No valid data" << endl;
        return false;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-pkg-2.44.2/src/NCPkgMenuView.cc 
new/libyui-ncurses-pkg-2.44.3/src/NCPkgMenuView.cc
--- old/libyui-ncurses-pkg-2.44.2/src/NCPkgMenuView.cc  2013-07-18 
12:53:15.000000000 +0200
+++ new/libyui-ncurses-pkg-2.44.3/src/NCPkgMenuView.cc  2013-07-25 
14:39:05.000000000 +0200
@@ -136,8 +136,8 @@
     }
     else if ( event.selection == patchPkgVersions )
     {
-       pkg->showPatchPkgVersions();
-       pkgList->setVisibleInfo (NCPkgTable::I_PatchPkgsVersions);
+        pkg->showPatchPkgVersions(); // opens a popup
+       pkgList->setVisibleInfo (NCPkgTable::I_PatchPkgs); // info remains 
patch pkgs
     }
     else
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-pkg-2.44.2/src/NCPkgPopupTable.cc 
new/libyui-ncurses-pkg-2.44.3/src/NCPkgPopupTable.cc
--- old/libyui-ncurses-pkg-2.44.2/src/NCPkgPopupTable.cc        2013-07-18 
12:53:15.000000000 +0200
+++ new/libyui-ncurses-pkg-2.44.3/src/NCPkgPopupTable.cc        2013-07-25 
14:39:05.000000000 +0200
@@ -52,7 +52,6 @@
 #include "NCPushButton.h"
 #include "NCPkgTable.h"
 
-#include "NCZypp.h"
 #include "NCi18n.h"
 
 #include <zypp/ui/Selectable.h>
@@ -223,6 +222,20 @@
     }
 }
 
+bool NCPkgPopupTable::fillAvailables( NCPkgTable * pkgTable, ZyppSel sel )
+{
+  if ( !pkgTable )
+    return false;
+
+  pkgTable->itemsCleared();            // clear the table
+  pkgTable->fillAvailableList( sel );
+
+  pkgTable->drawList();
+
+  return true;
+}
+
+
 ///////////////////////////////////////////////////////////////////
 //
 //
@@ -239,6 +252,26 @@
     {
        postevent = NCursesEvent::button;
        return postevent;
+    }
+
+    do {
+       // show the popup
+       popupDialog( );
+    } while ( postAgain() );
+
+    popdownDialog();
+
+    return postevent;
+}
+
+NCursesEvent NCPkgPopupTable::showAvailablesPopup( ZyppSel sel )
+{
+    postevent = NCursesEvent();
+
+    if ( !fillAvailables( pkgTable, sel ) )
+    {
+       postevent = NCursesEvent::button;
+       return postevent;
     }
 
     do {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-pkg-2.44.2/src/NCPkgPopupTable.h 
new/libyui-ncurses-pkg-2.44.3/src/NCPkgPopupTable.h
--- old/libyui-ncurses-pkg-2.44.2/src/NCPkgPopupTable.h 2013-07-18 
12:53:15.000000000 +0200
+++ new/libyui-ncurses-pkg-2.44.3/src/NCPkgPopupTable.h 2013-07-25 
14:39:05.000000000 +0200
@@ -48,6 +48,7 @@
 #include <algorithm>
 
 #include "NCPopup.h"
+#include "NCZypp.h"
 
 class NCPkgTable;
 class NCPushButton;
@@ -89,9 +90,12 @@
     
     bool fillAutoChanges( NCPkgTable * pkgTable );
 
+    bool fillAvailables( NCPkgTable * pkgTable, ZyppSel sel );
+
     void createLayout( );
 
     NCursesEvent showInfoPopup( );
+    NCursesEvent showAvailablesPopup( ZyppSel sel );
 
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-pkg-2.44.2/src/NCPkgTable.cc 
new/libyui-ncurses-pkg-2.44.3/src/NCPkgTable.cc
--- old/libyui-ncurses-pkg-2.44.2/src/NCPkgTable.cc     2013-07-18 
12:53:15.000000000 +0200
+++ new/libyui-ncurses-pkg-2.44.3/src/NCPkgTable.cc     2013-07-25 
14:39:05.000000000 +0200
@@ -764,6 +764,7 @@
     ZyppObj objPtr = getDataPointer( getCurrentItem() );
     ZyppSel slbPtr = getSelPointer( getCurrentItem() );
 
+    yuiMilestone() << "*** show info for " << slbPtr->name() << "***" << endl;
     if ( !packager )
        return false;
 
@@ -781,7 +782,10 @@
        case T_Patches:
            // show the patch info
            if (objPtr && slbPtr )
+            {
+              yuiMilestone() << "updateinfo" << endl;
                updateInfo( objPtr, slbPtr, VisibleInfo() );
+            }
            break;
        default:
            break;
@@ -1240,11 +1244,10 @@
            break;
        case I_PatchPkgs:
            if ( packager->PatchPkgs() )
+            {
+              yuiMilestone() << "fillPatchPackages" << endl;
                packager->fillPatchPackages( packager->PatchPkgs(), pkgPtr );
-           break;
-       case I_PatchPkgsVersions:
-           if ( packager->PatchPkgsVersions() )
-               packager->fillPatchPackages( packager->PatchPkgsVersions(), 
pkgPtr, true );
+            }
            break;
        // Intentionally omitting 'default' branch so the compiler can
        // catch unhandled enum states
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-ncurses-pkg-2.44.2/src/NCPkgTable.h 
new/libyui-ncurses-pkg-2.44.3/src/NCPkgTable.h
--- old/libyui-ncurses-pkg-2.44.2/src/NCPkgTable.h      2013-07-18 
12:53:15.000000000 +0200
+++ new/libyui-ncurses-pkg-2.44.3/src/NCPkgTable.h      2013-07-25 
14:39:05.000000000 +0200
@@ -209,8 +209,7 @@
        I_Files,
        I_Deps,
        I_PatchDescr,
-       I_PatchPkgs,
-       I_PatchPkgsVersions
+       I_PatchPkgs
     };
     
 private:

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to