1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00

Cfg: Add shortcut win; Remove keypad bindings; Change shortut box from input to select

This commit is contained in:
gnosygnu
2016-12-31 08:37:34 -05:00
parent c3d4f520de
commit cdcb4eca89
8 changed files with 94 additions and 49 deletions

View File

@@ -25,7 +25,6 @@ public class Xog_bnd_mgr implements Gfo_invk {
private List_adp startup_itms = List_adp_.New();
private Ordered_hash regy = Ordered_hash_.New();
public Xog_bnd_mgr(Xog_win_itm win) {this.win = win; invk_mgr = win.Gui_mgr().Cmd_mgr().Invk_mgr();}
public Gfui_bnd_parser Bnd_parser() {if (bnd_parser == null) bnd_parser = Gfui_bnd_parser.new_en_(); return bnd_parser;} private Gfui_bnd_parser bnd_parser;
public int Len() {return regy.Count();}
public Xog_bnd_itm Get_at(int i) {return (Xog_bnd_itm)regy.Get_at(i);}
public Xog_bnd_itm Get_or_null(String v) {return (Xog_bnd_itm)regy.Get_by(v);}
@@ -88,16 +87,12 @@ public class Xog_bnd_mgr implements Gfo_invk {
, "xowa.gui.shortcuts.xowa.gui.browser.url.focus-1"
, "xowa.gui.shortcuts.xowa.gui.browser.url.focus-2"
, "xowa.gui.shortcuts.xowa.gui.browser.url.exec-1"
, "xowa.gui.shortcuts.xowa.gui.browser.url.exec-2"
, "xowa.gui.shortcuts.xowa.gui.browser.url.exec_by_paste-1"
, "xowa.gui.shortcuts.xowa.gui.browser.url.exec_by_paste-2"
, "xowa.gui.shortcuts.xowa.gui.browser.url.exec_by_paste-3"
, "xowa.gui.shortcuts.xowa.gui.browser.url.exec_new_tab_by_paste-1"
, "xowa.gui.shortcuts.xowa.gui.browser.url.exec_new_tab_by_paste-2"
, "xowa.gui.shortcuts.xowa.gui.browser.url.restore-1"
, "xowa.gui.shortcuts.xowa.gui.browser.search.focus-1"
, "xowa.gui.shortcuts.xowa.gui.browser.search.exec-1"
, "xowa.gui.shortcuts.xowa.gui.browser.search.exec-2"
, "xowa.gui.shortcuts.xowa.gui.browser.html.focus-1"
, "xowa.gui.shortcuts.xowa.gui.browser.html.focus-2"
, "xowa.gui.shortcuts.xowa.gui.browser.html.focus-3"
@@ -107,7 +102,6 @@ public class Xog_bnd_mgr implements Gfo_invk {
, "xowa.gui.shortcuts.xowa.gui.browser.find.show_by_paste-1"
, "xowa.gui.shortcuts.xowa.gui.browser.find.hide-1"
, "xowa.gui.shortcuts.xowa.gui.browser.find.exec-1"
, "xowa.gui.shortcuts.xowa.gui.browser.find.exec-2"
, "xowa.gui.shortcuts.xowa.gui.browser.find.find_fwd-1"
, "xowa.gui.shortcuts.xowa.gui.browser.find.find_bwd-1"
, "xowa.gui.shortcuts.xowa.gui.browser.find.case_toggle-1"
@@ -269,12 +263,12 @@ public class Xog_bnd_mgr implements Gfo_invk {
Init_itm(Xog_cmd_itm_.Key_gui_edit_dbg_html , Xog_bnd_box_.Tid_browser , "mod.c+key.e,mod.c+key.h");
Init_itm(Xog_cmd_itm_.Key_gui_edit_exec , Xog_bnd_box_.Tid_browser , "mod.c+key.e,mod.c+key.g");
Init_itm(Xog_cmd_itm_.Key_gui_browser_url_focus , Xog_bnd_box_.Tid_browser , "mod.a+key.d", "mod.c+key.l");
Init_itm(Xog_cmd_itm_.Key_gui_browser_url_exec , Xog_bnd_box_.Tid_browser_url , "key.enter", "key.keypad_enter");
Init_itm(Xog_cmd_itm_.Key_gui_browser_url_exec_new_tab_by_paste , Xog_bnd_box_.Tid_browser_url , "mod.c+key.enter", "mod.c+key.keypad_enter");
Init_itm(Xog_cmd_itm_.Key_gui_browser_url_exec_by_paste , Xog_bnd_box_.Tid_browser_url , "mouse.middle", "mod.a+key.enter", "mod.a+key.keypad_enter");
Init_itm(Xog_cmd_itm_.Key_gui_browser_url_exec , Xog_bnd_box_.Tid_browser_url , "key.enter");
Init_itm(Xog_cmd_itm_.Key_gui_browser_url_exec_new_tab_by_paste , Xog_bnd_box_.Tid_browser_url , "mod.c+key.enter");
Init_itm(Xog_cmd_itm_.Key_gui_browser_url_exec_by_paste , Xog_bnd_box_.Tid_browser_url , "mouse.middle", "mod.a+key.enter");
Init_itm(Xog_cmd_itm_.Key_gui_browser_url_restore , Xog_bnd_box_.Tid_browser_url , "mod.c+key.u");
Init_itm(Xog_cmd_itm_.Key_gui_browser_search_focus , Xog_bnd_box_.Tid_browser , "mod.ca+key.s");
Init_itm(Xog_cmd_itm_.Key_gui_browser_search_exec , Xog_bnd_box_.Tid_browser_search , "key.enter", "key.keypad_enter");
Init_itm(Xog_cmd_itm_.Key_gui_browser_search_exec , Xog_bnd_box_.Tid_browser_search , "key.enter");
Init_itm(Xog_cmd_itm_.Key_gui_browser_tabs_new_dflt__at_dflt__focus_y , Xog_bnd_box_.Tid_browser , "mod.c+key.t");
Init_itm(Xog_cmd_itm_.Key_gui_browser_tabs_new_link__at_dflt__focus_n , Xog_bnd_box_.Tid_browser_html , "mouse.middle");
Init_itm(Xog_cmd_itm_.Key_gui_browser_tabs_new_href__at_dflt__focus_y , Xog_bnd_box_.Tid_browser , "mod.c+key.g,mod.c+key.f");
@@ -305,7 +299,7 @@ public class Xog_bnd_mgr implements Gfo_invk {
Init_itm(Xog_cmd_itm_.Key_gui_browser_find_show , Xog_bnd_box_.Tid_browser , "mod.c+key.f");
Init_itm(Xog_cmd_itm_.Key_gui_browser_find_show_by_paste , Xog_bnd_box_.Tid_browser , "");
Init_itm(Xog_cmd_itm_.Key_gui_browser_find_hide , Xog_bnd_box_.Tid_browser_find , "key.escape");
Init_itm(Xog_cmd_itm_.Key_gui_browser_find_exec , Xog_bnd_box_.Tid_browser_find , "key.enter", "key.keypad_enter");
Init_itm(Xog_cmd_itm_.Key_gui_browser_find_exec , Xog_bnd_box_.Tid_browser_find , "key.enter");
Init_itm(Xog_cmd_itm_.Key_gui_browser_find_find_fwd , Xog_bnd_box_.Tid_browser_find , "mod.a+key.n");
Init_itm(Xog_cmd_itm_.Key_gui_browser_find_find_bwd , Xog_bnd_box_.Tid_browser_find , "mod.a+key.p");
Init_itm(Xog_cmd_itm_.Key_gui_browser_find_case_toggle , Xog_bnd_box_.Tid_browser_find , "mod.a+key.c");
@@ -372,7 +366,8 @@ public class Xog_bnd_mgr implements Gfo_invk {
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
if (String_.Eq(k, Run__show_remap_win)) {
Xog_bnd_win win = new Xog_bnd_win();
win.Show(app, app.Gui_mgr().Kit(), app.Gui_mgr().Browser_win().Win_box(), this.Bnd_parser(), "", "");
String[] args = m.ReadStrAry("v", "\n");
win.Show(app, app.Gui_mgr().Kit(), app.Gui_mgr().Browser_win().Win_box(), args[0], args[1], args[2]);
}
else {
String[] flds = gplx.xowa.addons.apps.cfgs.enums.Xoitm_gui_binding.To_ary(m.ReadStr("v"));

View File

@@ -22,14 +22,15 @@ public class Xog_bnd_win implements Gfo_invk {
private GfuiWin win;
private GfuiTextBox shortcut_txt, binding_txt, keycode_txt;
private GfuiBtn ok_btn, cxl_btn;
private Gfui_bnd_parser bnd_parser;
private Gfui_bnd_parser bnd_parser = Gfui_bnd_parser.new_en_();
private Xoa_app app;
public void Show(Xoa_app app, Gfui_kit kit, GfuiWin owner_win, Gfui_bnd_parser bnd_parser, String shortcut_text, String binding_text) {
private String key_text;
public void Show(Xoa_app app, Gfui_kit kit, GfuiWin owner_win, String key_text, String shortcut_text, String binding_text) {
this.app = app;
this.key_text = key_text;
// create controls
this.win = kit.New_win_utl("shortcut_win", owner_win); win.BackColor_(ColorAdp_.White).Size_(240, 140);
this.bnd_parser = bnd_parser;
GfuiLbl shortcut_lbl = Make_lbl(kit, win, "shortcut_lbl" , "Shortcut:");
GfuiLbl binding_lbl = Make_lbl(kit, win, "binding_lbl" , "Binding:");
GfuiLbl keycode_lbl = Make_lbl(kit, win, "keycode_lbl" , "Keycode:");
@@ -38,17 +39,20 @@ public class Xog_bnd_win implements Gfo_invk {
this.keycode_txt = Make_txt(kit, win, "keycode_txt" , "");
this.ok_btn = Make_btn(kit, win, "ok_btn" , "Ok");
this.cxl_btn = Make_btn(kit, win, "cxl_btn" , "Cancel");
// layout controls
Layout( 0, shortcut_lbl , shortcut_txt);
Layout(20, binding_lbl , binding_txt);
Layout(40, keycode_lbl , keycode_txt);
ok_btn.Pos_(110, 70); cxl_btn.Pos_(150, 70);
// hookup events
IptCfg null_cfg = IptCfg_.Null; IptEventType btn_event_type = IptEventType_.add_(IptEventType_.MouseDown, IptEventType_.KeyDown); IptArg[] btn_args = IptArg_.Ary(IptMouseBtn_.Left, IptKey_.Enter, IptKey_.Space);
IptBnd_.ipt_to_(null_cfg , binding_txt , this, Invk_when_key_down , IptEventType_.KeyDown, IptArg_.Wildcard);
IptBnd_.ipt_to_(null_cfg , binding_txt , this, Invk_when_key_up , IptEventType_.KeyUp, IptArg_.Wildcard);
IptBnd_.ipt_to_(null_cfg , ok_btn , this, "when_ok" , btn_event_type, btn_args);
IptBnd_.ipt_to_(null_cfg , cxl_btn , this, "when_cxl" , btn_event_type, btn_args);
// open
win.Pos_(SizeAdp_.center_(ScreenAdp_.Primary.Size(), win.Size()));
win.Show();
@@ -86,7 +90,8 @@ public class Xog_bnd_win implements Gfo_invk {
else if (ctx.Match(k, Invk_when_key_press)) When_key_up(m);
else if (ctx.Match(k, Invk_when_key_up)) When_key_up(m);
else if (ctx.Match(k, Invk_when_ok)) {
app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.gui_binding__remap_recv", gplx.core.gfobjs.Gfobj_nde.New().Add_str("bnd", binding_txt.Text()));
app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.gui_binding__remap_recv"
, gplx.core.gfobjs.Gfobj_nde.New().Add_str("key", key_text).Add_str("bnd", binding_txt.Text()));
win.Close();
}
else if (ctx.Match(k, Invk_when_cxl)) {win.Close();}