Commit 9e26fc90 by Tecnicos

Ya esta arreglado los formatos de la carpeta y ya se recuerdan cambios en los metadatos

parent 3d96b3bf
......@@ -37,7 +37,6 @@ class Carpeta extends ElementoSeleccionable {
InfoFormato (
carpeta: this,
formato: f,
subCarpeta: false
)
);
_elementos.add(fse);
......
......@@ -6,13 +6,16 @@ class PaginaConfiguracion extends StatefulWidget {
final ListaSeleccionables _lista;
final int _indice;
final Convertible _elementoAsociado;
final Carpeta? _carpeta;
const PaginaConfiguracion({
super.key,
required ListaSeleccionables lista,
required int indice,
required Convertible elemento,
}): _lista = lista, _indice = indice, _elementoAsociado = elemento;
Carpeta? carpeta
}): _lista = lista, _indice = indice,
_elementoAsociado = elemento, _carpeta = carpeta;
@override
State<PaginaConfiguracion> createState() => _PaginaConfiguracionState();
......@@ -54,6 +57,17 @@ class _PaginaConfiguracionState extends State<PaginaConfiguracion> {
}
Widget _construirCuerpo() {
if (widget._carpeta != null) {
InfoFormato infoFormato = widget._elementoAsociado as InfoFormato;
return PaginaConversion.carpeta(
formatoOriginal: infoFormato.formatoOriginal,
indiceArchivo: widget._indice,
carpeta: widget._carpeta!,
infoFormato: infoFormato,
lista: widget._lista
);
}
Formato formatoOriginal = widget._elementoAsociado.formatoOriginal;
bool esFormatoVideo = formatoOriginal.tipoMultimedia == TipoMultimedia.video;
......@@ -76,8 +90,10 @@ class _PaginaConfiguracionState extends State<PaginaConfiguracion> {
builder: (context, snapshot) {
return snapshot.hasData
? PaginaMetadatos(
metadatos: snapshot.data!,
formato: archivo.formatoOriginal
lista: widget._lista,
indice: widget._indice,
archivo: archivo,
metadatos: snapshot.data!,
)
: const CircularProgressIndicator();
}
......
......@@ -190,8 +190,9 @@ class _PaginaConfiguracionCarpetaState extends State<PaginaConfiguracionCarpeta>
Widget _buildFilasFormato(BuildContext context){
List<Widget> listaCarpeta = <Widget>[];
List<Widget> listaSubcarpeta = <Widget>[];
int index = 0;
for(InfoFormato i in widget._formatosCarpeta){
++index;
Widget fila = Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
......@@ -234,6 +235,13 @@ class _PaginaConfiguracionCarpetaState extends State<PaginaConfiguracionCarpeta>
() {
Navigator.push(context,
MaterialPageRoute(builder: (context) {
return PaginaConfiguracion(
lista: widget._lista,
indice: index-1,
elemento: i,
carpeta: widget._carpeta
);
/*
return PaginaConversion.carpeta(
formatoOriginal: i.formatoOriginal,
indiceArchivo: widget._indice,
......@@ -241,6 +249,7 @@ class _PaginaConfiguracionCarpetaState extends State<PaginaConfiguracionCarpeta>
infoFormato: i,
lista: widget._lista
);
*/
}
));
},
......
......@@ -2,11 +2,14 @@ import 'package:flutter/material.dart';
import 'package:prueba_multimedia/modelo/modelo.dart';
class PaginaMetadatos extends StatefulWidget {
final ListaSeleccionables _lista;
final int _indice;
final Archivo _archivo;
final List<Metadato> _metadatos;
final Formato _formato;
const PaginaMetadatos({super.key, required metadatos, required formato}):
_metadatos = metadatos, _formato = formato;
const PaginaMetadatos({super.key, required ListaSeleccionables lista,
required int indice, required Archivo archivo, required List<Metadato> metadatos}):
_lista = lista, _indice = indice, _archivo = archivo, _metadatos = metadatos;
@override
State<PaginaMetadatos> createState() => _PaginaMetadatosState();
......@@ -18,16 +21,19 @@ class _PaginaMetadatosState extends State<PaginaMetadatos> {
@override
void initState() {
void initState() {
super.initState();
var metadatos = widget._metadatos;
for (var metadato in metadatos) {
for (var metadato in widget._metadatos) {
String valorElegido = metadato.valor;
_valoresElegidos.add(valorElegido);
var controller = TextEditingController(text: metadato.valor);
controller.addListener(
() => setState(() { valorElegido = controller.text; })
() => setState(() {
valorElegido = controller.text;
metadato.valor = controller.text;
widget._lista.actualizaSeleccionable(widget._indice, widget._archivo);
})
);
_controladores.add(controller);
}
......@@ -43,8 +49,7 @@ class _PaginaMetadatosState extends State<PaginaMetadatos> {
@override
Widget build(BuildContext context) {
var metadatos = widget._metadatos;
if(metadatos.isNotEmpty){
if(widget._metadatos.isNotEmpty){
return SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(15.0),
......@@ -56,7 +61,7 @@ class _PaginaMetadatosState extends State<PaginaMetadatos> {
}
else {
String mensaje = 'El formato seleccionado '
'(.${widget._formato.extension}) no admite metadatos';
'(.${widget._archivo.formatoOriginal.extension}) no admite metadatos';
return Padding(
padding: const EdgeInsets.all(15.0),
child: SafeArea(
......
......@@ -267,6 +267,13 @@ class _CarpetaWidgetState extends State<CarpetaWidget>
onPressed: () {
Navigator.push(context,
MaterialPageRoute(builder: (context) {
return PaginaConfiguracion(
lista: widget.lista,
indice: index-1,
elemento: elemento,
carpeta: carpeta
);
/*
return PaginaConversion.carpeta(
formatoOriginal: elemento.formatoOriginal,
indiceArchivo: index-1,
......@@ -274,6 +281,7 @@ class _CarpetaWidgetState extends State<CarpetaWidget>
infoFormato: elemento,
lista: widget.lista
);
*/
}
));
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment