diff options
| author | Michael Vogt <michael.vogt@ubuntu.com> | 2006-09-11 20:07:54 +0200 |
|---|---|---|
| committer | Michael Vogt <michael.vogt@ubuntu.com> | 2006-09-11 20:07:54 +0200 |
| commit | 6d61faf23c3ca83eba9e2bec999cf9d41ab95f3f (patch) | |
| tree | 73ca929e84fcc183ae74f1cd434cff39c8be170d /UpdateManager | |
| parent | 6021ed9fbb44bafbe2b7540f2f79226909e4672d (diff) | |
| parent | cb5c5cca3e6d5b90018a2dc49b77d61dede3628c (diff) | |
| download | python-apt-6d61faf23c3ca83eba9e2bec999cf9d41ab95f3f.tar.gz | |
* merged from glatzor
Diffstat (limited to 'UpdateManager')
| -rw-r--r-- | UpdateManager/UpdateManager.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/UpdateManager/UpdateManager.py b/UpdateManager/UpdateManager.py index 585bdef9..b9ce315c 100644 --- a/UpdateManager/UpdateManager.py +++ b/UpdateManager/UpdateManager.py @@ -248,11 +248,14 @@ class UpdateList: # sort by origin for pkg in cache: - if pkg.markedUpgrade or pkg.markedInstall or pkg.isUpgradable: + if pkg.isUpgradable: if pkg.candidateOrigin == None: # can happen for e.g. loged packages + # FIXME: do something more sensible here (but what?) print "WARNING: upgradable but no canidateOrigin?!?: ", pkg.name continue + # TRANSLATORS: updates from an 'unknown' origin + originstr = _("Other updates") for aorigin in pkg.candidateOrigin: archive = aorigin.archive origin = aorigin.origin @@ -264,7 +267,7 @@ class UpdateList: self.pkgs[origin_node] = [] self.pkgs[origin_node].append(pkg) self.num_updates = self.num_updates + 1 - if pkg.isUpgradable: + if pkg.isUpgradable and not (pkg.markedUpgrade or pkg.markedInstall): self.held_back.append(pkg.name) for l in self.pkgs.keys(): self.pkgs[l].sort(lambda x,y: cmp(x.name,y.name)) @@ -394,7 +397,9 @@ class UpdateManager(SimpleGladeApp): renderer.set_property("active", to_install) if pkg.name in self.list.held_back: renderer.set_property("activatable", False) - + else: + renderer.set_property("activatable", True) + def package_column_view_func(self, cell_layout, renderer, model, iter): self.header_column_func(cell_layout, renderer, model, iter) @@ -732,9 +737,13 @@ class UpdateManager(SimpleGladeApp): def toggled(self, renderer, path): """ a toggle button in the listview was toggled """ - self.setBusy(True) iter = self.store.get_iter(path) pkg = self.store.get_value(iter, LIST_PKG) + # make sure that we don't allow to toggle deactivated updates + # this is needed for the call by the row activation callback + if pkg.name in self.list.held_back: + return False + self.setBusy(True) # update the cache if pkg.markedInstall or pkg.markedUpgrade: pkg.markKeep() |
