diff options
author | Matt Wilson <msw@redhat.com> | 2000-05-26 20:23:46 +0000 |
---|---|---|
committer | Matt Wilson <msw@redhat.com> | 2000-05-26 20:23:46 +0000 |
commit | 8b9676eb4570ab2ebd9e6d841f52f3bb662080b0 (patch) | |
tree | 6791914017dc824882df265483d8ab88b6c25613 /iw | |
parent | a6244e888dd48f92cdd685657f9f06238700d7a2 (diff) | |
download | anaconda-8b9676eb4570ab2ebd9e6d841f52f3bb662080b0.tar.gz anaconda-8b9676eb4570ab2ebd9e6d841f52f3bb662080b0.tar.xz anaconda-8b9676eb4570ab2ebd9e6d841f52f3bb662080b0.zip |
multi option deps
Diffstat (limited to 'iw')
-rw-r--r-- | iw/dependencies_gui.py | 69 |
1 files changed, 61 insertions, 8 deletions
diff --git a/iw/dependencies_gui.py b/iw/dependencies_gui.py index 907911fc8..85799247c 100644 --- a/iw/dependencies_gui.py +++ b/iw/dependencies_gui.py @@ -9,19 +9,47 @@ class UnresolvedDependenciesWindow (InstallWindow): ics.setTitle (_("Unresolved Dependencies")) ics.setNextEnabled (1) ics.readHTML ("depend") - self.dependCB = None + self.dependRB = None def getNext (self): - if self.dependCB and self.dependCB.get_active (): - self.todo.selectDeps (self.deps) + if (self.dependRB and self.dependRB.get_active () + or self.causeRB and self.causeRB.get_active ()): threads_leave () moredeps = self.todo.verifyDeps () threads_enter () if moredeps and self.todo.canResolveDeps (moredeps): UnresolvedDependenciesWindow.moredeps = moredeps return UnresolvedDependenciesWindow + return None + + def getPrev (self): + self.todo.comps.setSelectionState(self.origSelection) + def updateSize (self, *args): + self.sizelabel.set_text (_("Total install size: %s") % self.todo.comps.sizeStr()) + + def installToggled (self, widget, *args): + self.todo.selectDepCause (self.deps) + if widget.get_active (): + self.todo.selectDeps (self.deps) + else: + self.todo.unselectDeps (self.deps) + self.updateSize () + + def causeToggled (self, widget, *args): + if widget.get_active (): + self.todo.unselectDepCause (self.deps) + else: + self.todo.selectDepCause (self.deps) + self.updateSize () + + def ignoreToggled (self, widget, *args): + if widget.get_active (): + self.todo.selectDepCause (self.deps) + self.todo.unselectDeps (self.deps) + self.updateSize () + def getScreen (self): if not UnresolvedDependenciesWindow.moredeps: threads_leave () @@ -44,13 +72,38 @@ class UnresolvedDependenciesWindow (InstallWindow): list.thaw () sw.add (list) - self.dependCB = GtkCheckButton (_("Install packages to satisfy dependencies")) - self.dependCB.set_active (TRUE) - align = GtkAlignment (0.5, 0.5) - align.add (self.dependCB) + # save the way things were when we came in, then turn on + # the packages so we get the right size. + self.origSelection = self.todo.comps.getSelectionState() + self.todo.selectDeps (self.deps) + + self.sizelabel = GtkLabel() + self.sizelabel.set_alignment (1, .5) + self.updateSize() + + rb = GtkVBox (FALSE) + self.dependRB = GtkRadioButton (None, _("Install packages to " + "satisfy dependencies")) + + self.causeRB = GtkRadioButton (self.dependRB, _("Do not install " + "packages that " + "have dependencies")) + + self.ignoreRB = GtkRadioButton (self.dependRB, _("Ignore package " + "dependencies")) + + rb.pack_start (self.dependRB) + rb.pack_start (self.causeRB) + rb.pack_start (self.ignoreRB) + rb.pack_start (self.sizelabel) + + self.dependRB.set_active (1) + self.dependRB.connect('toggled', self.installToggled) + self.causeRB.connect('toggled', self.causeToggled) + self.ignoreRB.connect('toggled', self.ignoreToggled) box = GtkVBox (FALSE, 5) box.pack_start (sw, TRUE) - box.pack_start (align, FALSE) + box.pack_start (rb, FALSE) return box |