X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FForm%2FType%2FConfigType.php;h=0a5ea6cc8f37397f0c7484dfe1d2962851c8a075;hb=6432b9277ed5dcf269590e421bd0aac4ad66f09c;hp=d5890971a976484793c13b033f24307fc1697b6a;hpb=2878416f8b4d94fb5e64c2fa61861526a7654d3d;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Form/Type/ConfigType.php b/src/Wallabag/CoreBundle/Form/Type/ConfigType.php index d5890971..0a5ea6cc 100644 --- a/src/Wallabag/CoreBundle/Form/Type/ConfigType.php +++ b/src/Wallabag/CoreBundle/Form/Type/ConfigType.php @@ -3,42 +3,62 @@ namespace Wallabag\CoreBundle\Form\Type; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\ChoiceType; +use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\FormBuilderInterface; -use Symfony\Component\OptionsResolver\OptionsResolverInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; class ConfigType extends AbstractType { private $themes = array(); + private $languages = array(); /** - * @param array $themes Themes come from the LiipThemeBundle (liip_theme.themes) + * @param array $themes Themes come from the LiipThemeBundle (liip_theme.themes) + * @param array $languages Languages come from configuration, array just code language as key and label as value */ - public function __construct($themes) + public function __construct($themes, $languages) { $this->themes = array_combine( $themes, array_map(function ($s) { return ucwords(strtolower(str_replace('-', ' ', $s))); }, $themes) ); + + $this->languages = $languages; } public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('theme', 'choice', array('choices' => $this->themes)) + ->add('theme', ChoiceType::class, array( + 'choices' => array_flip($this->themes), + 'choices_as_values' => true, + )) ->add('items_per_page') - ->add('language') - ->add('save', 'submit') + ->add('reading_speed', ChoiceType::class, array( + 'choices' => array( + 'I read ~100 words per minute' => '0.5', + 'I read ~200 words per minute' => '1', + 'I read ~300 words per minute' => '1.5', + 'I read ~400 words per minute' => '2', + ), + )) + ->add('language', ChoiceType::class, array( + 'choices' => array_flip($this->languages), + 'choices_as_values' => true, + )) + ->add('save', SubmitType::class) ; } - public function setDefaultOptions(OptionsResolverInterface $resolver) + public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( 'data_class' => 'Wallabag\CoreBundle\Entity\Config', )); } - public function getName() + public function getBlockPrefix() { return 'config'; }