def getScreen(self, anaconda): self.dispatch = anaconda.dispatch self.bl = anaconda.bootloader newToLibata = self._newToLibata(anaconda.rootPath) (self.type, self.bootDev) = \ checkbootloader.getBootloaderTypeAndBoot(anaconda.rootPath, storage=anaconda.storage) self.update_radio = gtk.RadioButton(None, _("_Update boot loader configuration")) updatestr = _("This will update your current boot loader.") if newToLibata or (self.type is None or self.bootDev is None): if newToLibata: current = _("Due to system changes, your boot loader " "configuration can not be automatically updated.") else: current = _("The installer is unable to detect the boot loader " "currently in use on your system.") self.update_label = gtk.Label("%s" % (updatestr,)) self.update_radio.set_sensitive(False) self.update_label.set_sensitive(False) update = 0 else: current = _("The installer has detected the %(type)s boot loader " "currently installed on %(bootDev)s.") \ % {'type': self.type, 'bootDev': self.bootDev} self.update_label = gtk.Label("%s %s" % (updatestr, _("This is the recommended option."))) self.update_radio.set_active(False) update = 1 self.newbl_radio = gtk.RadioButton(self.update_radio, _("_Create new boot loader " "configuration")) self.newbl_label = gtk.Label(_("This option creates a " "new boot loader configuration. If " "you wish to switch boot loaders, you " "should choose this.")) self.newbl_radio.set_active(False) self.nobl_radio = gtk.RadioButton(self.update_radio, _("_Skip boot loader updating")) self.nobl_label = gtk.Label(_("This option makes no changes to boot " "loader configuration. If you are " "using a third party boot loader, you " "should choose this.")) self.nobl_radio.set_active(False) for label in [self.update_label, self.nobl_label, self.newbl_label]: label.set_alignment(0.8, 0) label.set_size_request(275, -1) label.set_line_wrap(True) str = _("What would you like to do?") # if they have one, the default is to update, otherwise the # default is to not touch anything if update == 1: default = self.update_radio elif newToLibata: default = self.newbl_radio else: default = self.nobl_radio if not self.dispatch.stepInSkipList("bootloader"): self.newbl_radio.set_active(True) elif self.dispatch.stepInSkipList("instbootloader"): self.nobl_radio.set_active(True) else: default.set_active(True) box = gtk.VBox(False, 5) label = gtk.Label(current) label.set_line_wrap(True) label.set_alignment(0.5, 0.0) label.set_size_request(300, -1) label2 = gtk.Label(str) label2.set_line_wrap(True) label2.set_alignment(0.5, 0.0) label2.set_size_request(300, -1) box.pack_start(label, False) box.pack_start(label2, False, padding = 10) box.pack_start(self.update_radio, False) box.pack_start(self.update_label, False) box.pack_start(self.nobl_radio, False) box.pack_start(self.nobl_label, False) box.pack_start(self.newbl_radio, False) box.pack_start(self.newbl_label, False) a = gtk.Alignment(0.2, 0.1) a.add(box) return a
def getScreen(self, anaconda): self.dispatch = anaconda.dispatch self.bl = anaconda.bootloader newToLibata = self._newToLibata(anaconda.rootPath) (self.type, self.bootDev) = \ checkbootloader.getBootloaderTypeAndBoot(anaconda.rootPath, storage=anaconda.storage) self.update_radio = gtk.RadioButton( None, _("_Update boot loader configuration")) updatestr = _("This will update your current boot loader.") if newToLibata or (self.type is None or self.bootDev is None): if newToLibata: current = _("Due to system changes, your boot loader " "configuration can not be automatically updated.") else: current = _( "The installer is unable to detect the boot loader " "currently in use on your system.") self.update_label = gtk.Label("%s" % (updatestr, )) self.update_radio.set_sensitive(False) self.update_label.set_sensitive(False) update = 0 else: current = _("The installer has detected the %(type)s boot loader " "currently installed on %(bootDev)s.") \ % {'type': self.type, 'bootDev': self.bootDev} self.update_label = gtk.Label( "%s %s" % (updatestr, _("This is the recommended option."))) self.update_radio.set_active(False) update = 1 self.newbl_radio = gtk.RadioButton( self.update_radio, _("_Create new boot loader " "configuration")) self.newbl_label = gtk.Label( _("This option creates a " "new boot loader configuration. If " "you wish to switch boot loaders, you " "should choose this.")) self.newbl_radio.set_active(False) self.nobl_radio = gtk.RadioButton(self.update_radio, _("_Skip boot loader updating")) self.nobl_label = gtk.Label( _("This option makes no changes to boot " "loader configuration. If you are " "using a third party boot loader, you " "should choose this.")) self.nobl_radio.set_active(False) for label in [self.update_label, self.nobl_label, self.newbl_label]: label.set_alignment(0.8, 0) label.set_size_request(275, -1) label.set_line_wrap(True) str = _("What would you like to do?") # if they have one, the default is to update, otherwise the # default is to not touch anything if update == 1: default = self.update_radio elif newToLibata: default = self.newbl_radio else: default = self.nobl_radio if not self.dispatch.stepInSkipList("bootloader"): self.newbl_radio.set_active(True) elif self.dispatch.stepInSkipList("instbootloader"): self.nobl_radio.set_active(True) else: default.set_active(True) box = gtk.VBox(False, 5) label = gtk.Label(current) label.set_line_wrap(True) label.set_alignment(0.5, 0.0) label.set_size_request(300, -1) label2 = gtk.Label(str) label2.set_line_wrap(True) label2.set_alignment(0.5, 0.0) label2.set_size_request(300, -1) box.pack_start(label, False) box.pack_start(label2, False, padding=10) box.pack_start(self.update_radio, False) box.pack_start(self.update_label, False) box.pack_start(self.nobl_radio, False) box.pack_start(self.nobl_label, False) box.pack_start(self.newbl_radio, False) box.pack_start(self.newbl_label, False) a = gtk.Alignment(0.2, 0.1) a.add(box) return a
def __call__(self, screen, anaconda): self.screen = screen self.dispatch = anaconda.dispatch self.bl = anaconda.bootloader newToLibata = self._ideToLibata(anaconda.rootPath) (self.type, self.bootDev) = \ checkbootloader.getBootloaderTypeAndBoot(anaconda.rootPath, storage=anaconda.storage) blradio = RadioGroup() (update, nobl) = (0, 0) if self.dispatch.stepInSkipList("instbootloader"): nobl = 1 elif not (newToLibata or self.type is None or self.bootDev is None): update = 1 if newToLibata or self.type is None or self.bootDev is None: if newToLibata: t = TextboxReflowed(53, _("Due to system changes, your boot loader " "configuration can not be automatically updated.")) else: t = TextboxReflowed(53, _("The installer is unable to detect the boot loader " "currently in use on your system.")) self.update_radio = blradio.add(_("Update boot loader configuration"), "update", update) self.update_radio.w.checkboxSetFlags(FLAG_DISABLED, FLAGS_SET) else: t = TextboxReflowed(53, _("The installer has detected the %(type)s " "boot loader currently installed on " "%(bootDev)s.") % {'type': self.type, 'bootDev': self.bootDev}) self.update_radio = blradio.add(_("Update boot loader configuration"), "update", update) self.nobl_radio = blradio.add(_("Skip boot loader updating"), "nobl", nobl) buttons = ButtonBar(screen, [TEXT_OK_BUTTON, TEXT_BACK_BUTTON]) grid = GridFormHelp(screen, _("Upgrade Boot Loader Configuration"), "bl-upgrade", 1, 5) grid.add(t, 0, 0, (0,0,0,1)) grid.add(self.update_radio, 0, 1, (0,0,0,0)) grid.add(self.nobl_radio, 0, 2, (0,0,0,0)) grid.add(buttons, 0, 3, growx = 1) while 1: result = grid.run() button = buttons.buttonPressed(result) if button == TEXT_BACK_CHECK: screen.popWindow() return INSTALL_BACK if blradio.getSelection() == "nobl": self.dispatch.skipStep("bootloadersetup", skip = 1) self.dispatch.skipStep("bootloader", skip = 1) self.dispatch.skipStep("instbootloader", skip = 1) else: self.dispatch.skipStep("bootloadersetup", skip = 0) self.dispatch.skipStep("bootloader", skip = 1) self.dispatch.skipStep("instbootloader", skip = 0) self.bl.doUpgradeOnly = 1 if self.type == "GRUB": self.bl.useGrubVal = 1 else: self.bl.useGrubVal = 0 self.bl.setDevice(devicePathToName(self.bootDev)) screen.popWindow() return INSTALL_OK
def __call__(self, screen, anaconda): self.screen = screen self.dispatch = anaconda.dispatch self.bl = anaconda.bootloader newToLibata = self._ideToLibata(anaconda.rootPath) (self.type, self.bootDev) = \ checkbootloader.getBootloaderTypeAndBoot(anaconda.rootPath, storage=anaconda.storage) blradio = RadioGroup() (update, nobl) = (0, 0) if self.dispatch.stepInSkipList("instbootloader"): nobl = 1 elif not (newToLibata or self.type is None or self.bootDev is None): update = 1 if newToLibata or self.type is None or self.bootDev is None: if newToLibata: t = TextboxReflowed( 53, _("Due to system changes, your boot loader " "configuration can not be automatically updated.")) else: t = TextboxReflowed( 53, _("The installer is unable to detect the boot loader " "currently in use on your system.")) self.update_radio = blradio.add( _("Update boot loader configuration"), "update", update) self.update_radio.w.checkboxSetFlags(FLAG_DISABLED, FLAGS_SET) else: t = TextboxReflowed( 53, _("The installer has detected the %(type)s " "boot loader currently installed on " "%(bootDev)s.") % { 'type': self.type, 'bootDev': self.bootDev }) self.update_radio = blradio.add( _("Update boot loader configuration"), "update", update) self.nobl_radio = blradio.add(_("Skip boot loader updating"), "nobl", nobl) buttons = ButtonBar(screen, [TEXT_OK_BUTTON, TEXT_BACK_BUTTON]) grid = GridFormHelp(screen, _("Upgrade Boot Loader Configuration"), "bl-upgrade", 1, 5) grid.add(t, 0, 0, (0, 0, 0, 1)) grid.add(self.update_radio, 0, 1, (0, 0, 0, 0)) grid.add(self.nobl_radio, 0, 2, (0, 0, 0, 0)) grid.add(buttons, 0, 3, growx=1) while 1: result = grid.run() button = buttons.buttonPressed(result) if button == TEXT_BACK_CHECK: screen.popWindow() return INSTALL_BACK if blradio.getSelection() == "nobl": self.dispatch.skipStep("bootloadersetup", skip=1) self.dispatch.skipStep("bootloader", skip=1) self.dispatch.skipStep("instbootloader", skip=1) else: self.dispatch.skipStep("bootloadersetup", skip=0) self.dispatch.skipStep("bootloader", skip=1) self.dispatch.skipStep("instbootloader", skip=0) self.bl.doUpgradeOnly = 1 if self.type == "GRUB": self.bl.useGrubVal = 1 else: self.bl.useGrubVal = 0 self.bl.setDevice(devicePathToName(self.bootDev)) screen.popWindow() return INSTALL_OK