Hello community,
here is the log from the commit of package yast2-qt
checked in at Thu Oct 26 20:37:22 CEST 2006.
--------
--- yast2-qt/yast2-qt.changes 2006-10-13 13:13:44.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-qt/yast2-qt.changes 2006-10-26 18:55:45.000000000 +0200
@@ -1,0 +2,21 @@
+Thu Oct 26 17:26:25 CEST 2006 - sh@suse.de
+
+- Fixed bug #183735 - YOU should display only relevant patches by
+ default
+- V 2.13.69
+
+-------------------------------------------------------------------
+Wed Oct 25 17:35:07 CEST 2006 - sh@suse.de
+
+- Implemented feature #300756: Added support for resolver test
+ case generation (PackageSelector -> "Extras" menu)
+- V 2.13.68
+
+-------------------------------------------------------------------
+Tue Oct 24 18:29:08 CEST 2006 - sh@suse.de
+
+- Implemented feature #120142: View installed products
+- Implemented feature #301229: Fold hidden patterns into parents
+- V 2.13.67
+
+-------------------------------------------------------------------
Old:
----
yast2-qt-2.13.66.tar.bz2
New:
----
yast2-qt-2.13.69.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-qt.spec ++++++
--- /var/tmp/diff_new_pack.3b817O/_old 2006-10-26 20:36:49.000000000 +0200
+++ /var/tmp/diff_new_pack.3b817O/_new 2006-10-26 20:36:49.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-qt (Version 2.13.66)
+# spec file for package yast2-qt (Version 2.13.69)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
# norootforbuild
Name: yast2-qt
-Version: 2.13.66
-Release: 2
-License: GPL
+Version: 2.13.69
+Release: 1
+License: GNU General Public License (GPL) - all versions
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-qt-2.13.66.tar.bz2
+Source0: yast2-qt-2.13.69.tar.bz2
prefix: /usr
BuildRequires: boost-devel curl-devel dbus-1-devel docbook-xsl-stylesheets doxygen hal-devel libdrm-devel libjpeg-devel libxcrypt-devel libxslt libzypp-devel perl-XML-Writer qt3-devel rpm-devel sgml-skel update-desktop-files yast2-core-devel yast2-devtools
Summary: YaST2 - Graphical User Interface
@@ -42,7 +42,7 @@
Stefan Hundhammer
%prep
-%setup -n yast2-qt-2.13.66
+%setup -n yast2-qt-2.13.69
%build
%{prefix}/bin/y2tool y2autoconf
@@ -85,6 +85,18 @@
%doc %{prefix}/share/doc/packages/yast2-qt
%changelog -n yast2-qt
+* Thu Oct 26 2006 - sh@suse.de
+- Fixed bug #183735 - YOU should display only relevant patches by
+ default
+- V 2.13.69
+* Wed Oct 25 2006 - sh@suse.de
+- Implemented feature #300756: Added support for resolver test
+ case generation (PackageSelector -> "Extras" menu)
+- V 2.13.68
+* Tue Oct 24 2006 - sh@suse.de
+- Implemented feature #120142: View installed products
+- Implemented feature #301229: Fold hidden patterns into parents
+- V 2.13.67
* Thu Oct 12 2006 - sh@suse.de
- Implemented feature #301222: Easy access to updating all packages
- V 2.13.66
@@ -366,9 +378,9 @@
* Thu Nov 17 2005 - sh@suse.de
- V 2.13.2
- Added secondary filter views to installation sources filter view:
-- All Packages
-- RPM groups
-- Search
+ - All Packages
+ - RPM groups
+ - Search
* Wed Nov 16 2005 - sh@suse.de
- V 2.13.2
- New filter view in package selector: installation sources
@@ -414,10 +426,10 @@
- V 2.12.4
* Wed Jun 29 2005 - sh@suse.de
- Support for `opt(`boldFont) for some widgets:
-- Label
-- ColoredLabel
-- CheckBox
-- RadioButton
+ - Label
+ - ColoredLabel
+ - CheckBox
+ - RadioButton
* Tue Jun 07 2005 - sh@suse.de
- Reverted wizard button order
(postponed until changes can be done consistently)
@@ -836,10 +848,10 @@
- Support enabling/disabling for container widgets as well
- Show "auto changes" popup in package manager
- YOU mode package manager changes:
-- Show total download size
-- Dropped "Packages" menu (pkgs are read-only there)
-- Added "YOU Patches" menu instead
-- Addes "Show raw patch info" dialog
+ - Show total download size
+ - Dropped "Packages" menu (pkgs are read-only there)
+ - Added "YOU Patches" menu instead
+ - Addes "Show raw patch info" dialog
* Tue Jan 21 2003 - sh@suse.de
- V 2.7.5
- Use textdomain "qt-packages" for all texts to avoid textdomain
@@ -848,26 +860,26 @@
- Fixed busy cursors
* Mon Jan 20 2003 - sh@suse.de
- Package manager enhancements:
-- Enhanced feedback while checking dependencies
-- Changed default to "off" for auto dependency check
-- Save/load ignored dependency conflicts to/from
+ - Enhanced feedback while checking dependencies
+ - Changed default to "off" for auto dependency check
+ - Save/load ignored dependency conflicts to/from
/var/adm/YaST/ignored-conflicts
- Bumped version to 2.7.4
* Tue Jan 14 2003 - sh@suse.de
- Package manager enhancements:
-- Added menu bar
-- Added bubble help for all kinds of lists
-- Rearranged pkg list columns (moved summary left)
-- Re-enabled source RPM handling
-- Added currently installed version to "versions" view
+ - Added menu bar
+ - Added bubble help for all kinds of lists
+ - Rearranged pkg list columns (moved summary left)
+ - Re-enabled source RPM handling
+ - Added currently installed version to "versions" view
(non-editable)
-- Status change actions for "all in current list"
-- Show disk space for all available partitions
-- Added "installation summary" filter view
-- Dependency checking now for selections, too
-- Added symbols help
-- Added special keys help
-- Auto check is now "off" by default
+ - Status change actions for "all in current list"
+ - Show disk space for all available partitions
+ - Added "installation summary" filter view
+ - Dependency checking now for selections, too
+ - Added symbols help
+ - Added special keys help
+ - Auto check is now "off" by default
- Bumped version to 2.7.3
* Tue Dec 03 2002 - arvin@suse.de
- added curl-devel and openssl-devel to neededforbuild
@@ -1127,8 +1139,8 @@
* Thu Apr 19 2001 - sh@suse.de
- V 2.3.9
Fixed bugs in RadioBox behaviour:
-- second click on the same button will no longer deactivate it
-- accept only one active RadioButton on RadioBox creation
+ - second click on the same button will no longer deactivate it
+ - accept only one active RadioButton on RadioBox creation
(all but the last will be deactivated)
* Thu Apr 12 2001 - sh@suse.de
- V 2.3.8
@@ -1179,7 +1191,7 @@
* Thu Jan 11 2001 - sh@suse.de
- V2.2.7
- Hide YQTextEntry label if empty label specified
--> no empty space above TextEntry widgets without label
+ -> no empty space above TextEntry widgets without label
* Tue Dec 19 2000 - ma@suse.de
- V2.2.6
- pass YCPstrings to ui specific widgets
@@ -1189,7 +1201,7 @@
* Fri Dec 08 2000 - sh@suse.de
- More reliable nicesize() and setSize() behaviour for
SelectionBox and TextEntry
--> no more cut-off pixel lines at the bottom
+ -> no more cut-off pixel lines at the bottom
- V2.2.4
* Tue Dec 05 2000 - sh@suse.de
- New widget: MultiLineEdit
++++++ yast2-qt-2.13.66.tar.bz2 -> yast2-qt-2.13.69.tar.bz2 ++++++
++++ 2334 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/VERSION new/yast2-qt-2.13.69/VERSION
--- old/yast2-qt-2.13.66/VERSION 2006-10-12 17:31:48.000000000 +0200
+++ new/yast2-qt-2.13.69/VERSION 2006-10-26 17:26:16.000000000 +0200
@@ -1 +1 @@
-2.13.66
+2.13.69
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/configure.in new/yast2-qt-2.13.69/configure.in
--- old/yast2-qt-2.13.66/configure.in 2006-10-13 13:10:24.000000000 +0200
+++ new/yast2-qt-2.13.69/configure.in 2006-10-26 18:54:28.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.13.27 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-qt, 2.13.66, http://bugs.opensuse.org/, yast2-qt)
+AC_INIT(yast2-qt, 2.13.69, http://bugs.opensuse.org/, yast2-qt)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -17,7 +17,7 @@
AM_INIT_AUTOMAKE(tar-ustar) dnl searches for some needed programs
dnl Important YaST2 variables
-VERSION="2.13.66"
+VERSION="2.13.69"
RPMNAME="yast2-qt"
MAINTAINER="Stefan Hundhammer "
@@ -192,6 +192,7 @@
esac
AC_MSG_RESULT([$Xfontsdir])
AC_SUBST(Xfontsdir)
+PKG_CHECK_MODULES([ZYPP], [libzypp])
AC_CONFIG_FILES(Makefile src/include/icons/Makefile
src/include/Makefile
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/configure.in.in new/yast2-qt-2.13.69/configure.in.in
--- old/yast2-qt-2.13.66/configure.in.in 2006-08-18 15:53:52.000000000 +0200
+++ new/yast2-qt-2.13.69/configure.in.in 2006-10-24 14:45:25.000000000 +0200
@@ -21,6 +21,7 @@
esac
AC_MSG_RESULT([$Xfontsdir])
AC_SUBST(Xfontsdir)
+PKG_CHECK_MODULES([ZYPP], [libzypp])
## and generate the output
@YAST2-OUTPUT@
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/Makefile.am new/yast2-qt-2.13.69/src/Makefile.am
--- old/yast2-qt-2.13.66/src/Makefile.am 2006-08-18 15:53:46.000000000 +0200
+++ new/yast2-qt-2.13.69/src/Makefile.am 2006-10-24 17:35:00.000000000 +0200
@@ -96,6 +96,8 @@
YQPkgPatchFilterView.cc \
YQPkgPatchList.cc \
YQPkgPatternList.cc \
+ YQPkgProductDialog.cc \
+ YQPkgProductList.cc \
YQPkgRpmGroupTagsFilterView.cc \
YQPkgSearchFilterView.cc \
YQPkgSelDescriptionView.cc \
@@ -193,6 +195,9 @@
YQPkgPatchFilterView.moc \
YQPkgPatchList.moc \
YQPkgPatternList.moc \
+ YQPkgProductDialog.moc \
+ YQPkgProductDialog.moc \
+ YQPkgProductList.moc \
YQPkgRpmGroupTagsFilterView.moc \
YQPkgSearchFilterView.moc \
YQPkgSelDescriptionView.moc \
@@ -276,6 +281,8 @@
YQPkgPatchFilterView.o YQPkgPatchFilterView.lo: YQPkgPatchFilterView.moc
YQPkgPatchList.o YQPkgPatchList.lo: YQPkgPatchList.moc
YQPkgPatternList.o YQPkgPatternList.lo: YQPkgPatternList.moc
+YQPkgProductDialog.o YQPkgProductDialog.lo: YQPkgProductDialog.moc
+YQPkgProductList.o YQPkgProductList.lo: YQPkgProductList.moc
YQPkgRpmGroupTagsFilterView.o YQPkgRpmGroupTagsFilterView.lo: YQPkgRpmGroupTagsFilterView.moc
YQPkgSearchFilterView.o YQPkgSearchFilterView.lo: YQPkgSearchFilterView.moc
YQPkgSelDescriptionView.o YQPkgSelDescriptionView.lo: YQPkgSelDescriptionView.moc
@@ -357,6 +364,8 @@
YQPkgPatchFilterView.moc: include/YQPkgPatchFilterView.h
YQPkgPatchList.moc: include/YQPkgPatchList.h
YQPkgPatternList.moc: include/YQPkgPatternList.h
+YQPkgProductDialog.moc: include/YQPkgProductDialog.h
+YQPkgProductList.moc: include/YQPkgProductList.h
YQPkgRpmGroupTagsFilterView.moc: include/YQPkgRpmGroupTagsFilterView.h
YQPkgSearchFilterView.moc: include/YQPkgSearchFilterView.h
YQPkgSelDescriptionView.moc: include/YQPkgSelDescriptionView.h
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/YQIconPool.cc new/yast2-qt-2.13.69/src/YQIconPool.cc
--- old/yast2-qt-2.13.66/src/YQIconPool.cc 2006-09-22 16:51:14.000000000 +0200
+++ new/yast2-qt-2.13.69/src/YQIconPool.cc 2006-10-26 13:07:20.000000000 +0200
@@ -50,6 +50,7 @@
#include "icons/update_disabled.xpm"
#include "icons/tree_plus.xpm"
#include "icons/tree_minus.xpm"
+#include "icons/warning_sign.xpm"
#include "icons/normal_conflict.xpm"
#include "icons/select_conflict.xpm"
@@ -104,6 +105,8 @@
QPixmap YQIconPool::treePlus() { return iconPool()->cachedIcon( tree_plus_xpm ); }
QPixmap YQIconPool::treeMinus() { return iconPool()->cachedIcon( tree_minus_xpm ); }
+QPixmap YQIconPool::warningSign() { return iconPool()->cachedIcon( warning_sign_xpm ); }
+
YQIconPool * YQIconPool::iconPool()
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/YQPackageSelector.cc new/yast2-qt-2.13.69/src/YQPackageSelector.cc
--- old/yast2-qt-2.13.66/src/YQPackageSelector.cc 2006-10-12 16:59:12.000000000 +0200
+++ new/yast2-qt-2.13.69/src/YQPackageSelector.cc 2006-10-25 17:05:14.000000000 +0200
@@ -64,6 +64,7 @@
#include "YQPkgPatchFilterView.h"
#include "YQPkgPatchList.h"
#include "YQPkgPatternList.h"
+#include "YQPkgProductDialog.h"
#include "YQPkgRpmGroupTagsFilterView.h"
#include "YQPkgSearchFilterView.h"
#include "YQPkgSelList.h"
@@ -700,22 +701,33 @@
CHECK_PTR( _extrasMenu );
_menuBar->insertItem( _( "&Extras" ), _extrasMenu );
+ _extrasMenu->insertItem( _( "Show &Products" ), this, SLOT( showProducts() ) );
+
_extrasMenu->insertItem( _( "Show &Automatic Package Changes" ), this, SLOT( showAutoPkgList() ), CTRL + Key_A );
+ _extrasMenu->insertSeparator();
+
+ // Translators: This is about packages ending in "-devel", so don't translate that "-devel"!
+ _extrasMenu->insertItem( _( "Install All Matching -&devel Packages" ), this, SLOT( installDevelPkgs() ) );
+
+ // Translators: This is about packages ending in "-debuginfo", so don't translate that "-debuginfo"!
+ _extrasMenu->insertItem( _( "Install All Matching -de&buginfo Packages" ), this, SLOT( installDebugInfoPkgs() ) );
+
+ _extrasMenu->insertSeparator();
+
+ if ( _pkgConflictDialog )
+ _extrasMenu->insertItem( _( "Generate Dependency Resolver &Test Case" ),
+ _pkgConflictDialog, SLOT( askCreateSolverTestCase() ) );
+
if ( _actionResetIgnoredDependencyProblems )
_actionResetIgnoredDependencyProblems->addTo( _extrasMenu );
+
#ifdef FIXME
if ( _patchList )
_patchList->actionShowRawPatchInfo->addTo( _extrasMenu );
#endif
- // Translators: This is about packages ending in "-devel", so don't translate that "-devel"!
- _extrasMenu->insertItem( _( "Install All Matching -&devel Packages" ), this, SLOT( installDevelPkgs() ) );
-
- // Translators: This is about packages ending in "-debuginfo", so don't translate that "-debuginfo"!
- _extrasMenu->insertItem( _( "Install All Matching -de&buginfo Packages" ), this, SLOT( installDebugInfoPkgs() ) );
-
//
// Help menu
@@ -1157,6 +1169,12 @@
void
+YQPackageSelector::showProducts()
+{
+ YQPkgProductDialog::showProductDialog();
+}
+
+void
YQPackageSelector::installDevelPkgs()
{
installSubPkgs( "-devel" );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/YQPkgConflictDialog.cc new/yast2-qt-2.13.69/src/YQPkgConflictDialog.cc
--- old/yast2-qt-2.13.66/src/YQPkgConflictDialog.cc 2006-08-18 15:53:46.000000000 +0200
+++ new/yast2-qt-2.13.69/src/YQPkgConflictDialog.cc 2006-10-26 13:52:39.000000000 +0200
@@ -32,6 +32,7 @@
#include
#include
#include
+#include
#include "YQPkgConflictDialog.h"
#include "YQPkgConflictList.h"
@@ -321,6 +322,58 @@
}
+void
+YQPkgConflictDialog::askCreateSolverTestCase()
+{
+ QString testCaseDir = "/var/log/YaST2/solverTestcase";
+ // Heading for popup dialog
+ QString heading = QString( "<h2>%1</h2>" ).arg( _( "Create Dependency Resolver Test Case" ) );
+
+ QString msg =
+ _( "<p>Use this to generate extensive logs to help tracking down bugs in the dependency resolver."
+ "The logs will be stored in directory <br><tt>%1</tt></p>" ).arg( testCaseDir );
+
+ int button_no = QMessageBox::information( 0, // parent
+ _( "Solver Test Case" ), // caption
+ heading + msg,
+ _( "C&ontinue" ), // button #0
+ _( "&Cancel" ) ); // button #1
+
+ if ( button_no == 1 ) // Cancel
+ return;
+
+ y2milestone( "Generating solver test case START" );
+ bool success = zypp::getZYpp()->resolver()->createSolverTestcase( testCaseDir.ascii() );
+ y2milestone( "Generating solver test case END" );
+
+ if ( success )
+ {
+ msg =
+ _( "<p>Dependency resolver test case written to <br><tt>%1</tt></p>"
+ "<p>Prepare <tt>y2logs.tgz tar</tt> archive to attach to Bugzilla?</p>" ).arg( testCaseDir ),
+ button_no = QMessageBox::question( 0, // parent
+ _( "Success" ), // caption
+ msg,
+ QMessageBox::Yes | QMessageBox::Default,
+ QMessageBox::No,
+ QMessageBox::Cancel | QMessageBox::Escape );
+
+ if ( button_no & QMessageBox::Yes ) // really binary (not logical) '&' - QMessageBox::Default is still in there
+ YQUI::ui()->askSaveLogs();
+ }
+ else // no success
+ {
+ QMessageBox::warning( 0, // parent
+ _( "Error" ), // caption
+ _( "<p><b>Error</b> creating dependency resolver test case</p>"
+ "<p>Please check disk space and permissions for <tt>%1</tt></p>" ).arg( testCaseDir ),
+ QMessageBox::Ok | QMessageBox::Default,
+ QMessageBox::NoButton,
+ QMessageBox::NoButton );
+ }
+}
+
+
#include "YQPkgConflictDialog.moc"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/YQPkgDescriptionView.cc new/yast2-qt-2.13.69/src/YQPkgDescriptionView.cc
--- old/yast2-qt-2.13.66/src/YQPkgDescriptionView.cc 2006-08-18 15:53:46.000000000 +0200
+++ new/yast2-qt-2.13.69/src/YQPkgDescriptionView.cc 2006-10-25 17:03:32.000000000 +0200
@@ -59,8 +59,6 @@
if ( ! description.contains( "<!-- DT:Rich -->" ) )
description = simpleHtmlParagraphs( description );
- else
- y2debug( "Description for %s is preformatted in DT:Rich", selectable->theObj()->name().c_str() );
html_text += description;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/YQPkgPatchFilterView.cc new/yast2-qt-2.13.69/src/YQPkgPatchFilterView.cc
--- old/yast2-qt-2.13.66/src/YQPkgPatchFilterView.cc 2006-09-22 11:29:34.000000000 +0200
+++ new/yast2-qt-2.13.69/src/YQPkgPatchFilterView.cc 2006-10-26 15:52:14.000000000 +0200
@@ -61,24 +61,20 @@
QHBox * hbox = new QHBox( vbox ); CHECK_PTR( hbox );
hbox->setSpacing( SPACING );
-#ifdef FIXME
QLabel * label = new QLabel( _( "&Show Patch Category:" ), hbox );
- _patchCategory = new QComboBox( hbox );
- CHECK_PTR( _patchCategory );
+ _patchFilter = new QComboBox( hbox );
+ CHECK_PTR( _patchFilter );
- _patchCategory->insertItem( _( "Installable Patches" ), 0 );
- _patchCategory->insertItem( _( "Installable and Installed Patches" ), 1 );
- _patchCategory->insertItem( _( "All Patches" ), 2 );
- _patchCategory->setCurrentItem( 0 );
- _patchCategory->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) ); // hor/vert
- label->setBuddy( _patchCategory );
+ _patchFilter->insertItem( _( "Installable Patches" ), 0 );
+ _patchFilter->insertItem( _( "Installable and Installed Patches" ), 1 );
+ _patchFilter->insertItem( _( "All Patches" ), 2 );
+ _patchFilter->setCurrentItem( 0 );
+ _patchFilter->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) ); // hor/vert
+ label->setBuddy( _patchFilter );
- connect( _patchCategory, SIGNAL( activated( int ) ), this, SLOT( fillPatchList() ) );
+ connect( _patchFilter, SIGNAL( activated( int ) ), this, SLOT( fillPatchList() ) );
addVSpacing( vbox, 4 );
-#else
- _patchCategory = 0;
-#endif
vbox = new QVBox( _splitter ); CHECK_PTR( vbox );
addVSpacing( vbox, 8 );
@@ -150,10 +146,9 @@
{
ZyppPkg pkg = tryCastToZyppPkg( *contents_it );
ZyppSel sel;
-
+
if ( pkg )
sel = _selMapper.findZyppSel( pkg );
-
if ( sel )
{
@@ -200,7 +195,7 @@
}
_totalDownloadSize->setText( totalSize.asString().c_str() );
-
+
y2debug( "Calculated total download size in %d millisec", calcTime.elapsed() );
}
@@ -208,19 +203,14 @@
void
YQPkgPatchFilterView::fillPatchList()
{
-#ifdef FIXME
- YQPkgPatchList::PatchCategory category;
-
- switch ( _patchCategory->currentItem() )
+ switch ( _patchFilter->currentItem() )
{
- case 0: category = YQPkgPatchList::InstallablePatches; break;
- case 1: category = YQPkgPatchList::InstallableAndInstalledPatches; break;
- case 2: category = YQPkgPatchList::AllPatches; break;
- default: category = YQPkgPatchList::InstallablePatches; break;
+ case 0: _patchList->setFilterCriteria( YQPkgPatchList::RelevantPatches ); break;
+ case 1: _patchList->setFilterCriteria( YQPkgPatchList::RelevantAndInstalledPatches ); break;
+ case 2: _patchList->setFilterCriteria( YQPkgPatchList::AllPatches ); break;
+ default: _patchList->setFilterCriteria( YQPkgPatchList::RelevantPatches ); break;
}
- _patchList->setPatchCategory( category );
-#endif
_patchList->fillList();
_patchList->selectSomething();
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/YQPkgPatchList.cc new/yast2-qt-2.13.69/src/YQPkgPatchList.cc
--- old/yast2-qt-2.13.66/src/YQPkgPatchList.cc 2006-10-10 12:02:35.000000000 +0200
+++ new/yast2-qt-2.13.69/src/YQPkgPatchList.cc 2006-10-26 18:53:16.000000000 +0200
@@ -34,6 +34,9 @@
#include "YQPkgTextDialog.h"
+#define VERBOSE_PATCH_LIST 1
+
+
typedef zypp::ui::PatchContents ZyppPatchContents;
typedef zypp::ui::PatchContents::const_iterator ZyppPatchContentsIterator;
@@ -46,6 +49,8 @@
{
y2debug( "Creating patch list" );
+ _filterCriteria = RelevantPatches;
+
int numCol = 0;
addColumn( "" ); _statusCol = numCol++;
addColumn( _( "Patch" ) ); _summaryCol = numCol++;
@@ -72,6 +77,13 @@
void
+YQPkgPatchList::setFilterCriteria( FilterCriteria filterCriteria )
+{
+ _filterCriteria = filterCriteria;
+}
+
+
+void
YQPkgPatchList::fillList()
{
clear();
@@ -81,16 +93,81 @@
it != zyppPatchesEnd();
++it )
{
- ZyppPatch zyppPatch = tryCastToZyppPatch( (*it)->theObj() );
+ ZyppSel selectable = *it;
+ ZyppPatch zyppPatch = tryCastToZyppPatch( selectable->theObj() );
if ( zyppPatch )
{
-#ifdef FIXME
- // filter for unneeded patches and patches that are already installed
-#else
- // y2debug( "Found patch %s", zyppPatch->name().c_str() );
- addPatchItem( *it, zyppPatch);
+ bool displayPatch = false;
+
+ switch ( _filterCriteria )
+ {
+ case RelevantPatches: // needed + broken
+
+ if ( selectable->hasInstalledObj() ) // installed?
+ {
+ // display only if broken
+
+ if ( selectable->installedPoolItem().status().isIncomplete() )
+ {
+ displayPatch = true;
+
+ y2warning( "Installed patch is broken: %s - %s",
+ zyppPatch->name().c_str(),
+ zyppPatch->summary().c_str() );
+ }
+ }
+ else // not installed - display only if needed
+ {
+ if ( selectable->candidatePoolItem().status().isNeeded() )
+ {
+ displayPatch = true;
+ }
+ else
+ {
+ y2milestone( "Patch not needed: %s - %s",
+ zyppPatch->name().c_str(),
+ zyppPatch->summary().c_str() );
+ }
+ }
+ break;
+
+ case RelevantAndInstalledPatches: // needed + broken + installed
+
+ if ( selectable->hasInstalledObj() ) // installed?
+ {
+ displayPatch = true;
+ }
+ else // not installed - display only if needed
+ {
+ if ( selectable->candidatePoolItem().status().isNeeded() )
+ {
+ displayPatch = true;
+ }
+ else
+ {
+ y2milestone( "Patch not needed: %s - %s",
+ zyppPatch->name().c_str(),
+ zyppPatch->summary().c_str() );
+ }
+ }
+ break;
+
+ case AllPatches:
+ displayPatch = true;
+ break;
+
+ // Intentionally omitting "default" so the compiler
+ // can catch unhandled enum values
+ }
+
+ if ( displayPatch )
+ {
+#if VERBOSE_PATCH_LIST
+ y2debug( "Displaying patch %s - %s", zyppPatch->name().c_str(), zyppPatch->summary().c_str() );
#endif
+ addPatchItem( *it, zyppPatch);
+ }
}
else
{
@@ -250,7 +327,7 @@
#if ENABLE_DELETING_PATCHES
actionSetCurrentDelete->addTo( _installedContextMenu );
#endif
-
+
actionSetCurrentUpdate->addTo( _installedContextMenu );
actionSetCurrentProtected->addTo( _installedContextMenu );
@@ -267,11 +344,11 @@
actionSetListInstall->addTo( submenu );
actionSetListDontInstall->addTo( submenu );
actionSetListKeepInstalled->addTo( submenu );
-
+
#if ENABLE_DELETING_PATCHES
actionSetListDelete->addTo( submenu );
#endif
-
+
actionSetListUpdate->addTo( submenu );
actionSetListUpdateForce->addTo( submenu );
actionSetListTaboo->addTo( submenu );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/YQPkgPatternList.cc new/yast2-qt-2.13.69/src/YQPkgPatternList.cc
--- old/yast2-qt-2.13.66/src/YQPkgPatternList.cc 2006-09-22 17:16:52.000000000 +0200
+++ new/yast2-qt-2.13.69/src/YQPkgPatternList.cc 2006-10-26 18:53:16.000000000 +0200
@@ -26,6 +26,7 @@
#include
#include
#include
+#include
#include "YQi18n.h"
#include "utf8.h"
@@ -56,7 +57,7 @@
header()->setStretchEnabled( _statusCol , false );
header()->setStretchEnabled( _summaryCol, true );
-
+
setAllColumnsShowFocus( true );
setTreeStepSize( 0 );
@@ -155,7 +156,8 @@
if ( zyppPattern )
{
- set<string> wanted = zyppPattern->install_packages();
+ zypp::ui::PatternContents patternContents( zyppPattern );
+ set<string> wanted = patternContents.install_packages();
for ( ZyppPoolIterator it = zyppPkgBegin();
it != zyppPkgEnd();
@@ -253,7 +255,7 @@
setSelected( item, true ); // emits signal, too
return;
}
-
+
++it;
}
}
@@ -403,7 +405,7 @@
isOpen() ?
YQIconPool::treeMinus() :
YQIconPool::treePlus() );
-
+
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/YQPkgProductDialog.cc new/yast2-qt-2.13.69/src/YQPkgProductDialog.cc
--- old/yast2-qt-2.13.66/src/YQPkgProductDialog.cc 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-qt-2.13.69/src/YQPkgProductDialog.cc 2006-10-24 18:24:48.000000000 +0200
@@ -0,0 +1,155 @@
+/*---------------------------------------------------------------------\
+| |
+| __ __ ____ _____ ____ |
+| \ \ / /_ _/ ___|_ _|___ \ |
+| \ V / _` \___ \ | | __) | |
+| | | (_| |___) || | / __/ |
+| |_|\__,_|____/ |_| |_____| |
+| |
+| core system |
+| (C) SuSE GmbH |
+\----------------------------------------------------------------------/
+
+ File: YQPkgProductDialog.cc
+
+ Author: Stefan Hundhammer
+
+ Textdomain "packages-qt"
+
+/-*/
+
+
+#define y2log_component "qt-pkg"
+#include
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "YQPkgProductDialog.h"
+#include "YQPkgProductList.h"
+#include "YQPkgDependenciesView.h"
+#include "QY2LayoutUtils.h"
+#include "YQi18n.h"
+#include "YQUI.h"
+
+
+#define SPACING 2 // between subwidgets
+#define MARGIN 4 // around the widget
+
+
+YQPkgProductDialog::YQPkgProductDialog( QWidget * parent )
+ : QDialog( parent )
+{
+ // Dialog title
+ setCaption( _( "Products" ) );
+
+ // Enable dialog resizing even without window manager
+ setSizeGripEnabled( true );
+
+ // Layout for the dialog (can't simply insert a QVBox)
+
+ QVBoxLayout * layout = new QVBoxLayout( this, MARGIN, SPACING );
+ CHECK_PTR( layout );
+
+
+ // VBox for splitter
+
+ QSplitter * splitter = new QSplitter( QSplitter::Vertical, this );
+ CHECK_PTR( splitter );
+ layout->addWidget( splitter );
+ splitter->setMargin( MARGIN );
+
+
+ // Product list
+
+ _productList = new YQPkgProductList( splitter );
+ CHECK_PTR( _productList );
+ _productList->resize( _productList->width(), 80 );
+
+ // Prevent status changes for now - this would require solver runs etc.
+ _productList->setEditable( false );
+
+
+ // Tab widget for details views (looks better even just with one)
+
+ _detailsViews = new QTabWidget( splitter );
+ CHECK_PTR( _detailsViews );
+ _detailsViews->setMargin( MARGIN );
+ _detailsViews->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) ); // hor/vert
+
+ // Dependencies view
+
+ _dependenciesView = new YQPkgDependenciesView( _detailsViews );
+ CHECK_PTR( _dependenciesView );
+ _detailsViews->addTab( _dependenciesView, _( "Dependencies" ) );
+ _dependenciesView->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) ); // hor/vert
+
+ connect( _productList, SIGNAL( selectionChanged ( ZyppSel ) ),
+ _dependenciesView, SLOT ( showDetailsIfVisible( ZyppSel ) ) );
+
+
+ // Button box (to center the single button)
+
+ QHBox * hbox = new QHBox( this );
+ CHECK_PTR( hbox );
+ hbox->setSpacing( SPACING );
+ hbox->setMargin ( MARGIN );
+ layout->addWidget( hbox );
+
+ addHStretch( hbox );
+
+
+ // "OK" button
+
+ QPushButton * button = new QPushButton( _( "&OK" ), hbox );
+ CHECK_PTR( button );
+ button->setDefault( true );
+
+ connect( button, SIGNAL( clicked() ),
+ this, SLOT ( accept() ) );
+
+ addHStretch( hbox );
+}
+
+
+void
+YQPkgProductDialog::polish()
+{
+ // Delayed initialization after widget is fully created etc.
+
+ // Only now send selectionChanged() signal so the details views display something
+ // (showDetailsIfVisible() shows only something if the widget is visible,
+ // as the method name implies)
+ _productList->selectSomething();
+}
+
+
+QSize
+YQPkgProductDialog::sizeHint() const
+{
+ QRect available = qApp->desktop()->availableGeometry( (QWidget *) this );
+ QSize size = QDialog::sizeHint();
+ size = size.boundedTo( QSize( available.width(), available.height() ) );
+
+ return size;
+}
+
+
+void
+YQPkgProductDialog::showProductDialog()
+{
+ YQPkgProductDialog dialog( 0 );
+ dialog.exec();
+}
+
+
+
+
+#include "YQPkgProductDialog.moc"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/YQPkgProductList.cc new/yast2-qt-2.13.69/src/YQPkgProductList.cc
--- old/yast2-qt-2.13.66/src/YQPkgProductList.cc 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-qt-2.13.69/src/YQPkgProductList.cc 2006-10-23 15:47:31.000000000 +0200
@@ -0,0 +1,144 @@
+/*---------------------------------------------------------------------\
+| |
+| __ __ ____ _____ ____ |
+| \ \ / /_ _/ ___|_ _|___ \ |
+| \ V / _` \___ \ | | __) | |
+| | | (_| |___) || | / __/ |
+| |_|\__,_|____/ |_| |_____| |
+| |
+| core system |
+| (C) SuSE GmbH |
+\----------------------------------------------------------------------/
+
+ File: YQPkgProductList.cc
+
+ Author: Stefan Hundhammer
+
+ Textdomain "packages-qt"
+
+/-*/
+
+
+#define y2log_component "qt-pkg"
+#include
+
+#include "YQi18n.h"
+#include "utf8.h"
+
+#include "YQPkgProductList.h"
+
+using std::list;
+using std::set;
+
+
+YQPkgProductList::YQPkgProductList( QWidget * parent )
+ : YQPkgObjList( parent )
+ , _vendorCol( -42 )
+{
+ y2debug( "Creating product list" );
+
+ int numCol = 0;
+ addColumn( "" ); _statusCol = numCol++;
+ addColumn( _( "Product" ) ); _nameCol = numCol++;
+ addColumn( _( "Summary" ) ); _summaryCol = numCol++;
+ addColumn( _( "Version" ) ); _versionCol = numCol++;
+ addColumn( _( "Vendor" ) ); _vendorCol = numCol++;
+ setAllColumnsShowFocus( true );
+ setColumnAlignment( sizeCol(), Qt::AlignRight );
+
+ setSorting( nameCol() );
+ fillList();
+ selectSomething();
+
+ y2debug( "Creating product list done" );
+}
+
+
+YQPkgProductList::~YQPkgProductList()
+{
+ // NOP
+}
+
+
+void
+YQPkgProductList::fillList()
+{
+ clear();
+ y2debug( "Filling product list" );
+
+ for ( ZyppPoolIterator it = zyppProductsBegin();
+ it != zyppProductsEnd();
+ ++it )
+ {
+ ZyppProduct zyppProduct = tryCastToZyppProduct( (*it)->theObj() );
+
+ if ( zyppProduct )
+ {
+ addProductItem( *it, zyppProduct );
+ }
+ else
+ {
+ y2error( "Found non-product selectable" );
+ }
+ }
+
+ y2debug( "product list filled" );
+}
+
+
+void
+YQPkgProductList::addProductItem( ZyppSel selectable,
+ ZyppProduct zyppProduct )
+{
+ if ( ! selectable )
+ {
+ y2error( "NULL ZyppSel!" );
+ return;
+ }
+
+ new YQPkgProductListItem( this, selectable, zyppProduct );
+}
+
+
+
+
+
+
+YQPkgProductListItem::YQPkgProductListItem( YQPkgProductList * productList,
+ ZyppSel selectable,
+ ZyppProduct zyppProduct )
+ : YQPkgObjListItem( productList, selectable, zyppProduct )
+ , _productList( productList )
+ , _zyppProduct( zyppProduct )
+{
+ if ( ! _zyppProduct )
+ _zyppProduct = tryCastToZyppProduct( selectable->theObj() );
+
+ if ( ! _zyppProduct )
+ return;
+
+ setStatusIcon();
+
+ if ( vendorCol() > -1 )
+ setText( vendorCol(), zyppProduct->vendor() );
+
+}
+
+
+YQPkgProductListItem::~YQPkgProductListItem()
+{
+ // NOP
+}
+
+
+
+
+void
+YQPkgProductListItem::applyChanges()
+{
+ solveResolvableCollections();
+}
+
+
+
+#include "YQPkgProductList.moc"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/include/YQIconPool.h new/yast2-qt-2.13.69/src/include/YQIconPool.h
--- old/yast2-qt-2.13.66/src/include/YQIconPool.h 2006-09-22 16:52:05.000000000 +0200
+++ new/yast2-qt-2.13.69/src/include/YQIconPool.h 2006-10-26 13:07:36.000000000 +0200
@@ -69,6 +69,8 @@
static QPixmap treePlus();
static QPixmap treeMinus();
+
+ static QPixmap warningSign();
protected:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/include/YQPackageSelector.h new/yast2-qt-2.13.69/src/include/YQPackageSelector.h
--- old/yast2-qt-2.13.66/src/include/YQPackageSelector.h 2006-10-12 17:29:46.000000000 +0200
+++ new/yast2-qt-2.13.69/src/include/YQPackageSelector.h 2006-10-23 15:06:59.000000000 +0200
@@ -185,6 +185,11 @@
*/
void globalUpdatePkgForce() { globalUpdatePkg( true ); }
+ /**
+ * Show all products in a popup dialog.
+ **/
+ void showProducts();
+
protected:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/include/YQPkgConflictDialog.h new/yast2-qt-2.13.69/src/include/YQPkgConflictDialog.h
--- old/yast2-qt-2.13.66/src/include/YQPkgConflictDialog.h 2006-08-18 15:53:44.000000000 +0200
+++ new/yast2-qt-2.13.69/src/include/YQPkgConflictDialog.h 2006-10-25 16:56:08.000000000 +0200
@@ -60,7 +60,7 @@
/**
* Returns the average time in seconds used for solving or 0 if solving
- * hasn't taken place yet.
+ * hasn't taken place yet.
**/
double averageSolveTime() const;
@@ -68,10 +68,10 @@
* Returns the total amount of time in seconds used for solving.
**/
double totalSolveTime() const { return _totalSolveTime; }
-
+
/**
* Returns the times solving has taken place (with this dialog).
- **/
+ **/
int solveCount() const { return _solveCount; }
/**
@@ -79,7 +79,7 @@
**/
static void resetIgnoredDependencyProblems();
-
+
public slots:
/**
@@ -91,6 +91,19 @@
**/
int solveAndShowConflicts();
+ /**
+ * Mini-wizard to generate solver test case:
+ *
+ * - Inform user what this is all about
+ * - Tell user where the files will go
+ * - Generate test case
+ * - Ask user if he would like to pack it all into y2logs.tgz
+ * - Prompt user for path for y2logs.tgz
+ * - Save y2logs.tgz
+ **/
+ void askCreateSolverTestCase();
+
+
signals:
/**
@@ -104,7 +117,7 @@
YQPkgConflictList * _conflictList;
QPopupMenu * _expertMenu;
QLabel * _busyPopup;
-
+
double _totalSolveTime;
int _solveCount;
};
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/include/YQPkgInstSrcList.h new/yast2-qt-2.13.69/src/include/YQPkgInstSrcList.h
--- old/yast2-qt-2.13.66/src/include/YQPkgInstSrcList.h 2006-08-18 15:53:44.000000000 +0200
+++ new/yast2-qt-2.13.69/src/include/YQPkgInstSrcList.h 2006-10-23 14:50:47.000000000 +0200
@@ -31,7 +31,6 @@
class YQPkgInstSrcListItem;
typedef zypp::Source_Ref ZyppSrc;
-typedef zypp::Product::Ptr ZyppProduct;
/**
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/include/YQPkgPatchFilterView.h new/yast2-qt-2.13.69/src/include/YQPkgPatchFilterView.h
--- old/yast2-qt-2.13.66/src/include/YQPkgPatchFilterView.h 2006-08-18 15:53:44.000000000 +0200
+++ new/yast2-qt-2.13.69/src/include/YQPkgPatchFilterView.h 2006-10-26 15:40:25.000000000 +0200
@@ -86,7 +86,7 @@
QSplitter * _splitter;
YQPkgPatchList * _patchList;
- QComboBox * _patchCategory;
+ QComboBox * _patchFilter;
QTabWidget * _detailsViews;
YQPkgDescriptionView * _descriptionView;
QLabel * _totalDownloadSize;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/include/YQPkgPatchList.h new/yast2-qt-2.13.69/src/include/YQPkgPatchList.h
--- old/yast2-qt-2.13.66/src/include/YQPkgPatchList.h 2006-10-04 17:16:30.000000000 +0200
+++ new/yast2-qt-2.13.69/src/include/YQPkgPatchList.h 2006-10-26 17:56:28.000000000 +0200
@@ -45,6 +45,7 @@
};
+
/**
* @short Display a list of zypp::Patch objects.
**/
@@ -64,6 +65,14 @@
**/
virtual ~YQPkgPatchList();
+
+ enum FilterCriteria
+ {
+ RelevantPatches, // needed + broken
+ RelevantAndInstalledPatches, // needed + broken + installed
+ AllPatches // all
+ };
+
public slots:
@@ -82,15 +91,15 @@
void filterIfVisible();
/**
- * Add a selection to the list. Connect a filter's filterMatch() signal to
+ * Add a patch to the list. Connect a filter's filterMatch() signal to
* this slot. Remember to connect filterStart() to clear() (inherited from
* QListView).
**/
- void addPatchItem( ZyppSel selectable,
- ZyppPatch zyppPatch );
+ void addPatchItem( ZyppSel selectable,
+ ZyppPatch zyppPatch );
/**
- * Fill the selection list.
+ * Fill the patch list according to filterCriteria().
**/
void fillList();
@@ -104,6 +113,16 @@
public:
/**
+ * Set the filter criteria for fillList().
+ **/
+ void setFilterCriteria( FilterCriteria filterCriteria );
+
+ /**
+ * Returns the current filter criteria.
+ **/
+ FilterCriteria filterCriteria() const { return _filterCriteria; }
+
+ /**
* Returns the currently selected item or 0 if there is none.
**/
YQPkgPatchListItem * selection() const;
@@ -179,6 +198,7 @@
int _categoryCol;
YQPkgSelMapper _selMapper;
+ FilterCriteria _filterCriteria;
};
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/include/YQPkgProductDialog.h new/yast2-qt-2.13.69/src/include/YQPkgProductDialog.h
--- old/yast2-qt-2.13.66/src/include/YQPkgProductDialog.h 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-qt-2.13.69/src/include/YQPkgProductDialog.h 2006-10-24 18:25:05.000000000 +0200
@@ -0,0 +1,78 @@
+/*---------------------------------------------------------------------\
+| |
+| __ __ ____ _____ ____ |
+| \ \ / /_ _/ ___|_ _|___ \ |
+| \ V / _` \___ \ | | __) | |
+| | | (_| |___) || | / __/ |
+| |_|\__,_|____/ |_| |_____| |
+| |
+| core system |
+| (C) SuSE GmbH |
+\----------------------------------------------------------------------/
+
+ File: YQPkgProductDialog.h
+
+ Author: Stefan Hundhammer
+
+/-*/
+
+// -*- c++ -*-
+
+
+#ifndef YQPkgProductDialog_h
+#define YQPkgProductDialog_h
+
+#include
+
+
+class QTabWidget;
+class YQPkgProductList;
+class YQPkgDependenciesView;
+
+
+/**
+ * Products list with dependencies details view
+ **/
+class YQPkgProductDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+
+ /**
+ * Static convenience method: Post a dialog with all products
+ **/
+ static void showProductDialog();
+
+ /**
+ * Returns the preferred size.
+ *
+ * Reimplemented from QWidget to limit the dialog to the screen dimensions.
+ **/
+ virtual QSize sizeHint () const;
+
+ /**
+ * Delayed initialization after the dialog is fully created
+ *
+ * Reimplemented from QWidget
+ **/
+ virtual void polish();
+
+
+protected:
+
+ /**
+ * Constructor: Creates a description dialog for all packages that match 'pkgName'.
+ **/
+ YQPkgProductDialog( QWidget * parent );
+
+
+ // Data members
+
+ YQPkgProductList * _productList;
+ QTabWidget * _detailsViews;
+ YQPkgDependenciesView * _dependenciesView;
+};
+
+
+#endif // ifndef YQPkgProductDialog_h
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/include/YQPkgProductList.h new/yast2-qt-2.13.69/src/include/YQPkgProductList.h
--- old/yast2-qt-2.13.66/src/include/YQPkgProductList.h 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-qt-2.13.69/src/include/YQPkgProductList.h 2006-10-23 15:47:11.000000000 +0200
@@ -0,0 +1,141 @@
+/*---------------------------------------------------------------------\
+| |
+| __ __ ____ _____ ____ |
+| \ \ / /_ _/ ___|_ _|___ \ |
+| \ V / _` \___ \ | | __) | |
+| | | (_| |___) || | / __/ |
+| |_|\__,_|____/ |_| |_____| |
+| |
+| core system |
+| (C) SuSE GmbH |
+\----------------------------------------------------------------------/
+
+ File: YQPkgProductList.h
+
+ Author: Stefan Hundhammer
+
+/-*/
+
+// -*- c++ -*-
+
+
+#ifndef YQPkgProductList_h
+#define YQPkgProductList_h
+
+#include <string>
+#include "YQPkgObjList.h"
+
+using std::string;
+
+class YQPkgProductListItem;
+
+
+/**
+ * @short Display a list of zypp::Product objects.
+ **/
+class YQPkgProductList : public YQPkgObjList
+{
+ Q_OBJECT
+
+public:
+
+ /**
+ * Constructor
+ **/
+ YQPkgProductList( QWidget * parent );
+
+ /**
+ * Destructor
+ **/
+ virtual ~YQPkgProductList();
+
+
+public slots:
+
+ /**
+ * Add a product to the list. Connect a filter's filterMatch() signal to
+ * this slot. Remember to connect filterStart() to clear() (inherited from
+ * QListView).
+ **/
+ void addProductItem( ZyppSel selectable,
+ ZyppProduct zyppProduct );
+
+ /**
+ * Fill the product list.
+ **/
+ void fillList();
+
+
+public:
+
+ /**
+ * Returns the currently selected item or 0 if there is none.
+ **/
+ YQPkgProductListItem * selection() const;
+
+ /**
+ * Returns the column for the product's vendor.
+ **/
+ int vendorCol() const { return _vendorCol; }
+
+
+protected:
+
+
+ // Data members
+
+ int _vendorCol;
+};
+
+
+
+class YQPkgProductListItem: public YQPkgObjListItem
+{
+public:
+
+ /**
+ * Constructor. Creates a YQPkgProductList item that corresponds to
+ * zyppProduct.
+ **/
+ YQPkgProductListItem( YQPkgProductList * productList,
+ ZyppSel selectable,
+ ZyppProduct zyppProduct );
+
+ /**
+ * Destructor
+ **/
+ virtual ~YQPkgProductListItem();
+
+ /**
+ * Returns the original zyppProduct object.
+ **/
+ ZyppProduct zyppProduct() const { return _zyppProduct; }
+
+
+ // Columns
+
+ int statusCol() const { return _productList->statusCol(); }
+ int summaryCol() const { return _productList->summaryCol(); }
+ int versionCol() const { return _productList->versionCol(); }
+ int vendorCol() const { return _productList->vendorCol(); }
+
+
+protected:
+
+ /**
+ * Propagate status changes in this list to other lists:
+ * Have the solver transact all products, patterns, etc.
+ *
+ * Reimplemented from YQPkgObjListItem.
+ **/
+ virtual void applyChanges();
+
+
+ // Data members
+
+ YQPkgProductList * _productList;
+ ZyppProduct _zyppProduct;
+};
+
+
+#endif // ifndef YQPkgProductList_h
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-qt-2.13.66/src/include/YQZypp.h new/yast2-qt-2.13.69/src/include/YQZypp.h
--- old/yast2-qt-2.13.66/src/include/YQZypp.h 2006-08-18 15:53:44.000000000 +0200
+++ new/yast2-qt-2.13.69/src/include/YQZypp.h 2006-10-26 16:27:24.000000000 +0200
@@ -30,6 +30,7 @@
#include
#include
#include
+#include
#include
#include
@@ -58,6 +59,7 @@
typedef zypp::Pattern::constPtr ZyppPattern;
typedef zypp::Language::constPtr ZyppLang;
typedef zypp::Patch::constPtr ZyppPatch;
+typedef zypp::Product::constPtr ZyppProduct;
typedef zypp::ResPoolProxy ZyppPool;
typedef zypp::ResPoolProxy::const_iterator ZyppPoolIterator;
@@ -83,6 +85,9 @@
inline ZyppPoolIterator zyppPatchesBegin() { return zyppBeginzypp::Patch(); }
inline ZyppPoolIterator zyppPatchesEnd() { return zyppEndzypp::Patch(); }
+inline ZyppPoolIterator zyppProductsBegin() { return zyppBeginzypp::Product(); }
+inline ZyppPoolIterator zyppProductsEnd() { return zyppEndzypp::Product(); }
+
inline ZyppPkg tryCastToZyppPkg( ZyppObj zyppObj )
{
@@ -109,6 +114,11 @@
return zypp::dynamic_pointer_cast<const zypp::Patch>( zyppObj );
}
+inline ZyppProduct tryCastToZyppProduct( ZyppObj zyppObj )
+{
+ return zypp::dynamic_pointer_cast<const zypp::Product>( zyppObj );
+}
+
template<typename T> bool contains( const std::set<T> & container, T search )
{
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org