- et2-date-duration with emptyNot0 attribute set, was still regarding "" as 0
- preferences class was not recognising change from 0.0 to "" (Array comparison with == vs. array_diff_assoc())
- preferences_settings was not updating $GLOBALS[egw_info][user][preferences], which was used in calendar settings hook
boolean attributes should not have a default of true, because DOM does NOT reflect false and we need to reflect for use in NM
--> changed default for select_unit for r/o duration to false and set it in timesheet.index to true
--> changing it for r/w too would require a lot of xet files to be updated (we don't need reflection there)
also adding it to all properties used by the r/o widget
This needs to be done by a lot more r/o widgets, if they assign their default values in the constructor!
- Missing border in Et2DateDuration without unit selector
- Box alignment was not applied to widget inputs (Et2DateDuration) when the widget inputs did not fill all available space
@Nathan: Not sure if this is the right fix, but I can't see where we use Lit's FormatMixing, which defines serializedValue (and therefore select-box always returns the old modalValue)
Paying more attention to the WebComponent life cycle here, rather than what our widgets do - connectedCallback(), requestUpdate(), updated() are more important than loadFromXML(), etc. which are only used when loading from the .xet the first time.