This patch adds support for Sliders, so that not only Checkboxes and Dropdowns can be used, and uses that Slider support for RelicDuration, WonderDuration and Ceasefire.
The benefit for the users is that they can select not only the predetermined values.
This may also be considered a disadvantage, since there are use cases to distinguish 1min, 2min, 3min, 4min of ceasefire, but not 30min, 31min, 32min, 33min.
An advantage from the code POV is that gui/common/ becomes cleaned (this could also be achieved by moving these JSONs to the gamesetup/),
and that code is removed by using the slider.
Another problem with the slider is the rounding, which is only supported using workarounds until D406 is committed.
Yet another problem with the slider is that there is no place where the value is shown, except for the gamedescriptions tab on the right hand side.
This problem was solved for the options page by showing the tooltip. But here we can't use that, because the tooltip is on the bottomleft corner - even further away than the gamedescription.
And not using the external tooltip means the fields are become noticably inconsistent (slider tooltip shows below the mouse, dropdown on the bottom left, irritating).
Perhaps this can be solved by showing tooltips always below the mouse.
nani proposed to add an input field right beside the slider, but then why do we need the slider (it would be less code and less UI if it only was an input field).
Another idea is to keep using the dropdown values [0, 1, 3, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 75, 90, 105, 120], but map them onto a slider, though that would also sound a lot like wasted code complexity.
Edit: Updated version with label, and 36px setting height instead of 32px: