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)
Esempio n. 2
0
    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)
Esempio n. 3
0
    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()
Esempio n. 4
0
    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()