@@ -1,3 +1,4 @@
1+{% from 'oscar/macros.html' import preferences_item_header, preferences_item_header_rtl, preferences_item_footer, preferences_item_footer_rtl %}
12{% extends "oscar/base.html" %}
23{% block title %}{{ _('preferences') }} - {% endblock %}
34{% block site_alert_warning_nojs %}
@@ -12,7 +13,7 @@
1213 <form method="post" action="{{ url_for('preferences') }}" id="search_form">
1314
1415 <!-- Nav tabs -->
15− <ul class="nav nav-tabs hide_if_nojs" role="tablist" style="margin-bottom:20px;">
16+ <ul class="nav nav-tabs nav-justified hide_if_nojs" role="tablist" style="margin-bottom:20px;">
1617 <li class="active"><a href="#tab_general" role="tab" data-toggle="tab">{{ _('General') }}</a></li>
1718 <li><a href="#tab_engine" role="tab" data-toggle="tab">{{ _('Engines') }}</a></li>
1819 </ul>
@@ -26,96 +27,94 @@
2627 <fieldset>
2728 <div class="container-fluid">
2829 <div class="row form-group">
29− <label class="col-sm-3 col-md-2">{{ _('Default categories') }}</label>
30+ {% if rtl %}
3031 <div class="col-sm-11 col-md-10">
3132 {% include 'oscar/categories.html' %}
3233 </div>
33− </div>
34− <div class="row form-group">
35− <label class="col-sm-3 col-md-2">{{ _('Search language') }}</label>
36− <div class="col-sm-4 col-md-4">
37− <select class="form-control" name='language'>
38− <option value="all" {% if current_language == 'all' %}selected="selected"{% endif %}>{{ _('Automatic') }}</option>
39− {% for lang_id,lang_name,country_name in language_codes %}
40− <option value="{{ lang_id }}" {% if lang_id == current_language %}selected="selected"{% endif %}>{{ lang_name }} ({{ country_name }}) - {{ lang_id }}</option>
41− {% endfor %}
42− </select>
43− </div>
44− <span class="col-sm-5 col-md-6 help-block">{{ _('What language do you prefer for search?') }}</span>
45− </div>
46− <div class="row form-group">
47− <label class="col-sm-3 col-md-2">{{ _('Interface language') }}</label>
48− <div class="col-sm-4 col-md-4">
49− <select class="form-control" name='locale'>
50− {% for locale_id,locale_name in locales.items() %}
51− <option value="{{ locale_id }}" {% if locale_id == current_locale %}selected="selected"{% endif %}>{{ locale_name }}</option>
52− {% endfor %}
53− </select>
34+ <label class="col-sm-3 col-md-2">{{ _('Default categories') }}</label>
35+ {% else %}
36+ <label class="col-sm-3 col-md-2">{{ _('Default categories') }}</label>
37+ <div class="col-sm-11 col-md-10">
38+ {% include 'oscar/categories.html' %}
5439 </div>
55− <span class="col-sm-5 col-md-6 help-block">{{ _('Change the language of the layout') }}</span>
40+ {% endif %}
5641 </div>
57− <div class="row form-group">
58− <label class="col-sm-3 col-md-2">{{ _('Autocomplete') }}</label>
59− <div class="col-sm-4 col-md-4">
42+ {% set language_label = _('Search language') %}
43+ {% set language_info = _('What language do you prefer for search?') %}
44+ {{ preferences_item_header(language_info, language_label) }}
45+ <select class="form-control" name='language'>
46+ <option value="all" {% if current_language == 'all' %}selected="selected"{% endif %}>{{ _('Automatic') }}</option>
47+ {% for lang_id,lang_name,country_name in language_codes %}
48+ <option value="{{ lang_id }}" {% if lang_id == current_language %}selected="selected"{% endif %}>{{ lang_name }} ({{ country_name }}) - {{ lang_id }}</option>
49+ {% endfor %}
50+ </select>
51+ {{ preferences_item_footer(language_info, language_label) }}
6052
61− <select class="form-control" name="autocomplete">
62− <option value=""> - </option>
63− {% for backend in autocomplete_backends %}
64− <option value="{{ backend }}" {% if backend == autocomplete %}selected="selected"{% endif %}>{{ backend }}</option>
65− {% endfor %}
66− </select>
67− </div>
68− <span class="col-sm-5 col-md-6 help-block">{{ _('Find stuff as you type') }}</span>
69− </div>
70− <div class="row form-group">
71− <label class="col-sm-3 col-md-2">{{ _('Image proxy') }}</label>
72− <div class="col-sm-4 col-md-4">
73− <select class="form-control" name='image_proxy'>
74− <option value="1" {% if image_proxy %}selected="selected"{% endif %}>{{ _('Enabled') }}</option>
75− <option value="" {% if not image_proxy %}selected="selected"{% endif %}>{{ _('Disabled')}}</option>
76− </select>
77− </div>
78− <span class="col-sm-5 col-md-6 help-block">{{ _('Proxying image results through searx') }}</span>
79− </div>
80− <div class="row form-group">
81− <label class="col-sm-3 col-md-2">{{ _('Method') }}</label>
82− <div class="col-sm-4 col-md-4">
83− <select class="form-control" name='method'>
84− <option value="POST" {% if method == 'POST' %}selected="selected"{% endif %}>POST</option>
85− <option value="GET" {% if method == 'GET' %}selected="selected"{% endif %}>GET</option>
86− </select>
87− </div>
88− <span class="col-sm-5 col-md-6 help-block">{{ _('Change how forms are submited, <a href="http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods" rel="external">learn more about request methods</a>') }}</span>
89− </div>
90− <div class="row form-group">
91− <label class="col-sm-3 col-md-2">{{ _('SafeSearch') }}</label>
92− <div class="col-sm-4 col-md-4">
93− <select class="form-control" name='safesearch'>
94− <option value="2" {% if safesearch == '2' %}selected="selected"{% endif %}>{{ _('Strict') }}</option>
95− <option value="1" {% if safesearch == '1' %}selected="selected"{% endif %}>{{ _('Moderate') }}</option>
96− <option value="0" {% if safesearch == '0' %}selected="selected"{% endif %}>{{ _('None') }}</option>
97− </select>
98− </div>
99− <span class="col-sm-5 col-md-6 help-block">{{ _('Filter explicite content') }}</span>
100− </div>
101− <div class="row form-group">
102− <label class="col-sm-3 col-md-2">{{ _('Themes') }}</label>
103− <div class="col-sm-4 col-md-4">
104− <select class="form-control" name="theme">
105− {% for name in themes %}
106− <option value="{{ name }}" {% if name == theme %}selected="selected"{% endif %}>{{ name }}</option>
107− {% endfor %}
108− </select>
109− </div>
110− <span class="col-sm-5 col-md-6 help-block">{{ _('Change searx layout') }}</span>
111− </div>
53+ {% set locale_label = _('Interface language') %}
54+ {% set locale_info = _('Change the language of the layout') %}
55+ {{ preferences_item_header(locale_info, locale_label) }}
56+ <select class="form-control" name='locale'>
57+ {% for locale_id,locale_name in locales.items() %}
58+ <option value="{{ locale_id }}" {% if locale_id == current_locale %}selected="selected"{% endif %}>{{ locale_name }}</option>
59+ {% endfor %}
60+ </select>
61+ {{ preferences_item_footer(locale_info, locale_label) }}
62+
63+ {% set autocomplete_label = _('Autocomplete') %}
64+ {% set autocomplete_info = _('Find stuff as you type') %}
65+ {{ preferences_item_header(autocomplete_info, autocomplete_label) }}
66+ <select class="form-control" name="autocomplete">
67+ <option value=""> - </option>
68+ {% for backend in autocomplete_backends %}
69+ <option value="{{ backend }}" {% if backend == autocomplete %}selected="selected"{% endif %}>{{ backend }}</option>
70+ {% endfor %}
71+ </select>
72+ {{ preferences_item_footer(autocomplete_info, autocomplete_label) }}
73+
74+ {% set image_proxy_label = _('Image proxy') %}
75+ {% set image_proxy_info = _('Proxying image results through searx') %}
76+ {{ preferences_item_header(image_proxy_info, image_proxy_label) }}
77+ <select class="form-control" name='image_proxy'>
78+ <option value="1" {% if image_proxy %}selected="selected"{% endif %}>{{ _('Enabled') }}</option>
79+ <option value="" {% if not image_proxy %}selected="selected"{% endif %}>{{ _('Disabled')}}</option>
80+ </select>
81+ {{ preferences_item_footer(image_proxy_info, image_proxy_label) }}
82+
83+ {% set method_label = _('Method') %}
84+ {% set method_info = _('Change how forms are submited, <a href="http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods" rel="external">learn more about request methods</a>') %}
85+ {{ preferences_item_header(method_info, method_label) }}
86+ <select class="form-control" name='method'>
87+ <option value="POST" {% if method == 'POST' %}selected="selected"{% endif %}>POST</option>
88+ <option value="GET" {% if method == 'GET' %}selected="selected"{% endif %}>GET</option>
89+ </select>
90+ {{ preferences_item_footer(method_info, method_label) }}
91+
92+ {% set safesearch_label = _('SafeSearch') %}
93+ {% set safesearch_info = _('Filter content') %}
94+ {{ preferences_item_header(safesearch_info, safesearch_label) }}
95+ <select class="form-control" name='safesearch'>
96+ <option value="2" {% if safesearch == '2' %}selected="selected"{% endif %}>{{ _('Strict') }}</option>
97+ <option value="1" {% if safesearch == '1' %}selected="selected"{% endif %}>{{ _('Moderate') }}</option>
98+ <option value="0" {% if safesearch == '0' %}selected="selected"{% endif %}>{{ _('None') }}</option>
99+ </select>
100+ {{ preferences_item_footer(safesearch_info, safesearch_label) }}
101+
102+ {% set theme_label = _('Themes') %}
103+ {% set theme_info = _('Change searx layout') %}
104+ {{ preferences_item_header(theme_info, theme_label) }}
105+ <select class="form-control" name="theme">
106+ {% for name in themes %}
107+ <option value="{{ name }}" {% if name == theme %}selected="selected"{% endif %}>{{ name }}</option>
108+ {% endfor %}
109+ </select>
110+ {{ preferences_item_footer(theme_info, theme_label) }}
112111 </div>
113112 </fieldset>
114113 </div>
115114 <div class="tab-pane active_if_nojs" id="tab_engine">
116115
117116 <!-- Nav tabs -->
118− <ul class="nav nav-tabs hide_if_nojs" role="tablist" style="margin-bottom:20px;">
117+ <ul class="nav nav-tabs nav-justified hide_if_nojs" role="tablist" style="margin-bottom:20px;">
119118 {% for (categ,search_engines) in categs %}
120119 <li{% if loop.first %} class="active"{% endif %}><a href="#tab_engine_{{ categ|replace(' ', '_') }}" role="tab" data-toggle="tab">{{ _(categ) }}</a></li>
121120 {% endfor %}
@@ -136,7 +135,9 @@
136135 {% for search_engine in search_engines %}
137136 {% if not search_engine.private %}
138137 <div class="row">
138+ {% if not rtl %}
139139 <div class="col-xs-6 col-sm-4 col-md-4">{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})</div>
140+ {% endif %}
140141 <div class="col-xs-6 col-sm-4 col-md-4">
141142 <div class="checkbox">
142143 <input class="hidden" type="checkbox" id="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}" name="engine_{{ search_engine.name }}__{{ categ }}"{% if (search_engine.name, categ) in blocked_engines %} checked="checked"{% endif %} />
@@ -144,6 +145,9 @@
144145 <label class="btn btn-danger label_hide_if_not_checked" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Allow') }}</label>
145146 </div>
146147 </div>
148+ {% if rtl %}
149+ <div class="col-xs-6 col-sm-4 col-md-4">{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})‎</div>
150+ {% endif %}
147151 </div>
148152 {% endif %}
149153 {% endfor %}
@@ -154,7 +158,6 @@
154158 </div>
155159 </div>
156160 </div>
157−
158161 <p class="text-muted" style="margin:20px 0;">{{ _('These settings are stored in your cookies, this allows us not to store this data about you.') }}
159162 <br />
160163 {{ _("These cookies serve your sole convenience, we don't use these cookies to track you.") }}