Zamora Teran/Borrar borrar

From OLPC
Jump to: navigation, search

Tarea: Borrar la opción de borrar desde la interfase de Sugar. Así solucionamos el problema que los niños borran sus actividades con frecuencía.

Sugar esta compuesto de unos paquetes: sugar, sugar-toolkit, sugar-base, sugar-artwork.

Para ver los archivos dentro de un paquete, por ejemplo el paquete de sugar:

rpm -q --filesbypkg sugar

El codigo de sugar queda principalmente en 2 lugares:

  1. /usr/share/sugar - el codigo del interfaz (la vista hogar, el panel de control, el cuadro, ...)
  2. /usr/lib/python2.5/site-packages/sugar (funcionalidad para las actividades, por ejemplo para grabar al diario)

Primero, tuvimos que buscar el lugar donde queda el codigo que hace el menu con la opción de borrar.

Cambiamos el idioma de sugar a ingles para ver como se dice la opcion en ingles. Dice 'Erase'.

El codigo solo tiene las palabres en inglés (las traducciones quedan en otro lugar). Ahora que sabemos el ingles, podemos buscar todo el codigo para la palabra "Erase" (con grep en modalidad recursiva):

grep -R Erase /usr/lib/python2.5/site-packages/sugar /usr/share/sugar

Habían 4 resultados y el que queríamos fue obvio: dos resultados fueron del Diario (Journal), uno fue de un alert (dialog), y otro era de shell/view/palettes.py (dice 'menu_item' tambien, entonces obvio).

Hicimos un backup:

cd /usr/share/sugar/shell/view/palettes.py
cp palettes.py palettes.py.orig

Cambiamos el archivo para quitar el menuitem de "Erase" y revisamos el diff:

diff -u palettes.py.orig palettes.py

Parecio bien entonces reinciamos sugar y verificamos que ya no hay la opcion de borrar. Éxito!