def update_buttons(self): install_ok = False multiple = False grub2_edit_ok = False if ( self.cfg.cur_mbr_device and os.path.exists("/dev/{0}".format(self.cfg.cur_mbr_device)) and slt.getDiskInfo(self.cfg.cur_mbr_device) ): if self.cfg.cur_bootloader == "lilo" and not self._editing: if len(self.BootPartitionListStore) > 1: multiple = True for bp in self.BootPartitionListStore: if bp[4] == "gtk-yes": install_ok = True elif self.cfg.cur_bootloader == "grub2": if ( self.cfg.cur_boot_partition and os.path.exists("/dev/{0}".format(self.cfg.cur_boot_partition)) and slt.getPartitionInfo(self.cfg.cur_boot_partition) ): install_ok = True if install_ok: partition = os.path.join("/dev", self.cfg.cur_boot_partition) if slt.isMounted(partition): mp = slt.getMountPoint(partition) doumount = False else: mp = slt.mountDevice(partition) doumount = True grub2_edit_ok = os.path.exists(os.path.join(mp, "etc/default/grub")) if doumount: slt.umountDevice(mp) self.RadioLilo.set_sensitive(not self._editing) self.RadioGrub2.set_sensitive(not self._editing) self.ComboBoxMbr.set_sensitive(not self._editing) self.BootPartitionTreeview.set_sensitive(not self._custom_lilo) self.UpButton.set_sensitive(not self._editing and multiple) self.DownButton.set_sensitive(not self._editing and multiple) self.LiloUndoButton.set_sensitive(not self._editing and self._custom_lilo) self.LiloEditButton.set_sensitive(not self._editing and install_ok) self.Grub2EditButton.set_sensitive(grub2_edit_ok) self.ExecuteButton.set_sensitive(not self._editing and install_ok)