From: Enlightenment S. <no-...@en...> - 2010-06-18 22:09:20
|
Log: Validating names of icons/content in elm_widgets Now, when an invalid name is set the old name is recovered By: Fabiano Fidencio <fid...@pr...> Author: sachiel Date: 2010-06-18 15:09:14 -0700 (Fri, 18 Jun 2010) New Revision: 49749 Modified: trunk/editje/editje/details.py trunk/editje/editje/details_state.py Modified: trunk/editje/editje/details.py =================================================================== --- trunk/editje/editje/details.py 2010-06-18 22:09:06 UTC (rev 49748) +++ trunk/editje/editje/details.py 2010-06-18 22:09:14 UTC (rev 49749) @@ -239,8 +239,9 @@ for i, p in efunc(prop_attrs): if is_external[i]: - self.e.part.state.external_param_set(prop_attrs[i], - prop_values[i]) + if not self.e.part.state.external_param_set(prop_attrs[i], + prop_values[i]): + return i else: obj = self._prop_object_get() setattr(obj, prop_attrs[i], prop_values[i]) @@ -251,6 +252,7 @@ label_value = prop_values[i] if self[prop_groups[i]][prop_names[i]].value != label_value: self[prop_groups[i]][prop_names[i]].value = label_value + return True if not self._prop_object_get: raise NotImplementedError( @@ -280,9 +282,13 @@ old_values = self._prop_old_values_get(prop_attrs, is_external) - set_property(part_name, state_name, anim_name, frame, sig_name, + is_valid = set_property(part_name, state_name, anim_name, frame, sig_name, prop_attrs, prop_names, prop_values, is_external, filters) + if is_valid is not True: + self["external"][prop_attrs[is_valid]].value = old_values[is_valid] + return + op = Operation(op_name) op.redo_callback_add( set_property, part_name, state_name, anim_name, frame, sig_name, Modified: trunk/editje/editje/details_state.py =================================================================== --- trunk/editje/editje/details_state.py 2010-06-18 22:09:06 UTC (rev 49748) +++ trunk/editje/editje/details_state.py 2010-06-18 22:09:14 UTC (rev 49749) @@ -767,8 +767,8 @@ for p in self._params_info: if p.name == prop: if not p.validate(value): - nil, value = self.state.external_param_get(prop) - self["external"][prop].value = value + nil, old_value = self.state.external_param_get(prop) + self["external"][prop].value = old_value return args = [["external"], [prop], [value], [None], [True], [None]] self._prop_change_do( |