From c6d5f9c39b3e12f58745c22eade90d34548b6283 Mon Sep 17 00:00:00 2001 From: Cyprien Mangin Date: Thu, 2 Jun 2016 11:40:33 +0200 Subject: Add an option to configure the modifier for Queries. --- ide/coqide.ml | 24 ++++++++++++++---------- ide/preferences.ml | 8 +++++++- ide/preferences.mli | 1 + 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/ide/coqide.ml b/ide/coqide.ml index d4f47b15e5..8b164d234c 100644 --- a/ide/coqide.ml +++ b/ide/coqide.ml @@ -919,7 +919,7 @@ let template_item (text, offset, len, key) = (** Create menu items for pairs (query, shortcut key). If the shortcut key is not in the range 'a'-'z','A'-'Z', it will be ignored. *) -let user_queries_items menu_name item_name l modifier = +let user_queries_items menu_name item_name l = let valid_key k = Int.equal (CString.length k) 1 && Util.is_letter k.[0] in let mk_item (query, key) = let query' = @@ -929,7 +929,7 @@ let user_queries_items menu_name item_name l modifier = else query ^ "." in let callback = Query.simplequery query' in - let accel = if valid_key key then Some (modifier^key) else None in + let accel = if valid_key key then Some (modifier_for_queries#get^key) else None in item (item_name^" "^(no_under query)) ~label:query ?accel ~callback menu_name in List.iter mk_item l @@ -1123,17 +1123,21 @@ let build_ui () = ]; alpha_items templates_menu "Template" Coq_commands.commands; - let qitem s accel = item s ~label:("_"^s) ?accel ~callback:(Query.query s) in + let qitem s sc = + item s ~label:("_"^s) + ~accel:(modifier_for_queries#get^sc) + ~callback:(Query.query s) + in menu queries_menu [ item "Queries" ~label:"_Queries"; - qitem "Search" (Some "K"); - qitem "Check" (Some "C"); - qitem "Print" (Some "P"); - qitem "About" (Some "A"); - qitem "Locate" (Some "L"); - qitem "Print Assumptions" (Some "N"); + qitem "Search" "K"; + qitem "Check" "C"; + qitem "Print" "P"; + qitem "About" "A"; + qitem "Locate" "L"; + qitem "Print Assumptions" "N"; ]; - user_queries_items queries_menu "Query" user_queries#get ""; + user_queries_items queries_menu "Query" user_queries#get; menu tools_menu [ item "Tools" ~label:"_Tools"; diff --git a/ide/preferences.ml b/ide/preferences.ml index 6bb19c6389..f2945a5e07 100644 --- a/ide/preferences.ml +++ b/ide/preferences.ml @@ -315,6 +315,9 @@ let modifier_for_tactics = let modifier_for_display = new preference ~name:["modifier_for_display"] ~init:"" ~repr:Repr.(string) +let modifier_for_queries = + new preference ~name:["modifier_for_queries"] ~init:"" ~repr:Repr.(string) + let _ = attach_modifiers modifier_for_navigation "/Navigation/" let _ = attach_modifiers modifier_for_templates "/Templates/" let _ = attach_modifiers modifier_for_tactics "/Tactics/" @@ -852,6 +855,9 @@ let configure ?(apply=(fun () -> ())) () = let modifier_for_display = pmodifiers "Modifiers for View Menu" modifier_for_display in + let modifier_for_queries = + pmodifiers "Modifiers for Queries Menu" modifier_for_queries + in let modifiers_valid = pmodifiers ~all:true "Allowed modifiers" modifiers_valid in @@ -977,7 +983,7 @@ let configure ?(apply=(fun () -> ())) () = Section("Shortcuts", Some `PREFERENCES, [modifiers_valid; modifier_for_tactics; modifier_for_templates; modifier_for_display; modifier_for_navigation; - user_queries]); + modifier_for_queries; user_queries]); Section("Misc", Some `ADD, misc)] in diff --git a/ide/preferences.mli b/ide/preferences.mli index ebcff20808..426b0a328e 100644 --- a/ide/preferences.mli +++ b/ide/preferences.mli @@ -65,6 +65,7 @@ val modifier_for_navigation : string preference val modifier_for_templates : string preference val modifier_for_tactics : string preference val modifier_for_display : string preference +val modifier_for_queries : string preference val modifiers_valid : string preference val cmd_browse : string preference val cmd_editor : string preference -- cgit v1.2.3