@@ -1,3 +1,4 @@
1+{% from 'oscar/macros.html' import preferences_item_header, preferences_item_header_rtl, preferences_item_footer, preferences_item_footer_rtl %}
1{% extends "oscar/base.html" %}
2{% extends "oscar/base.html" %}
2{% block title %}{{ _('preferences') }} - {% endblock %}
3{% block title %}{{ _('preferences') }} - {% endblock %}
3{% block site_alert_warning_nojs %}
4{% block site_alert_warning_nojs %}
@@ -12,7 +13,7 @@
12 <form method="post" action="{{ url_for('preferences') }}" id="search_form">
13 <form method="post" action="{{ url_for('preferences') }}" id="search_form">
14 <!-- Nav tabs -->
15 <!-- 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;">
16 <li class="active"><a href="#tab_general" role="tab" data-toggle="tab">{{ _('General') }}</a></li>
17 <li class="active"><a href="#tab_general" role="tab" data-toggle="tab">{{ _('General') }}</a></li>
17 <li><a href="#tab_engine" role="tab" data-toggle="tab">{{ _('Engines') }}</a></li>
18 <li><a href="#tab_engine" role="tab" data-toggle="tab">{{ _('Engines') }}</a></li>
@@ -26,96 +27,94 @@
26 <fieldset>
27 <fieldset>
27 <div class="container-fluid">
28 <div class="container-fluid">
28 <div class="row form-group">
29 <div class="row form-group">
29− <label class="col-sm-3 col-md-2">{{ _('Default categories') }}</label>
30+ {% if rtl %}
30 <div class="col-sm-11 col-md-10">
31 <div class="col-sm-11 col-md-10">
31 {% include 'oscar/categories.html' %}
32 {% include 'oscar/categories.html' %}
34− <div class="row form-group">
35− <label class="col-sm-3 col-md-2">{{ _('Search language') }}</label>
34+ <label class="col-sm-3 col-md-2">{{ _('Default categories') }}</label>
36− <div class="col-sm-4 col-md-4">
35+ {% else %}
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>
44− <span class="col-sm-5 col-md-6 help-block">{{ _('What language do you prefer for search?') }}</span>
46− <div class="row form-group">
47− <label class="col-sm-3 col-md-2">{{ _('Interface language') }}</label>
36+ <label class="col-sm-3 col-md-2">{{ _('Default categories') }}</label>
48− <div class="col-sm-4 col-md-4">
37+ <div class="col-sm-11 col-md-10">
49− <select class="form-control" name='locale'>
38+ {% include 'oscar/categories.html' %}
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>
55− <span class="col-sm-5 col-md-6 help-block">{{ _('Change the language of the layout') }}</span>
40+ {% endif %}
57− <div class="row form-group">
42+ {% set language_label = _('Search language') %}
58− <label class="col-sm-3 col-md-2">{{ _('Autocomplete') }}</label>
43+ {% set language_info = _('What language do you prefer for search?') %}
59− <div class="col-sm-4 col-md-4">
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>
51+ {{ preferences_item_footer(language_info, language_label) }}
53+ {% set locale_label = _('Interface language') %}
54+ {% set locale_info = _('Change the language of the layout') %}
55+ {{ preferences_item_header(locale_info, locale_label) }}
61− <select class="form-control" name="autocomplete">
56+ <select class="form-control" name='locale'>
62− <option value=""> - </option>
57+ {% for locale_id,locale_name in locales.items() %}
63− {% for backend in autocomplete_backends %}
64− <option value="{{ backend }}" {% if backend == autocomplete %}selected="selected"{% endif %}>{{ backend }}</option>
58+ <option value="{{ locale_id }}" {% if locale_id == current_locale %}selected="selected"{% endif %}>{{ locale_name }}</option>
65− {% endfor %}
59+ {% endfor %}
66− </select>
60+ </select>
67− </div>
61+ {{ preferences_item_footer(locale_info, locale_label) }}
63+ {% set autocomplete_label = _('Autocomplete') %}
68− <span class="col-sm-5 col-md-6 help-block">{{ _('Find stuff as you type') }}</span>
64+ {% set autocomplete_info = _('Find stuff as you type') %}
69− </div>
65+ {{ preferences_item_header(autocomplete_info, autocomplete_label) }}
70− <div class="row form-group">
66+ <select class="form-control" name="autocomplete">
71− <label class="col-sm-3 col-md-2">{{ _('Image proxy') }}</label>
67+ <option value=""> - </option>
72− <div class="col-sm-4 col-md-4">
68+ {% for backend in autocomplete_backends %}
69+ <option value="{{ backend }}" {% if backend == autocomplete %}selected="selected"{% endif %}>{{ backend }}</option>
72+ {{ preferences_item_footer(autocomplete_info, autocomplete_label) }}
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) }}
73− <select class="form-control" name='image_proxy'>
77+ <select class="form-control" name='image_proxy'>
74− <option value="1" {% if image_proxy %}selected="selected"{% endif %}>{{ _('Enabled') }}</option>
78+ <option value="1" {% if image_proxy %}selected="selected"{% endif %}>{{ _('Enabled') }}</option>
75− <option value="" {% if not image_proxy %}selected="selected"{% endif %}>{{ _('Disabled')}}</option>
79+ <option value="" {% if not image_proxy %}selected="selected"{% endif %}>{{ _('Disabled')}}</option>
76− </select>
80+ </select>
77− </div>
81+ {{ preferences_item_footer(image_proxy_info, image_proxy_label) }}
78− <span class="col-sm-5 col-md-6 help-block">{{ _('Proxying image results through searx') }}</span>
82+
79− </div>
83+ {% set method_label = _('Method') %}
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>
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>
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>') %}
89− </div>
85+ {{ preferences_item_header(method_info, method_label) }}
90− <div class="row form-group">
86+ <select class="form-control" name='method'>
91− <label class="col-sm-3 col-md-2">{{ _('SafeSearch') }}</label>
87+ <option value="POST" {% if method == 'POST' %}selected="selected"{% endif %}>POST</option>
92− <div class="col-sm-4 col-md-4">
88+ <option value="GET" {% if method == 'GET' %}selected="selected"{% endif %}>GET</option>
90+ {{ preferences_item_footer(method_info, method_label) }}
92+ {% set safesearch_label = _('SafeSearch') %}
93+ {% set safesearch_info = _('Filter content') %}
94+ {{ preferences_item_header(safesearch_info, safesearch_label) }}
93− <select class="form-control" name='safesearch'>
95+ <select class="form-control" name='safesearch'>
94− <option value="2" {% if safesearch == '2' %}selected="selected"{% endif %}>{{ _('Strict') }}</option>
96+ <option value="2" {% if safesearch == '2' %}selected="selected"{% endif %}>{{ _('Strict') }}</option>
95− <option value="1" {% if safesearch == '1' %}selected="selected"{% endif %}>{{ _('Moderate') }}</option>
97+ <option value="1" {% if safesearch == '1' %}selected="selected"{% endif %}>{{ _('Moderate') }}</option>
96− <option value="0" {% if safesearch == '0' %}selected="selected"{% endif %}>{{ _('None') }}</option>
98+ <option value="0" {% if safesearch == '0' %}selected="selected"{% endif %}>{{ _('None') }}</option>
97− </select>
99+ </select>
98− </div>
100+ {{ preferences_item_footer(safesearch_info, safesearch_label) }}
99− <span class="col-sm-5 col-md-6 help-block">{{ _('Filter explicite content') }}</span>
101+
100− </div>
102+ {% set theme_label = _('Themes') %}
101− <div class="row form-group">
103+ {% set theme_info = _('Change searx layout') %}
102− <label class="col-sm-3 col-md-2">{{ _('Themes') }}</label>
104+ {{ preferences_item_header(theme_info, theme_label) }}
103− <div class="col-sm-4 col-md-4">
104− <select class="form-control" name="theme">
105+ <select class="form-control" name="theme">
105− {% for name in themes %}
106+ {% for name in themes %}
106− <option value="{{ name }}" {% if name == theme %}selected="selected"{% endif %}>{{ name }}</option>
107+ <option value="{{ name }}" {% if name == theme %}selected="selected"{% endif %}>{{ name }}</option>
107− {% endfor %}
108+ {% endfor %}
108− </select>
109+ </select>
109− </div>
110+ {{ preferences_item_footer(theme_info, theme_label) }}
110− <span class="col-sm-5 col-md-6 help-block">{{ _('Change searx layout') }}</span>
113 </fieldset>
112 </fieldset>
115 <div class="tab-pane active_if_nojs" id="tab_engine">
114 <div class="tab-pane active_if_nojs" id="tab_engine">
117 <!-- Nav tabs -->
116 <!-- 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;">
119 {% for (categ,search_engines) in categs %}
118 {% for (categ,search_engines) in categs %}
120 <li{% if loop.first %} class="active"{% endif %}><a href="#tab_engine_{{ categ|replace(' ', '_') }}" role="tab" data-toggle="tab">{{ _(categ) }}</a></li>
119 <li{% if loop.first %} class="active"{% endif %}><a href="#tab_engine_{{ categ|replace(' ', '_') }}" role="tab" data-toggle="tab">{{ _(categ) }}</a></li>
121 {% endfor %}
120 {% endfor %}
@@ -136,7 +135,9 @@
136 {% for search_engine in search_engines %}
135 {% for search_engine in search_engines %}
137 {% if not search_engine.private %}
136 {% if not search_engine.private %}
138 <div class="row">
137 <div class="row">
139 <div class="col-xs-6 col-sm-4 col-md-4">{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})</div>
139 <div class="col-xs-6 col-sm-4 col-md-4">{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})</div>
140 <div class="col-xs-6 col-sm-4 col-md-4">
141 <div class="col-xs-6 col-sm-4 col-md-4">
141 <div class="checkbox">
142 <div class="checkbox">
142 <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 %} />
143 <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 @@
144 <label class="btn btn-danger label_hide_if_not_checked" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Allow') }}</label>
145 <label class="btn btn-danger label_hide_if_not_checked" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Allow') }}</label>
149+ <div class="col-xs-6 col-sm-4 col-md-4">{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})‎</div>
148 {% endif %}
152 {% endif %}
149 {% endfor %}
153 {% endfor %}
@@ -154,7 +158,6 @@
158 <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.') }}
161 <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.') }}
160 {{ _("These cookies serve your sole convenience, we don't use these cookies to track you.") }}
163 {{ _("These cookies serve your sole convenience, we don't use these cookies to track you.") }}