While the code looks ok, compiles and works as advertised, it will not be approved - thus merged into trunk - as long as the design and user-interaction discussion does not agree with this. At least this is something that can be considered to be part of a future user-testing session and see how this behaviour is received compared to the current one.
On a general note... adding numerous options, which divert from the default, causes the introduction of code-paths note exercised as much as others (default) ones. Thus code-rot is a potential danger here... where options could cause unknown/undiscovered side-effects, because they just have not been tested as much.
While the code looks ok, compiles and works as advertised, it will not be approved - thus merged into trunk - as long as the design and user-interaction discussion does not agree with this. At least this is something that can be considered to be part of a future user-testing session and see how this behaviour is received compared to the current one.
On a general note... adding numerous options, which divert from the default, causes the introduction of code-paths note exercised as much as others (default) ones. Thus code-rot is a potential danger here... where options could cause unknown/ undiscovered side-effects, because they just have not been tested as much.