diff options
author | Jeremy Katz <katzj@redhat.com> | 2005-09-20 20:43:49 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2005-09-20 20:43:49 +0000 |
commit | 63226bceb21c16d662a78e85e4845309fdc91bfb (patch) | |
tree | 5386daf4d4e43528cdf920299863f88b0d3e8a51 /textw | |
parent | 70d10ea749562734dd0f2f8f434c2a524f5e34ad (diff) | |
download | anaconda-63226bceb21c16d662a78e85e4845309fdc91bfb.tar.gz anaconda-63226bceb21c16d662a78e85e4845309fdc91bfb.tar.xz anaconda-63226bceb21c16d662a78e85e4845309fdc91bfb.zip |
2005-09-20 Jeremy Katz <katzj@redhat.com>
* iw/simple_pkgselect.py: Simple group selection UI...
* textw/simple_pkgselect_text.py: And the same for text mode
* yuminstall.py (YumBackend): Some hacks for simple group
selection UI.
* dispatch.py (installSteps): Add simple group selection step.
* gui.py (stepToClass): Likewise.
* text.py (stepToClasses): Likewise.
* installclass.py (BaseInstallClass.setSteps): Likewise.
Diffstat (limited to 'textw')
-rw-r--r-- | textw/simple_pkgselect_text.py | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/textw/simple_pkgselect_text.py b/textw/simple_pkgselect_text.py new file mode 100644 index 000000000..f6c54b342 --- /dev/null +++ b/textw/simple_pkgselect_text.py @@ -0,0 +1,67 @@ +# +# simple_pkgselect - Simple package selection UI +# +# Jeremy Katz <katzj@redhat.com> +# Copyright 2005 Red Hat, Inc. +# +# Only shows groups and allows selecting them. None of the real +# "interesting" pieces of package selection are present +# Mostly here as a placeholder until we write the real code +# +# This software may be freely redistributed under the terms of the GNU +# general public license. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# + +from snack import * +from constants_text import * +from rhpl.translate import _, N_ + +import copy + +class GroupSelectionWindow: + def __call__(self, screen, backend, intf): + self.instgrps = copy.copy(backend.anaconda_grouplist) + + g = GridFormHelp(screen, "Package Group Selection", + "packagetree", 1, 5) + + t = TextboxReflowed(50, "Please select the package groups you " + "would like to have installed.\n\n" + "Note that this is a temporary interface " + "as we work on hooking things up, so please " + "don't file bugs related directly to it.") + g.add(t, 0, 0, (0, 0, 0, 1), anchorLeft = 1) + + # FIXME: this is very yum backend specific... + groups = backend.ayum.groupInfo.visible_groups + groups.sort() + ct = CheckboxTree(height = 6, scroll = (len(groups) > 6)) + for grp in groups: + ct.append(grp, grp, grp in backend.anaconda_grouplist) + g.add(ct, 0, 2, (0, 0, 0, 1)) + + bb = ButtonBar (screen, (TEXT_OK_BUTTON, TEXT_BACK_BUTTON)) + g.add(bb, 0, 3, growx = 1) + + while 1: + result = g.run() + rc = bb.buttonPressed(result) + + if rc == TEXT_BACK_CHECK: + screen.popWindow() + return INSTALL_BACK + break + + screen.popWindow() + sel = ct.getSelection() + for g in groups: + if g in sel and g not in self.instgrps: + backend.selectGroup(g) + elif g not in sel and g in self.instgrps: + backend.deselectGroup(g) + + return INSTALL_OK |