X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FForm%2FType%2FConfigType.php;h=1714ce74aa549e2cdddcb9f231dc946148e0a75f;hb=0eb8220204953b874ebd2dbd0362973f3f45074c;hp=a139f2df0f076bd4ec5af45aa90f5d610f1260b6;hpb=1930c19d8214c05ceefac5ac011a6b6e7e4a983d;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Form/Type/ConfigType.php b/src/Wallabag/CoreBundle/Form/Type/ConfigType.php index a139f2df..1714ce74 100644 --- a/src/Wallabag/CoreBundle/Form/Type/ConfigType.php +++ b/src/Wallabag/CoreBundle/Form/Type/ConfigType.php @@ -7,11 +7,12 @@ 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\OptionsResolver; +use Wallabag\CoreBundle\Entity\Config; class ConfigType extends AbstractType { - private $themes = array(); - private $languages = array(); + private $themes = []; + private $languages = []; /** * @param array $themes Themes come from the LiipThemeBundle (liip_theme.themes) @@ -21,7 +22,9 @@ class ConfigType extends AbstractType { $this->themes = array_combine( $themes, - array_map(function ($s) { return ucwords(strtolower(str_replace('-', ' ', $s))); }, $themes) + array_map(function ($s) { + return ucwords(strtolower(str_replace('-', ' ', $s))); + }, $themes) ); $this->languages = $languages; @@ -30,24 +33,51 @@ class ConfigType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('theme', ChoiceType::class, array( + ->add('theme', ChoiceType::class, [ 'choices' => array_flip($this->themes), - 'choices_as_values' => true, - )) - ->add('items_per_page') - ->add('language', ChoiceType::class, array( + 'label' => 'config.form_settings.theme_label', + ]) + ->add('items_per_page', null, [ + 'label' => 'config.form_settings.items_per_page_label', + 'property_path' => 'itemsPerPage', + ]) + ->add('reading_speed', ChoiceType::class, [ + 'label' => 'config.form_settings.reading_speed.label', + 'property_path' => 'readingSpeed', + 'choices' => [ + 'config.form_settings.reading_speed.100_word' => '0.5', + 'config.form_settings.reading_speed.200_word' => '1', + 'config.form_settings.reading_speed.300_word' => '1.5', + 'config.form_settings.reading_speed.400_word' => '2', + ], + ]) + ->add('action_mark_as_read', ChoiceType::class, [ + 'label' => 'config.form_settings.action_mark_as_read.label', + 'property_path' => 'actionMarkAsRead', + 'choices' => [ + 'config.form_settings.action_mark_as_read.redirect_homepage' => Config::REDIRECT_TO_HOMEPAGE, + 'config.form_settings.action_mark_as_read.redirect_current_page' => Config::REDIRECT_TO_CURRENT_PAGE, + ], + ]) + ->add('language', ChoiceType::class, [ 'choices' => array_flip($this->languages), - 'choices_as_values' => true, - )) - ->add('save', SubmitType::class) + 'label' => 'config.form_settings.language_label', + ]) + ->add('pocket_consumer_key', null, [ + 'property_path' => 'pocketConsumerKey', + 'label' => 'config.form_settings.pocket_consumer_key_label', + ]) + ->add('save', SubmitType::class, [ + 'label' => 'config.form.save', + ]) ; } public function configureOptions(OptionsResolver $resolver) { - $resolver->setDefaults(array( + $resolver->setDefaults([ 'data_class' => 'Wallabag\CoreBundle\Entity\Config', - )); + ]); } public function getBlockPrefix()