def connectFocus(widget, context): urwidm.connect_signal(widget, 'focusgain', focusGain, context) urwidm.connect_signal(widget, 'focuslost', focusLost, context)
def _createMbrDeviceSectionView(self): comboBox = self._createComboBoxEdit(_("Install bootloader on:"), self.cfg.disks) urwidm.connect_signal(comboBox, 'change', self._onMBRChange) self._installHelpContext(comboBox, 'mbr') return comboBox
def _createBootloaderSectionView(self): if self.cfg.cur_bootloader == 'lilo': listDevTitle = _("Partition") listFSTitle = _("File system") listLabelTitle = _("Boot menu label") listDev = [urwidm.TextMore(listDevTitle)] listFS = [urwidm.TextMore(listFSTitle)] listType = [urwidm.TextMore(_("Operating system"))] listLabel = [urwidm.TextMore(listLabelTitle)] listActionUp = [urwidm.TextMore("")] listActionDown = [urwidm.TextMore("")] for l in (listDev, listFS, listType, listLabel, listActionUp, listActionDown): l[0].sensitive_attr = 'strong' self._labelPerDevice = {} for p in self.cfg.boot_partitions: dev = p[0] fs = p[1] ostype = p[3] label = re.sub(r'[()]', '', re.sub(r'_\(loader\)', '', re.sub(' ', '_', p[4]))) # lilo does not like spaces and pretty print the label listDev.append(urwidm.TextMore(dev)) listFS.append(urwidm.TextMore(fs)) listType.append(urwidm.TextMore(ostype)) self._labelPerDevice[dev] = label editLabel = self._createEdit(edit_text=label, wrap=urwidm.CLIP) urwidm.connect_signal(editLabel, 'change', self._onLabelChange, dev) urwidm.connect_signal(editLabel, 'focusgain', self._onHelpFocusGain, 'lilotable') urwidm.connect_signal(editLabel, 'focuslost', self._onLabelFocusLost, dev) listLabel.append(editLabel) btnUp = self._createButton("↑", on_press=self._moveLineUp, user_data=p[0]) self._installHelpContext(btnUp, 'liloup') listActionUp.append(btnUp) btnDown = self._createButton("↓", on_press=self._moveLineDown, user_data=p[0]) self._installHelpContext(btnDown, 'lilodown') listActionDown.append(btnDown) colDev = urwidm.PileMore(listDev) colFS = urwidm.PileMore(listFS) colType = urwidm.PileMore(listType) colLabel = urwidm.PileMore(listLabel) colActionUp = urwidm.PileMore(listActionUp) colActionDown = urwidm.PileMore(listActionDown) urwidm.connect_signal(colLabel, 'focuslost', self._onLiloColumnFocusLost, [colLabel, colActionUp, colActionDown]) urwidm.connect_signal(colActionUp, 'focuslost', self._onLiloColumnFocusLost, [colLabel, colActionUp, colActionDown]) urwidm.connect_signal(colActionDown, 'focuslost', self._onLiloColumnFocusLost, [colLabel, colActionUp, colActionDown]) self._liloTable = urwidm.ColumnsMore([('fixed', max(6, len(listDevTitle)), colDev), ('fixed', max(6, len(listFSTitle)), colFS), colType, ('fixed', max(self._liloMaxChars + 1, len(listLabelTitle)), colLabel), ('fixed', 5, colActionUp), ('fixed', 5, colActionDown)], dividechars=1) self._liloTableLines = urwidm.LineBoxMore(self._liloTable) self._liloTableLines.sensitive_attr = "strong" self._liloTableLines.unsensitive_attr = "unfocusable" self._liloBtnEdit = self._createButton(_("_Edit configuration").replace("_", ""), on_press=self._editLiLoConf) self._installHelpContext(self._liloBtnEdit, 'liloedit') self._liloBtnCancel = self._createButton(_("_Undo configuration").replace("_", ""), on_press=self._cancelLiLoConf) self._installHelpContext(self._liloBtnCancel, 'lilocancel') self._liloButtons = self._createCenterButtonsWidget([self._liloBtnEdit, self._liloBtnCancel]) pile = urwidm.PileMore([self._liloTableLines, self._liloButtons]) self._updateLiLoButtons() return pile elif self.cfg.cur_bootloader == 'grub2': comboBox = self._createComboBox(_("Install Grub2 files on:"), self.cfg.partitions) urwidm.connect_signal(comboBox, 'change', self._onGrub2FilesChange) self._installHelpContext(comboBox, 'partition') self._grub2BtnEdit = self._createButton(_("_Edit configuration").replace("_", ""), on_press=self._editGrub2Conf) self._installHelpContext(self._grub2BtnEdit, 'grub2edit') pile = urwidm.PileMore([comboBox, self._createCenterButtonsWidget([self._grub2BtnEdit])]) self._onGrub2FilesChange(comboBox, comboBox.selected_item[0], None) return pile else: return urwidm.Text("")
def _installHelpContext(self, widget, context): urwidm.connect_signal(widget, 'focusgain', self._onHelpFocusGain, context) urwidm.connect_signal(widget, 'focuslost', self._onHelpFocusLost)