ref: refs/heads/master
commit 10955275375ccdba73eaf331d039c582beaffe18
Author: Ján Kupec
Date: Wed Apr 1 13:00:13 2009 +0200
Summary improvements (bnc #389128)
- always show vendors for packages with vendors to be changed
- always show arch when arch changes
- never show repo for removed packages (it's always @System)
- 'd' for 'details' option added
- some fixes
---
src/Summary.cc | 15 +++++++++++++--
src/Summary.h | 2 +-
src/solve-commit.cc | 14 ++++++++++----
3 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/src/Summary.cc b/src/Summary.cc
index 50a209b..2900622 100644
--- a/src/Summary.cc
+++ b/src/Summary.cc
@@ -161,9 +161,10 @@ void Summary::readPool(const zypp::ResPool & pool)
// reinstall
else if (res->edition() == (*rmit)->edition())
{
- toreinstall[res->kind()].insert(rp);
if (res->arch() != (*rmit)->arch())
tochangearch[res->kind()].insert(rp);
+ else
+ toreinstall[res->kind()].insert(rp);
if (res->vendor() != (*rmit)->vendor())
tochangevendor[res->kind()].insert(rp);
}
@@ -230,7 +231,7 @@ unsigned Summary::packagesToRemove() const
void Summary::writeResolvableList(ostream & out, const ResPairSet & resolvables)
{
- if (_viewop == DEFAULT)
+ if ((_viewop & DETAILS) == 0)
{
ostringstream s;
for (ResPairSet::const_iterator resit = resolvables.begin();
@@ -326,6 +327,8 @@ void Summary::writeNewlyInstalled(ostream & out)
void Summary::writeRemoved(ostream & out)
{
+ ViewOptions vop = _viewop;
+ unsetViewOption(SHOW_REPO); // never show repo here, it's always @System
for_(it, toremove.begin(), toremove.end())
{
string label;
@@ -353,6 +356,7 @@ void Summary::writeRemoved(ostream & out)
writeResolvableList(out, it->second);
}
+ _viewop = vop;
}
// --------------------------------------------------------------------------
@@ -415,6 +419,7 @@ void Summary::writeDowngraded(ostream & out)
"The following product is going to be downgraded:",
"The following products are going to be downgraded:",
it->second.size());
+ out << endl << label << endl;
writeResolvableList(out, it->second);
}
@@ -483,6 +488,8 @@ void Summary::writeSuggested(ostream & out)
void Summary::writeChangedArch(ostream & out)
{
+ ViewOptions vop = _viewop;
+ setViewOption(SHOW_ARCH); // always show arch here
for_(it, tochangearch.begin(), tochangearch.end())
{
string label;
@@ -510,12 +517,15 @@ void Summary::writeChangedArch(ostream & out)
writeResolvableList(out, it->second);
}
+ _viewop = vop;
}
// --------------------------------------------------------------------------
void Summary::writeChangedVendor(ostream & out)
{
+ ViewOptions vop = _viewop;
+ setViewOption(SHOW_VENDOR); // always show vendor here
for_(it, tochangevendor.begin(), tochangevendor.end())
{
string label;
@@ -543,6 +553,7 @@ void Summary::writeChangedVendor(ostream & out)
writeResolvableList(out, it->second);
}
+ _viewop = vop;
}
// --------------------------------------------------------------------------
diff --git a/src/Summary.h b/src/Summary.h
index 6ddd7fe..68a6c4b 100644
--- a/src/Summary.h
+++ b/src/Summary.h
@@ -32,7 +32,7 @@ public:
enum _view_options
{
DEFAULT = 0x0300,
- DETAILS = 0xfbff,
+ DETAILS = 0x00ff,
SHOW_VERSION = 0x0001,
SHOW_ARCH = 0x0002,
diff --git a/src/solve-commit.cc b/src/solve-commit.cc
index 8821675..5b4b78b 100755
--- a/src/solve-commit.cc
+++ b/src/solve-commit.cc
@@ -468,12 +468,12 @@ void solve_and_commit (Zypper & zypper)
// The anserws must be separated by slash characters '/' and must
// correspond to yes/no/showproblems in that order.
// The answers should be lower case letters.
- popts.setOptions(_("y/n/p/v/a/r/m"), 0);
+ popts.setOptions(_("y/n/p/v/a/r/m/d"), 0);
popts.setShownCount(2);
if (!(zypper.runtimeData().force_resolution && show_p_option))
popts.disable(2);
// translators: help text for 'y' option in the y/n/p prompt
- popts.setOptionHelp(0, _("Yes, ccept the summary and proceed with installation/removal of packages."));
+ popts.setOptionHelp(0, _("Yes, accept the summary and proceed with installation/removal of packages."));
// translators: help text for 'n' option in the y/n/p prompt
popts.setOptionHelp(1, _("No, cancel the operation."));
// translators: help text for 'p' option in the y/n/p prompt
@@ -482,8 +482,8 @@ void solve_and_commit (Zypper & zypper)
popts.setOptionHelp(4, _("Toggle display of package architectures."));
popts.setOptionHelp(5, _("Toggle display of repositories from which the packages will be installed."));
popts.setOptionHelp(6, _("Toggle display of package vendor names."));
- // popts.setOptionHelp(7, _("Explain why the packages are going to be installed."));
- // popts.setOptionHelp(8, _("Show all details."));
+ popts.setOptionHelp(7, _("Toggle between showing all details and as few details as possible."));
+ // popts.setOptionHelp(8, _("Explain why the packages are going to be installed."));
string prompt_text = _("Continue?");
@@ -533,6 +533,12 @@ void solve_and_commit (Zypper & zypper)
summary.dumpTo(cout);
break;
}
+ case 7: // d
+ {
+ summary.toggleViewOption(Summary::DETAILS);
+ summary.dumpTo(cout);
+ break;
+ }
default: // n
need_another_solver_run = false;
}
--
To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org
For additional commands, e-mail: zypp-commit+help@opensuse.org