Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYader Velásquez <yajosev@gmail.com>2010-09-04 05:25:20 (GMT)
committer Yader Velásquez <yajosev@gmail.com>2010-09-04 05:25:20 (GMT)
commit958701efebdfdf634971c89c2d7d017d934c7a8b (patch)
tree6e1415c50cd5eafc14e67f82372acba7c3e282e8
parent0998139878240109abfb261e74b9679288eef454 (diff)
delete option OK
-rw-r--r--archivo.py19
-rw-r--r--calendario.py27
2 files changed, 42 insertions, 4 deletions
diff --git a/archivo.py b/archivo.py
index e4149f9..55507bf 100644
--- a/archivo.py
+++ b/archivo.py
@@ -21,6 +21,13 @@ import pickle
import gobject
from gettext import gettext as _
+def indice_entero(cadena):
+ '''return an int from a string with tuple sintax'''
+ cadena = cadena.replace('(','')
+ cadena = cadena.replace(',','')
+ cadena = cadena.replace(')','')
+ return int(cadena)
+
def crear_modelo(indice):
'''create the liststore model for the main block'''
archivo = open('files/actividades.pkl', 'rb')
@@ -58,3 +65,15 @@ def guardar_dato(indice, contenido):
f.flush()
f.close()
+def borrar_dato(indice,indice_lista):
+ '''delete the selected content'''
+ indice_lista = str(indice_lista)
+ indice = str(indice)
+ indice_lista = indice_entero(indice_lista)
+ f = open('files/actividades.pkl', 'rb+wb')
+ dia = pickle.load(f)
+ del dia[indice][indice_lista]
+ f.seek(0)
+ pickle.dump(dia, f)
+ f.flush()
+ f.close()
diff --git a/calendario.py b/calendario.py
index f8192dd..67390e2 100644
--- a/calendario.py
+++ b/calendario.py
@@ -18,7 +18,7 @@
from gettext import gettext as _
from fecha import FechaUnix, FechaNormal
-from archivo import crear_modelo, abrir_efemeride, guardar_dato
+from archivo import crear_modelo, abrir_efemeride, guardar_dato, borrar_dato
import gtk
import pickle
@@ -44,10 +44,10 @@ class Calendario:
self.area_texto.set_shadow_type(gtk.SHADOW_IN)
self.area_texto.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
- #temporalmente solo de prueba
+
self.lista_fecha_t = self.calendario.get_date()
self.indice_dia_t = FechaUnix(self.lista_fecha_t)
-
+
self.modelo = crear_modelo(self.indice_dia_t.fecha_unix())
self.actividades = gtk.TreeView(self.modelo)
self.area_texto.add(self.actividades)
@@ -103,7 +103,8 @@ class Calendario:
#callbacks
self.calendario.connect('day_selected', self._dia_selec_cb)
self.boton1.connect('clicked', self._nuevo_ingreso_cb)
-
+ self.boton2.connect('clicked', self._borrar_fila_cb)
+ #self.actividades.connect('select_cursor_row', self._seleccionar_celda_cb)
########################### Add Blocks ################################
self.contenedor_h.pack_start(self.contenedor_vi, False, padding = 5)
@@ -129,6 +130,12 @@ class Calendario:
'''main gtk'''
gtk.main()
+ #def _seleccionar_celda_cb(self, widget, data=None):
+ # '''test'''
+ # print 'se selecciono'
+
+
+
def _cerrar_cb(self, widget, data=None):
'''close gtk'''
gtk.main_quit()
@@ -137,6 +144,16 @@ class Calendario:
'''when a date is selected'''
self.date = self.calendario.get_date()
+ def _borrar_fila_cb(self, widget, data=None):
+ '''deleted the selected row'''
+ self.seleccion = self.actividades.get_selection()
+ self.model, self.iter = self.seleccion.get_selected()
+ self.enlace = self.modelo.get_path(self.iter)
+ self.lista_fecha = self.calendario.get_date()
+ self.indice_dia = FechaUnix(self.lista_fecha)
+ borrar_dato(self.indice_dia.fecha_unix(), self.enlace)
+
+
def _nuevo_ingreso_cb(self, widget, data=None):
'''when the user clicked on the save button,
the content is added to a python object and
@@ -160,6 +177,8 @@ class Calendario:
self.columna = gtk.TreeViewColumn(self.actividad, self.celda, text = 1)
self.actividades.append_column(self.columna)
+
+
if __name__ == "__main__":
foo = Calendario()