Hello community,
here is the log from the commit of package libqdialogsolver1
checked in at Wed Oct 3 01:04:52 CEST 2007.
--------
--- libqdialogsolver1/libqdialogsolver1.changes 2007-07-26 14:29:49.000000000 +0200
+++ /mounts/work_src_done/STABLE/libqdialogsolver1/libqdialogsolver1.changes 2007-10-01 12:25:04.722142000 +0200
@@ -1,0 +2,11 @@
+Mon Oct 1 12:22:35 CEST 2007 - schubi@suse.de
+
+- can through the tree via double click
+
+-------------------------------------------------------------------
+Thu Sep 27 13:12:13 CEST 2007 - schubi@suse.de
+[B
+- added search function
+- improved layout
+
+-------------------------------------------------------------------
Old:
----
libqdialogsolver1-1.0.0.tar.bz2
New:
----
libqdialogsolver1-1.0.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libqdialogsolver1.spec ++++++
--- /var/tmp/diff_new_pack.LO4088/_old 2007-10-03 01:04:32.000000000 +0200
+++ /var/tmp/diff_new_pack.LO4088/_new 2007-10-03 01:04:32.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package libqdialogsolver1 (Version 1.0.0)
+# spec file for package libqdialogsolver1 (Version 1.0.2)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,13 +11,13 @@
# norootforbuild
Name: libqdialogsolver1
-Version: 1.0.0
+Version: 1.0.2
Release: 1
-License: GPL
+License: GPL v2 or later
Group: System/Packages
Summary: QDialog class for showing solver results.
-Requires: libzypp >= %( echo `rpm -q --queryformat '%{VERSION}-%{RELEASE}' libzypp`)
-Autoreqprov: on
+Requires: libzypp >= %( echo `rpm -q --queryformat '%{VERSION}-%{RELEASE}' libzypp`) graphviz
+AutoReqProv: on
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gcc-c++ qt3-devel
# API Changes in zypp 2.1
@@ -90,7 +90,12 @@
%dir %{_libdir}/libqdialogsolver.la
%dir %{prefix}/include/zypp
%{prefix}/include/zypp/*
-
%changelog
+* Mon Oct 01 2007 - schubi@suse.de
+- can through the tree via double click
+* Thu Sep 27 2007 - schubi@suse.de
+ [B
+- added search function
+- improved layout
* Wed Jul 25 2007 - schubi@suse.de
- inital
++++++ libqdialogsolver1-1.0.0.tar.bz2 -> libqdialogsolver1-1.0.2.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libqdialogsolver1-1.0.0/configure new/libqdialogsolver1-1.0.2/configure
--- old/libqdialogsolver1-1.0.0/configure 2007-07-26 13:34:18.000000000 +0200
+++ new/libqdialogsolver1-1.0.2/configure 2007-10-01 12:23:23.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for libqdialogsolver1 1.0.0.
+# Generated by GNU Autoconf 2.60 for libqdialogsolver1 1.0.2.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -711,8 +711,8 @@
# Identity of this package.
PACKAGE_NAME='libqdialogsolver1'
PACKAGE_TARNAME='libqdialogsolver1'
-PACKAGE_VERSION='1.0.0'
-PACKAGE_STRING='libqdialogsolver1 1.0.0'
+PACKAGE_VERSION='1.0.2'
+PACKAGE_STRING='libqdialogsolver1 1.0.2'
PACKAGE_BUGREPORT=''
ac_unique_file="src/Makefile.am"
@@ -1424,7 +1424,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libqdialogsolver1 1.0.0 to adapt to many kinds of systems.
+\`configure' configures libqdialogsolver1 1.0.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1495,7 +1495,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libqdialogsolver1 1.0.0:";;
+ short | recursive ) echo "Configuration of libqdialogsolver1 1.0.2:";;
esac
cat <<\_ACEOF
@@ -1612,7 +1612,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libqdialogsolver1 configure 1.0.0
+libqdialogsolver1 configure 1.0.2
generated by GNU Autoconf 2.60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1626,7 +1626,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libqdialogsolver1 $as_me 1.0.0, which was
+It was created by libqdialogsolver1 $as_me 1.0.2, which was
generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
@@ -2426,7 +2426,7 @@
# Define the identity of the package.
PACKAGE='libqdialogsolver1'
- VERSION='1.0.0'
+ VERSION='1.0.2'
cat >>confdefs.h <<_ACEOF
@@ -30872,7 +30872,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libqdialogsolver1 $as_me 1.0.0, which was
+This file was extended by libqdialogsolver1 $as_me 1.0.2, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -30925,7 +30925,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-libqdialogsolver1 config.status 1.0.0
+libqdialogsolver1 config.status 1.0.2
configured by $0, generated by GNU Autoconf 2.60,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libqdialogsolver1-1.0.0/libqdialogsolver1.spec.in new/libqdialogsolver1-1.0.2/libqdialogsolver1.spec.in
--- old/libqdialogsolver1-1.0.0/libqdialogsolver1.spec.in 2007-07-26 13:33:51.000000000 +0200
+++ new/libqdialogsolver1-1.0.2/libqdialogsolver1.spec.in 2007-08-02 15:45:18.000000000 +0200
@@ -16,7 +16,7 @@
License: GPL
Group: System/Management
Summary: QDialog class for showing solver results
-Requires: libzypp >= %( echo `rpm -q --queryformat '%{VERSION}-%{RELEASE}' libzypp`)
+Requires: libzypp >= %( echo `rpm -q --queryformat '%{VERSION}-%{RELEASE}' libzypp`) graphviz
Autoreqprov: on
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gcc-c++ qt3-devel
@@ -25,7 +25,7 @@
# API Changes in zypp 2.1
BuildRequires: libzypp-devel >= 2.8.7
BuildRequires: libzypp >= 2.8.7
-Requires: libzypp >= 2.8.7
+Requires: libzypp >= 2.8.7
Source: libqdialogsolver1-%{version}.tar.bz2
Prefix: /usr
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libqdialogsolver1-1.0.0/src/QZyppSolverDialog.cpp new/libqdialogsolver1-1.0.2/src/QZyppSolverDialog.cpp
--- old/libqdialogsolver1-1.0.0/src/QZyppSolverDialog.cpp 2007-07-26 12:20:57.000000000 +0200
+++ new/libqdialogsolver1-1.0.2/src/QZyppSolverDialog.cpp 2007-09-27 11:59:35.000000000 +0200
@@ -2,11 +2,14 @@
#include
#include
#include
+#include
#include
#include "QZyppSolverDialog.h"
#include "solvertree.h"
+#define i18n(MSG) QString(MSG)
+
QZyppSolverDialog::QZyppSolverDialog(zypp::solver::detail::Resolver_Ptr r)
: QDialog(0,"Solvertree",true)
, resolver (r)
@@ -15,6 +18,13 @@
QHBoxLayout* layout = new QHBoxLayout (this);
solvertree = new SolverTree(this, resolver);
layout->addWidget( solvertree->getView());
+
+ if (resolver == NULL
+ || (resolver->problems()).size() > 0 ) {
+ QMessageBox::critical( 0,
+ i18n("Critical Error") ,
+ i18n("No valid solver result"));
+ }
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libqdialogsolver1-1.0.0/src/resgraphview.cpp new/libqdialogsolver1-1.0.2/src/resgraphview.cpp
--- old/libqdialogsolver1-1.0.0/src/resgraphview.cpp 2007-07-26 12:20:57.000000000 +0200
+++ new/libqdialogsolver1-1.0.2/src/resgraphview.cpp 2007-10-01 12:16:52.000000000 +0200
@@ -17,6 +17,7 @@
* Free Software Foundation, Inc., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
+#include "QZyppSolverDialog.h"
#include "resgraphview.h"
#include "graphtreelabel.h"
#include "pannerview.h"
@@ -30,17 +31,22 @@
#include
#include
#include
+#include
#include
#include
#include
-
+#include "zypp/ZYppFactory.h"
+#include "zypp/ResFilters.h"
+#include "zypp/base/Algorithm.h"
#define LABEL_WIDTH 160
#define LABEL_HEIGHT 90
#define i18n(MSG) QString(MSG)
+using namespace zypp;
+
static int globalDirection = 0;
class GraphViewTipSolver:public QToolTip
@@ -713,6 +719,22 @@
m_CompleteView->updateCurrentRect();
}
+
+struct UndoTransact : public resfilter::PoolItemFilterFunctor
+{
+ ResStatus::TransactByValue resStatus;
+ UndoTransact ( const ResStatus::TransactByValue &status)
+ :resStatus(status)
+ { }
+
+ bool operator()( PoolItem_Ref item ) // only transacts() items go here
+ {
+ item.status().resetTransact( resStatus );// clear any solver/establish transactions
+ return true;
+ }
+};
+
+
void ResGraphView::contentsMouseDoubleClickEvent ( QMouseEvent * e )
{
setFocus();
@@ -721,17 +743,36 @@
if (l.count()>0) {
QCanvasItem* i = l.first();
if (i->rtti()==GRAPHTREE_LABEL) {
- makeSelected( (GraphTreeLabel*)i);
-
trevTree::ConstIterator it;
it = m_Tree.find(((GraphTreeLabel*)i)->nodename());
if (it!=m_Tree.end()) {
- emit dispDetails(toolTip(((GraphTreeLabel*)i)->nodename(),true),
- it.data().item);
+ zypp::ResPool pool( zypp::getZYpp()->pool() );
+ const QCursor oldCursor = cursor ();
+ setCursor (Qt::WaitCursor);
+ // resetting all selections
+ UndoTransact resetting (ResStatus::USER);
+ invokeOnEach ( pool.begin(), pool.end(),
+ resfilter::ByTransact( ), // Resetting all transcations
+ functor::functorRef(resetting) );
+
+ // set the selected item for installation only
+ it.data().item.status().setToBeInstalled( ResStatus::USER);
+ // and resolve
+ zypp::solver::detail::Resolver_Ptr resolver = new zypp::solver::detail::Resolver( pool );
+ resolver->resolvePool();
+ // show the results
+ QZyppSolverDialog *dialog = new QZyppSolverDialog(resolver);
+ dialog->setCaption(getLabelstring(((GraphTreeLabel*)i)->nodename()));
+ dialog->setMinimumSize ( 600, 600 );
+ setCursor (oldCursor);
+ dialog->exec();
}
}
}
- }
+ }
+
+
+
}
void ResGraphView::contentsMousePressEvent ( QMouseEvent * e )
@@ -741,10 +782,26 @@
_lastPos = e->globalPos();
}
-void ResGraphView::contentsMouseReleaseEvent ( QMouseEvent * )
+void ResGraphView::contentsMouseReleaseEvent ( QMouseEvent * e)
{
_isMoving = false;
updateZoomerPos();
+ if (e->button() == Qt::LeftButton) {
+ QCanvasItemList l = canvas()->collisions(e->pos());
+ if (l.count()>0) {
+ QCanvasItem* i = l.first();
+ if (i->rtti()==GRAPHTREE_LABEL) {
+ makeSelected( (GraphTreeLabel*)i);
+
+ trevTree::ConstIterator it;
+ it = m_Tree.find(((GraphTreeLabel*)i)->nodename());
+ if (it!=m_Tree.end()) {
+ emit dispDetails(toolTip(((GraphTreeLabel*)i)->nodename(),true),
+ it.data().item);
+ }
+ }
+ }
+ }
}
void ResGraphView::contentsMouseMoveEvent ( QMouseEvent * e )
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libqdialogsolver1-1.0.0/src/resgraphview.h new/libqdialogsolver1-1.0.2/src/resgraphview.h
--- old/libqdialogsolver1-1.0.0/src/resgraphview.h 2007-07-25 15:20:38.000000000 +0200
+++ new/libqdialogsolver1-1.0.2/src/resgraphview.h 2007-10-01 10:53:10.000000000 +0200
@@ -51,7 +51,8 @@
enum ZoomPosition { TopLeft, TopRight, BottomLeft, BottomRight, Auto };
/* avoid large copy operations */
friend class RevisionTree;
- friend class SolverTree;
+ friend class SolverTree;
+ friend class ResTreeWidget;
ResGraphView(QWidget * parent = 0, const char * name = 0, WFlags f = 0);
virtual ~ResGraphView();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libqdialogsolver1-1.0.0/src/restreewidget.cpp new/libqdialogsolver1-1.0.2/src/restreewidget.cpp
--- old/libqdialogsolver1-1.0.0/src/restreewidget.cpp 2007-07-26 12:20:57.000000000 +0200
+++ new/libqdialogsolver1-1.0.2/src/restreewidget.cpp 2007-10-01 10:53:10.000000000 +0200
@@ -25,6 +25,11 @@
#include
#include
#include
+#include
+#include
+#include
+#include
+#include
#include "resgraphview.h"
#include "zypp/Resolver.h"
@@ -49,13 +54,21 @@
m_RevGraphView->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)5, 0, 2, m_RevGraphView->sizePolicy().hasHeightForWidth() ) );
connect(m_RevGraphView,SIGNAL(dispDetails(const QString&, const zypp::PoolItem_Ref)),this,SLOT(setDetailText(const QString&, const zypp::PoolItem_Ref)));
- tabWidget = new QTabWidget( m_Splitter, "tabwidget" );
- tabWidget->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)7, 0, 0, tabWidget->sizePolicy().hasHeightForWidth() ) );
+ descriptionBox = new QVBox( m_Splitter, "descriptionBox");
+ descriptionBox->setSpacing (5);
+ tabWidget = new QTabWidget( descriptionBox, "tabWidget");
+ tabWidget->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)7, 0, 0, tabWidget->sizePolicy().hasHeightForWidth() ) );
+
+ searchBox = new QHBox( descriptionBox, "searchBox");
+ searchBox->setSpacing (5);
+ searchLabel = new QLabel (i18n("Search: "), searchBox);
+ searchLabel->setMaximumSize( searchLabel->minimumSizeHint () );
+ resolvableList = new QComboBox( true, searchBox);
+ resolvableList->setAutoCompletion(true);
m_Detailstext = new QTextBrowser( tabWidget, "m_Detailstext" );
m_Detailstext->setResizePolicy( QTextBrowser::Manual );
- tabWidget->addTab( m_Detailstext, "Description" );
-
+ tabWidget->addTab( m_Detailstext, i18n("Description") );
installListView = new QListView( tabWidget, "installListView" );
installListView->addColumn( i18n("Name") );
@@ -73,8 +86,9 @@
installedListView->setAllColumnsShowFocus( TRUE );
tabWidget->addTab( installedListView, i18n("Needed by") );
- connect( installedListView, SIGNAL( doubleClicked( QListViewItem* ) ), this, SLOT( itemSelected( QListViewItem* ) ) );
- connect( installListView, SIGNAL( doubleClicked( QListViewItem* ) ), this, SLOT( itemSelected( QListViewItem* ) ) );
+ connect( installedListView, SIGNAL( clicked( QListViewItem* ) ), this, SLOT( itemSelected( QListViewItem* ) ) );
+ connect( installListView, SIGNAL( clicked( QListViewItem* ) ), this, SLOT( itemSelected( QListViewItem* ) ) );
+ connect( resolvableList, SIGNAL( activated( const QString & ) ), this, SLOT( slotComboActivated( const QString & ) ) );
ResTreeWidgetLayout->addWidget(m_Splitter);
clearWState( WState_Polished );
@@ -90,6 +104,23 @@
void ResTreeWidget::dumpRevtree()
{
m_RevGraphView->dumpRevtree();
+ if (m_RevGraphView
+ && resolvableList) {
+ // creating entries in the combobox
+ ResGraphView::trevTree::ConstIterator it;
+ QStringList stringList;
+ for (it=m_RevGraphView->m_Tree.begin();
+ it!=m_RevGraphView->m_Tree.end();++it) {
+ zypp::PoolItem_Ref item = it.data().item;
+ QString itemString = item->name() + "-" + item->edition().asString()
+ + "."
+ + item->arch().asString();
+ if (stringList.find(itemString) == stringList.end())
+ stringList.append (itemString);
+ }
+ stringList.sort();
+ resolvableList->insertStringList (stringList);
+ }
}
void ResTreeWidget::setDetailText(const QString& _s, const zypp::PoolItem_Ref item)
@@ -130,6 +161,10 @@
}
}
+void ResTreeWidget::slotComboActivated( const QString &s ) {
+ selectItem(s);
+}
+
void ResTreeWidget::selectItem(const QString & itemString) {
m_RevGraphView->selectItem (itemString );
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libqdialogsolver1-1.0.0/src/restreewidget.h new/libqdialogsolver1-1.0.2/src/restreewidget.h
--- old/libqdialogsolver1-1.0.0/src/restreewidget.h 2007-07-25 15:20:38.000000000 +0200
+++ new/libqdialogsolver1-1.0.2/src/restreewidget.h 2007-09-27 10:39:57.000000000 +0200
@@ -38,6 +38,10 @@
class ResGraphView;
class QSplitter;
class QTextBrowser;
+class QVBox;
+class QHBox;
+class QComboBox;
+class QLabel;
namespace svn {
class LogEntry;
@@ -61,18 +65,22 @@
protected:
QVBoxLayout* ResTreeWidgetLayout;
-
+ QVBox *descriptionBox;
+ QHBox *searchBox;
+ QLabel *searchLabel;
QTabWidget *tabWidget;
QListView *installListView;
QListView *installedListView;
QTextBrowser* m_Detailstext;
+ QComboBox *resolvableList;
void selectItem(const QString & itemString);
protected slots:
virtual void setDetailText(const QString&, const zypp::PoolItem_Ref);
void itemSelected( QListViewItem* item);
-
+ void slotComboActivated( const QString &s );
+
private:
QPixmap image0;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libqdialogsolver1-1.0.0/VERSION new/libqdialogsolver1-1.0.2/VERSION
--- old/libqdialogsolver1-1.0.0/VERSION 2007-07-25 17:42:01.000000000 +0200
+++ new/libqdialogsolver1-1.0.2/VERSION 2007-10-01 12:22:59.000000000 +0200
@@ -1 +1 @@
-m4_define([QDIALOGSOLVER_VERSION], [1.0.0])
+m4_define([QDIALOGSOLVER_VERSION], [1.0.2])
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org