kdenonbeta/kdedebian/kapture/libkapture
CVS commit by mornfall:
Fix the crash in PkgNodeView with useExtState () == false, on display.
Still needs work to display right controls and start right actions
depending on useExtState ().
M +23 -20 pkgnodeview.cpp 1.11
--- kdenonbeta/kdedebian/kapture/libkapture/pkgnodeview.cpp #1.10:1.11
@@ -176,21 +176,23 @@ void PkgNodeViewCommon::setPackage (pkgC
/* {{{ */
void PkgNodeViewCommon::refresh ()
- // FIXME: take current status into account!
{
if (m_pkg . end ()) return;
- PkgCache::ExtState *st = (PkgManager::cache ()) -> extState (m_pkg);
// status...
- if (st -> changed) {
- if (st -> a_wanted)
- m_status -> setText ("Will be installed");
- else
- m_status -> setText ("Will be removed");
- } else {
- if ((PkgManager::cache ()) -> currentlyInstalled (m_pkg))
- m_status -> setText ("Will be left installed");
- else
- m_status -> setText ("Will be left uninstalled");
+ switch (PkgManager::cache () -> packageState (m_pkg)) {
+ case PkgCache::PkgInstall:
+ m_status -> setText ("Will be installed"); break;
+ case PkgCache::PkgUninstall:
+ m_status -> setText ("Will be uninstalled"); break;
+ case PkgCache::PkgKeepI:
+ m_status -> setText ("Will be left installed"); break;
+ case PkgCache::PkgKeepU:
+ m_status -> setText ("Will be left uninstalled"); break;
+ case PkgCache::PkgBroken:
+ m_status -> setText ("BROKEN"); break;
}
+
+ if ((PkgManager::cache ()) -> useExtState ()) {
+ PkgCache::ExtState *st = (PkgManager::cache ()) -> extState (m_pkg);
m_wanted -> blockSignals (true);
m_wanted -> setChecked (st -> u_wanted);
@@ -200,4 +202,5 @@ void PkgNodeViewCommon::refresh ()
m_instPri -> setCurrentItem (p <= 5 ? (p >= 0 ? p : 0) : 5);
m_instPri -> blockSignals (false);
+ }
}
/* }}} */
Reply to: