Author: schubi2
Date: Fri Jun 20 15:33:20 2008
New Revision: 10431
URL: http://svn.opensuse.org/viewcvs/zypp?rev=10431&view=rev
Log:
switching between recommended and non recommended packages
Modified:
trunk/dialogsolver/src/QZyppSolverDialog.cpp
trunk/dialogsolver/src/resgraphview.cpp
trunk/dialogsolver/src/resgraphview.h
trunk/dialogsolver/src/restreewidget.cpp
trunk/dialogsolver/src/restreewidget.h
Modified: trunk/dialogsolver/src/QZyppSolverDialog.cpp
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/dialogsolver/src/QZyppSolverDialog.cpp?rev=10431&r1=10430&r2=10431&view=diff
==============================================================================
--- trunk/dialogsolver/src/QZyppSolverDialog.cpp (original)
+++ trunk/dialogsolver/src/QZyppSolverDialog.cpp Fri Jun 20 15:33:20 2008
@@ -83,6 +83,7 @@
i18n("Critical Error") ,
i18n("No valid solver result"));
}
+ setCursor (oldCursor);
}
Modified: trunk/dialogsolver/src/resgraphview.cpp
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/dialogsolver/src/resgraphview.cpp?rev=10431&r1=10430&r2=10431&view=diff
==============================================================================
--- trunk/dialogsolver/src/resgraphview.cpp (original)
+++ trunk/dialogsolver/src/resgraphview.cpp Fri Jun 20 15:33:20 2008
@@ -955,4 +955,44 @@
}
}
+void ResGraphView::init()
+{
+ setCanvas(0);
+ if (m_Canvas)
+ delete m_Canvas;
+ if (dotTmpFile)
+ delete dotTmpFile;
+ if (m_CompleteView)
+ delete m_CompleteView;
+ if (renderProcess)
+ delete renderProcess;
+
+ m_Canvas = 0L;
+ dotTmpFile = 0;
+ m_Selected = 0;
+ renderProcess = 0;
+ m_Marker = 0;
+ m_CompleteView = new PannerView(this);
+
+ m_CompleteView->setVScrollBarMode(Q3ScrollView::AlwaysOff);
+ m_CompleteView->setHScrollBarMode(Q3ScrollView::AlwaysOff);
+ m_CompleteView->raise();
+ m_CompleteView->hide();
+ connect(this, SIGNAL(contentsMoving(int,int)),
+ this, SLOT(contentsMovingSlot(int,int)));
+ connect(m_CompleteView, SIGNAL(zoomRectMoved(int,int)),
+ this, SLOT(zoomRectMoved(int,int)));
+ connect(m_CompleteView, SIGNAL(zoomRectMoveFinished()),
+ this, SLOT(zoomRectMoveFinished()));
+ m_LastAutoPosition = TopLeft;
+ _isMoving = false;
+ _noUpdateZoomerPos = false;
+ m_LabelMap[""]="";
+ m_Tree.clear();
+ m_NodeList.clear();
+ m_LabelMap.clear();
+
+}
+
+
#include "resgraphview.moc"
Modified: trunk/dialogsolver/src/resgraphview.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/dialogsolver/src/resgraphview.h?rev=10431&r1=10430&r2=10431&view=diff
==============================================================================
--- trunk/dialogsolver/src/resgraphview.h (original)
+++ trunk/dialogsolver/src/resgraphview.h Fri Jun 20 15:33:20 2008
@@ -60,6 +60,7 @@
void showText(const QString&s);
void clear();
+ void init();
void beginInsert();
void endInsert();
Modified: trunk/dialogsolver/src/restreewidget.cpp
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/dialogsolver/src/restreewidget.cpp?rev=10431&r1=10430&r2=10431&view=diff
==============================================================================
--- trunk/dialogsolver/src/restreewidget.cpp (original)
+++ trunk/dialogsolver/src/restreewidget.cpp Fri Jun 20 15:33:20 2008
@@ -24,6 +24,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -33,6 +34,8 @@
#include
#include "resgraphview.h"
#include "zypp/Resolver.h"
+#include "zypp/ZYppFactory.h"
+#include "zypp/ResFilters.h"
#include "getText.h"
/*
@@ -63,6 +66,8 @@
checkBox->setSpacing (5);
showInstalled = new QCheckBox(i18n("show installed packages"), checkBox);
showRecommend = new QCheckBox(i18n("show recommended packages"), checkBox);;
+ showInstalled->setChecked(false);
+ showRecommend->setChecked(!resolver->onlyRequires());
searchBox = new Q3HBox( descriptionBox, "searchBox");
searchBox->setSpacing (5);
@@ -94,7 +99,8 @@
connect( installedListView, SIGNAL( clicked( Q3ListViewItem* ) ), this, SLOT( itemSelected( Q3ListViewItem* ) ) );
connect( installListView, SIGNAL( clicked( Q3ListViewItem* ) ), this, SLOT( itemSelected( Q3ListViewItem* ) ) );
connect( resolvableList, SIGNAL( activated( const QString & ) ), this, SLOT( slotComboActivated( const QString & ) ) );
- connect( showInstalled, SIGNAL( stateChanged ( int state ) ), this, SLOT( showInstalledChanged ( int state ) ) );
+ connect( showRecommend, SIGNAL( stateChanged ( int ) ), this, SLOT( showRecommendChanged ( int ) ) );
+ connect( showInstalled, SIGNAL( stateChanged ( int ) ), this, SLOT( showInstalledChanged ( int ) ) );
ResTreeWidgetLayout->addWidget(m_Splitter);
@@ -203,8 +209,43 @@
selectItem (item->text( 0 )+"-"+item->text( 1 ) );
}
-void ResTreeWidget::showInstalledChanged(int state) {
+void ResTreeWidget::showRecommendChanged(int state) {
+ zypp::ResPool pool( zypp::getZYpp()->pool() );
+ pool.proxy().saveState(); // Save old pool
+ const QCursor oldCursor = cursor ();
+ setCursor (Qt::WaitCursor);
+
+ bool saveRec = resolver->onlyRequires();
+ // and resolve
+ resolver = new zypp::solver::detail::Resolver( pool );
+ if (!showRecommend->isChecked()) {
+ resolver->setOnlyRequires(true);
+ } else {
+ resolver->setOnlyRequires(false);
+ }
+ resolver->resolvePool();
+ if (resolver == NULL
+ || (resolver->problems()).size() > 0 ) {
+ QMessageBox::critical( 0,
+ i18n("Critical Error") ,
+ i18n("No valid solver result"));
+ }
+
+ // show result
+ m_RevGraphView->init();
+ buildTree();
+
+ pool.proxy().restoreState(); // Restore old state
+ resolver->setOnlyRequires(saveRec);
+ setCursor (oldCursor);
+}
+
+
+void ResTreeWidget::showInstalledChanged(int state) {
+ // state will be regarded while establish the tree
+ m_RevGraphView->init();
+ buildTree();
}
@@ -266,18 +307,20 @@
buildTreeBranch ( m_RevGraphView->m_Tree[idStr].targets, it->item, id);
}
}
+
+ if (showInstalled->isChecked()) {
+ // generate the branches for items which are already installed
+ zypp::solver::detail::ItemCapKindList satisfiedList = resolver->satifiedByInstalled (item);
+ for (zypp::solver::detail::ItemCapKindList::const_iterator it = satisfiedList.begin();
+ it != satisfiedList.end(); it++) {
+ QString idStr = QString( "%1" ).arg( id++ );
- // generate the branches for items which are already installed
- zypp::solver::detail::ItemCapKindList satisfiedList = resolver->satifiedByInstalled (item);
- for (zypp::solver::detail::ItemCapKindList::const_iterator it = satisfiedList.begin();
- it != satisfiedList.end(); it++) {
- QString idStr = QString( "%1" ).arg( id++ );
-
- childList.append(ResGraphView::targetData(idStr));
- m_RevGraphView->m_Tree[idStr].item=it->item;
- m_RevGraphView->m_Tree[idStr].dueto = *it;
+ childList.append(ResGraphView::targetData(idStr));
+ m_RevGraphView->m_Tree[idStr].item=it->item;
+ m_RevGraphView->m_Tree[idStr].dueto = *it;
- alreadyHitItems.insert (item);
+ alreadyHitItems.insert (item);
+ }
}
}
Modified: trunk/dialogsolver/src/restreewidget.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/dialogsolver/src/restreewidget.h?rev=10431&r1=10430&r2=10431&view=diff
==============================================================================
--- trunk/dialogsolver/src/restreewidget.h (original)
+++ trunk/dialogsolver/src/restreewidget.h Fri Jun 20 15:33:20 2008
@@ -87,6 +87,7 @@
void itemSelected( Q3ListViewItem* item);
void slotComboActivated( const QString &s );
void showInstalledChanged(int state);
+ void showRecommendChanged(int state);
private:
QPixmap image0;
--
To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org
For additional commands, e-mail: zypp-commit+help@opensuse.org