mirror of https://github.com/searxng/searxng.git
[mod] preferences: implement drop-down menu for hotkeys (default, vim)
Replace the on/off checkbox of the vim-hotkeys in the preferences by a drop-down menu. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
09935e2897
commit
317db5b04f
|
@ -1,10 +0,0 @@
|
||||||
from flask_babel import gettext
|
|
||||||
|
|
||||||
name = gettext('Vim-like hotkeys')
|
|
||||||
description = gettext(
|
|
||||||
'Navigate search results with Vim-like hotkeys '
|
|
||||||
'(JavaScript required). '
|
|
||||||
'Press "h" key on main or result page to get help.'
|
|
||||||
)
|
|
||||||
default_on = False
|
|
||||||
preference_section = 'ui'
|
|
|
@ -465,6 +465,10 @@ class Preferences:
|
||||||
settings['ui']['search_on_category_select'],
|
settings['ui']['search_on_category_select'],
|
||||||
locked=is_locked('search_on_category_select')
|
locked=is_locked('search_on_category_select')
|
||||||
),
|
),
|
||||||
|
'hotkeys': EnumStringSetting(
|
||||||
|
'default',
|
||||||
|
choices=['default', 'vim']
|
||||||
|
),
|
||||||
# fmt: on
|
# fmt: on
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -215,7 +215,6 @@ outgoing:
|
||||||
# # these plugins are disabled if nothing is configured ..
|
# # these plugins are disabled if nothing is configured ..
|
||||||
# - 'Hostname replace' # see hostname_replace configuration below
|
# - 'Hostname replace' # see hostname_replace configuration below
|
||||||
# - 'Open Access DOI rewrite'
|
# - 'Open Access DOI rewrite'
|
||||||
# - 'Vim-like hotkeys'
|
|
||||||
# - 'Tor check plugin'
|
# - 'Tor check plugin'
|
||||||
# # Read the docs before activate: auto-detection of the language could be
|
# # Read the docs before activate: auto-detection of the language could be
|
||||||
# # detrimental to users expectations / users can activate the plugin in the
|
# # detrimental to users expectations / users can activate the plugin in the
|
||||||
|
|
|
@ -200,6 +200,7 @@
|
||||||
{%- if 'search_on_category_select' not in locked_preferences -%}
|
{%- if 'search_on_category_select' not in locked_preferences -%}
|
||||||
{%- include 'simple/preferences/search_on_category_select.html' -%}
|
{%- include 'simple/preferences/search_on_category_select.html' -%}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
{%- include 'simple/preferences/hotkeys.html' -%}
|
||||||
{{- plugin_preferences('ui') -}}
|
{{- plugin_preferences('ui') -}}
|
||||||
{{- tab_footer() -}}
|
{{- tab_footer() -}}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
<fieldset>{{- '' -}}
|
||||||
|
<legend id="pref_hotkeys">{{- _('Hotkeys') -}}</legend>{{- '' -}}
|
||||||
|
<div class="value">{{- '' -}}
|
||||||
|
<select name="hotkeys" aria-labelledby="pref_hotkeys">{{- '' -}}
|
||||||
|
<option value="default"
|
||||||
|
{%- if hotkeys == 'default' %} selected="selected"
|
||||||
|
{%- endif -%}>
|
||||||
|
SearXNG{{- '' -}}
|
||||||
|
</option>{{- '' -}}
|
||||||
|
<option value="vim"
|
||||||
|
{%- if hotkeys == 'vim' %} selected="selected"
|
||||||
|
{%- endif -%}>
|
||||||
|
{{- _('Vim-like') -}}
|
||||||
|
</option>{{- '' -}}
|
||||||
|
</select>{{- '' -}}
|
||||||
|
</div>{{- '' -}}
|
||||||
|
<div class="description">
|
||||||
|
{{- _(
|
||||||
|
'Navigate search results with hotkeys (JavaScript required). '
|
||||||
|
'Press "h" key on main or result page to get help.'
|
||||||
|
) -}}
|
||||||
|
</div>{{- '' -}}
|
||||||
|
</fieldset>{{- '' -}}
|
|
@ -362,7 +362,7 @@ def get_client_settings():
|
||||||
'infinite_scroll': req_pref.get_value('infinite_scroll'),
|
'infinite_scroll': req_pref.get_value('infinite_scroll'),
|
||||||
'translations': get_translations(),
|
'translations': get_translations(),
|
||||||
'search_on_category_select': req_pref.get_value('searx.plugins.search_on_category_select'),
|
'search_on_category_select': req_pref.get_value('searx.plugins.search_on_category_select'),
|
||||||
'hotkeys': req_pref.plugins.choices['searx.plugins.vim_hotkeys'],
|
'hotkeys': req_pref.get_value('hotkeys'),
|
||||||
'theme_static_path': custom_url_for('static', filename='themes/simple'),
|
'theme_static_path': custom_url_for('static', filename='themes/simple'),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -390,6 +390,7 @@ def render(template_name: str, **kwargs):
|
||||||
kwargs['autocomplete'] = request.preferences.get_value('autocomplete')
|
kwargs['autocomplete'] = request.preferences.get_value('autocomplete')
|
||||||
kwargs['infinite_scroll'] = request.preferences.get_value('infinite_scroll')
|
kwargs['infinite_scroll'] = request.preferences.get_value('infinite_scroll')
|
||||||
kwargs['search_on_category_select'] = request.preferences.get_value('search_on_category_select')
|
kwargs['search_on_category_select'] = request.preferences.get_value('search_on_category_select')
|
||||||
|
kwargs['hotkeys'] = request.preferences.get_value('hotkeys')
|
||||||
kwargs['results_on_new_tab'] = request.preferences.get_value('results_on_new_tab')
|
kwargs['results_on_new_tab'] = request.preferences.get_value('results_on_new_tab')
|
||||||
kwargs['advanced_search'] = request.preferences.get_value('advanced_search')
|
kwargs['advanced_search'] = request.preferences.get_value('advanced_search')
|
||||||
kwargs['query_in_title'] = request.preferences.get_value('query_in_title')
|
kwargs['query_in_title'] = request.preferences.get_value('query_in_title')
|
||||||
|
|
Loading…
Reference in New Issue