from fermiinstallclass import FermiInstallClass 
from translate import N_
from translate import _
import iutil

class InstallClass(FermiInstallClass):
    name = N_("Fermi Generic Desktop Upgrade")
    pixmap = "fermitux-desktop.up.png"

    sortPriority = 99999

    parentClass = ( _( "Upgrade") , "upgrade.png" )

    def requiredDisplayMode(self):
        return 't'

    def setSteps(self, dispatch):
	dispatch.setStepList(
		    "language",
		    "keyboard",
		    "mouse",
		    "welcome",
		    "installtype",
                    "findrootparts",
		    "findinstall",
                    "partitionobjinit",
                    "upgrademount",
                    "upgradeswapsuggestion",
		    "addswap",
                    "upgrademigfind",
                    "upgrademigratefs",
                    "upgradecontinue",
                    "readcomps",
                    "findpackages",
                    "upgbootloader",
                    "checkdeps",
		    "dependencies",
		    "confirmupgrade",
		    "install",
                    "migratefilesystems",
                    "preinstallconfig",
                    "installpackages",
                    "postinstallconfig",
                    "instbootloader",
                    "dopostaction",
		    "bootdisk",
		    "complete"
		)

        if iutil.getArch() == "alpha" or iutil.getArch() == "ia64":
	    dispatch.skipStep("bootdisk")
            dispatch.skipStep("bootloader")
            dispatch.skipStep("bootloaderpassword")
	
	dispatch.skipStep("bootdisk")
	dispatch.skipStep("language")
	dispatch.skipStep("keyboard")
	dispatch.skipStep("welcome")

    def setGroupSelection(self, comps):
	FermiInstallClass.__init__(self, comps)

#	self.showGroups(comps, [ "KDE", ("GNOME", 1),
#                                 "Software Development",
#                                 "Games and Entertainment" ] )
        self.showGroups(comps, 
			  [ ("KDE", 1),
			     "GNOME",
                             "Laptop Support",
			     "Authoring and Publishing",
                             "Software Development"
                          ])

        comps["FermiStandAlone"].select()

    def setInstallData(self, id):
        FermiInstallClass.setInstallData(self, id)
        id.upgrade.set(1)

    def __init__(self, expert):
	FermiInstallClass.__init__(self, expert)

