Noticia Vala + GTK+3 y Granite (guardar valores en dconf)

Programando en Vala y GTK+, todo nos habremos preguntado alguna vez ¿como hacer que una aplicación escrita en Vala y GTK+ pueda guardar los estados de los parámetros del tamaño de la ventana y demás?. Son de estos tipicos casos que usamos gschemas para guardar dichos valores (esta aplicación tan conocida dconf-editor) que gestiona gráficamente estos esquemas.

Ahora les muestro como hacer esto en sencillos pasos y sin complicaciones usando la clase Granite.Services.Settings de la librería Granite.

¿Que necesitamos?


Primeramente necesitamos tener instalado las librerías de GTK+, Granite y Vala para poder compilar nuestro código. Para ello en Ubuntu/ElementaryOS usamos el comando:

sudo apt-get install libgtk-3-dev libgranite-dev granite-demo valac

Y también necesitaremos cualquier editor de texto que soporte sintaxis Vala/GTK+ y XML como Scratch Text Editor (default de ElementaryOS), GEdit, Sublime Text + Plugins, etc.

El Código


A continuación los archivos del Ejemplo. Para mejor comprensión dejo el código en PASTE con comentarios en ellos:





Explicaciones


El archivo del Schema, si o si debe ser XML y llamarse ORG.APLICACION.GSCHEMA.XML. Es decir, tanto el ORG como GSCHEMA.XML deben estar para que dconf la reconozca como esquema. Además estos esquemas deben ir copiados a la ruta:

/usr/share/glib-2.0/schemas/

y necesitan ser compilado para que DCONF las tome, para ello ejecutamos el comando:

sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

Compilando


Para compilar nuestro programa tenemos que lanzar el siguiente comando en una terminal:

valac --pkg gtk+-3.0 --pkg granite main.vala tutorial.vala settings.vala

Y ejecutar el binario con el comando:

./main

Conclusiones


Es uno de los mejores métodos para guardar el estado de nuestra APP en GSCHEMA usando GLIB. Cualquier tipo de pregunta estaré contento de responderla.

Acá les dejo una captura de mi Ubuntu y el Ejemplo:




NMoZr3Y7Ge8


Continúar leyendo...