diff options
author | Rogelio Mita <rogeliomita@activitycentral.com> | 2013-08-26 15:49:33 (GMT) |
---|---|---|
committer | Rogelio Mita <rogeliomita@activitycentral.com> | 2013-08-26 15:49:33 (GMT) |
commit | b1004f2560e6f2f82cf478f935174aea3c44ccc4 (patch) | |
tree | d1d0cd63be40df62a34f884fdb0489d40ba4ad64 /CeibalEncuesta | |
parent | 18fd3b6e598521b2f5c2d4275453b0e45d09cbe6 (diff) |
BugFix issue 4533: Update 'next' button status after check dependences
Diffstat (limited to 'CeibalEncuesta')
-rw-r--r-- | CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py index 3412933..80703b3 100644 --- a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py +++ b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py @@ -249,16 +249,16 @@ class Panel(gtk.Paned): self._window.get_vadjustment().set_value(0) elif accion == "Siguiente" and self.toolbar_encuesta.siguiente.active: - + ceibal_encuesta = self.get_toplevel() finalizada = False - + if index_visible < len(grupos) - 1: map(self.__hide_groups, grupos) map(self.__show_groups, [grupos[index_visible + 1]]) self.box_encuesta.queue_draw() self._window.get_vadjustment().set_value(0) - + if index_visible == len(grupos) - 2: self.toolbar_encuesta.encuesta_actual.finalizar() @@ -268,17 +268,17 @@ class Panel(gtk.Paned): for item in encuestado: user += " %s" % item encuestado = user.strip() - + if encuestado in ceibal_encuesta.out_dict.keys(): ceibal_encuesta.out_dict[encuestado]["finalizada"] = True - + self.toolbar_encuesta.siguiente.hide() self.toolbar_encuesta.anterior.show() finalizada = True - + ceibal_encuesta.copy_to_Documents() if finalizada: return - + self.__check_sensibility_butons() def load_encuestados(self, encuestados): @@ -399,7 +399,7 @@ class Panel(gtk.Paned): grupo_name = widget_grupo.grupo["name"] dict_pregunta = pregunta.pregunta.copy() - + if activan: dict_pregunta["default"] = list(activan) indice_grupo = widget_grupo.indice @@ -427,10 +427,10 @@ class Panel(gtk.Paned): for preg in preguntas: opciones_activas.extend(preg.widget_obtions.get_active_options()) - + almacenar = False # flag preguntas_a_checkear = [] # preguntas posteriores a la modificada - + ### Obtener preguntas posteriores a la que ha lanzado "new". for grupo in grupos[grupos.index(widget_grupo):-1]: @@ -491,6 +491,8 @@ class Panel(gtk.Paned): if preguntas_para_desactivar: gobject.idle_add(preguntas_para_desactivar[0].reset) + self.toolbar_encuesta.siguiente.emit("update_status", self) + def __get_encuestado(self): """ Devuelve lista con datos del @@ -625,7 +627,7 @@ class Panel(gtk.Paned): for preg in preguntas: contestada = preg.widget_obtions.get_active_options() con_dependencias = preg.pregunta.get("dependence", False) - + if contestada or not con_dependencias: preguntas_para_activar.append(preg) @@ -1647,7 +1649,7 @@ class Widget_MultipleCheckBox(gtk.VButtonBox): if child == widget: activan = [child.indice] - + else: if child.indice in activan: activan.remove(child.indice) child.set_active(False) @@ -1660,11 +1662,11 @@ class Widget_MultipleCheckBox(gtk.VButtonBox): if child.none and child.get_active(): if child.indice in activan: activan.remove(child.indice) child.set_active(False) - + else: if child.get_active(): if not child.indice in activan: activan.append(child.indice) - + self.emit("new", activan) def update(self, dict): |