def table_row_selected(self, fila): """Acciones a tomar cuando una fila de la tabla es seleccionada""" # Si no se selecciona una fila valida if fila == None: print "Nada seleccionado." return else: self.fila_selec = fila # BTN_NUEVA if is_free(fila): # Activar solo si hay menos de 4 particiones primarias if is_primary(fila) and self.count_primary() < 4: self.btn_nueva.set_sensitive(True) # o si la part. libre es logica elif is_logic(fila) and self.count_logical() < 11: self.btn_nueva.set_sensitive(True) else: self.btn_nueva.set_sensitive(False) else: self.btn_nueva.set_sensitive(False) # BTN_USAR if is_usable(self.fila_selec): self.btn_editar.set_sensitive(True) else: self.btn_editar.set_sensitive(False) # BTN_REDIMENSION # Si la particion NO es libre # si el filesystem tiene redimensionador # y no se ha marcado la aprticion para usarla # y si hay espacio para redimensionar dentro de la particion if ( fila[TblCol.FORMATO] != msj.particion.libre and is_resizable(fila[TblCol.FORMATO]) and fila[TblCol.ESTADO] != PStatus.USED and floatify(fila[TblCol.TAMANO]) > floatify(fila[TblCol.USADO]) ): self.btn_redimension.set_sensitive(True) else: self.btn_redimension.set_sensitive(False) # BTN_ELIMINAR # Solo se pueden eliminar particiones, no los espacios libres # TODO: Eliminar part. extendidas (necesita verificar part. logicas) if not is_free(fila): self.btn_eliminar.set_sensitive(True) else: self.btn_eliminar.set_sensitive(False)
def table_row_selected(self, fila): '''Acciones a tomar cuando una fila de la tabla es seleccionada''' # Si no se selecciona una fila valida if fila == None: print "Nada seleccionado." return else: self.fila_selec = fila # BTN_NUEVA if is_free(fila): # Activar solo si hay menos de 4 particiones primarias if is_primary(fila) and self.count_primary() < 4: self.btn_nueva.set_sensitive(True) # o si la part. libre es logica elif is_logic(fila) and self.count_logical() < 11: self.btn_nueva.set_sensitive(True) else: self.btn_nueva.set_sensitive(False) else: self.btn_nueva.set_sensitive(False) # BTN_USAR if is_usable(self.fila_selec): self.btn_editar.set_sensitive(True) else: self.btn_editar.set_sensitive(False) #BTN_REDIMENSION # Si la particion NO es libre # si el filesystem tiene redimensionador # y no se ha marcado la aprticion para usarla # y si hay espacio para redimensionar dentro de la particion if fila[TblCol.FORMATO] != msj.particion.libre \ and is_resizable(fila[TblCol.FORMATO]) \ and fila[TblCol.ESTADO] != PStatus.USED \ and floatify(fila[TblCol.TAMANO]) > floatify(fila[TblCol.USADO]): self.btn_redimension.set_sensitive(True) else: self.btn_redimension.set_sensitive(False) # BTN_ELIMINAR # Solo se pueden eliminar particiones, no los espacios libres #TODO: Eliminar part. extendidas (necesita verificar part. logicas) if not is_free(fila): self.btn_eliminar.set_sensitive(True) else: self.btn_eliminar.set_sensitive(False)
def __init__(self, parent_diag, lista, part_act): ''' Constructor ''' gtk.Table.__init__(self, 6, 6) self.lista = lista self.part_act = part_act self.parent_diag = parent_diag #Tipo de partición self.lbl1 = gtk.Label(_("Partition type:")) self.lbl1.set_alignment(0, 0.5) self.attach(self.lbl1, 0, 1, 0, 1) self.lbl1.show() self.cmb_tipo = gtk.combo_box_new_text() if is_logic(self.part_act): self.cmb_tipo.append_text(msj.particion.logica) self.cmb_tipo.set_sensitive(False) else: self.cmb_tipo.append_text(msj.particion.primaria) # Solo se permite una particion extendida en el disco if not has_extended(self.lista): self.cmb_tipo.append_text(msj.particion.extendida) self.cmb_tipo.set_active(0) self.attach(self.cmb_tipo, 1, 2, 0, 1) self.cmb_tipo.connect("changed", self.cmb_tipo_on_changed) self.cmb_tipo.show() #Sistema de Archivos self.lbl2 = gtk.Label(_("File system:")) self.lbl2.set_alignment(0, 0.5) self.attach(self.lbl2, 0, 1, 1, 2) self.lbl2.show() self.cmb_fs = gtk.combo_box_new_text() self.cmb_fs_fill() self.cmb_fs.connect("changed", self.cmb_fs_on_changed) self.attach(self.cmb_fs, 1, 2, 1, 2) self.cmb_fs.show() # Punto de Montaje self.lbl3 = gtk.Label(_("Mount point:")) self.lbl3.set_alignment(0, 0.5) self.lbl3.set_size_request(200, 30) self.attach(self.lbl3, 0, 1, 2, 3) self.lbl3.show() self.cmb_montaje = gtk.combo_box_new_text() self.cmb_montaje_fill() self.attach(self.cmb_montaje, 1, 2, 2, 3) self.cmb_montaje.connect("changed", self.cmb_montaje_on_changed) self.cmb_montaje.show() self.entrada = gtk.Entry() self.entrada.set_text('/') self.attach(self.entrada, 1, 2, 2, 3) self.entrada.connect("changed", self.validate_m_point) self.formatear = gtk.CheckButton(_("Format this partition")) self.attach(self.formatear, 1, 2, 3, 4) self.formatear.set_visible(is_usable(self.part_act)) self.formatear.connect("toggled", self.cmb_fs_on_changed) self.formatear.show() self.show()