"She will have adored that by the time she opens the box."
Translation:Ela terá adorado aquilo na hora em que abrir a caixa.
This que is really needed and it's part of some constructions in Portuguese. If my grammar is not that bad, it's working as a relative pronoun, since it refers to the time when the box is opened. In English, sometimes we're allowed to skip relatives pronouns (correct me if I'm wrong): 1. This is the food [that] I like; 2. It's the job [that] I always wanted; 3. She will have adored that by the time [that] she opens the box ;-)
In Portuguese these pronouns are never (or at least rarely) skipped.
Why is 'que' needed here, when 'quando + infinitive' has been used in many other examples of this sort of construction?
We use "abrir" instead of "abre" because this sentence uses the future subjunctive. I could spend a few words explaining it, but in this case I'll just add some reference to this subject: http://www.semantica-portuguese.com/brazilian-portuguese-the-future-subjunctive-7999.