Cfg: Add 'Gui - Shortcuts'

pull/620/head
gnosygnu 8 years ago
parent 1ffc4191a8
commit bc9633f87f

@ -20,30 +20,34 @@ import org.junit.*;
public class Gfui_bnd_parser_tst { public class Gfui_bnd_parser_tst {
@Before public void init() {fxt.Clear();} private Gfui_bnd_parser_fxt fxt = new Gfui_bnd_parser_fxt(); @Before public void init() {fxt.Clear();} private Gfui_bnd_parser_fxt fxt = new Gfui_bnd_parser_fxt();
@Test public void Norm_one() { @Test public void Norm_one() {
fxt.Test_x_to_norm("mod.c" , "Ctrl"); fxt.Test__to_norm("mod.c" , "Ctrl");
fxt.Test_x_to_norm("key.ctrl" , "Ctrl"); fxt.Test__to_norm("key.ctrl" , "Ctrl");
fxt.Test_x_to_norm("key.a" , "A"); fxt.Test__to_norm("key.a" , "A");
fxt.Test_x_to_norm("key.left" , "Left"); fxt.Test__to_norm("key.left" , "Left");
} }
@Test public void Norm_add() { @Test public void Norm_add() {
fxt.Test_x_to_norm("mod.c+key.a" , "Ctrl + A"); fxt.Test__to_norm("mod.c+key.a" , "Ctrl + A");
fxt.Test_x_to_norm("mod.ca+key.a" , "Ctrl + Alt + A"); fxt.Test__to_norm("mod.ca+key.a" , "Ctrl + Alt + A");
fxt.Test_x_to_norm("mod.cas+key.a" , "Ctrl + Alt + Shift + A"); fxt.Test__to_norm("mod.cas+key.a" , "Ctrl + Alt + Shift + A");
} }
@Test public void Norm_chord() { @Test public void Norm_chord() {
fxt.Test_x_to_norm("key.a,key.b" , "A, B"); fxt.Test__to_norm("key.a,key.b" , "A, B");
} }
@Test public void Norm_add_and_chord() { @Test public void Norm_add_and_chord() {
fxt.Test_x_to_norm("mod.c+key.a,mod.a+key.b" , "Ctrl + A, Alt + B"); fxt.Test__to_norm("mod.c+key.a,mod.a+key.b" , "Ctrl + A, Alt + B");
} }
@Test public void Gfui_add() { @Test public void Gfui_add() {
fxt.Test_x_to_gfui("Ctrl + A" , "mod.c+key.a"); fxt.Test__to_gfui("Ctrl + A" , "mod.c+key.a");
fxt.Test_x_to_gfui("Ctrl + Shift + A" , "mod.cs+key.a"); fxt.Test__to_gfui("Ctrl + Shift + A" , "mod.cs+key.a");
fxt.Test_x_to_gfui("Ctrl + Alt + Shift + A" , "mod.cas+key.a"); fxt.Test__to_gfui("Ctrl + Alt + Shift + A" , "mod.cas+key.a");
} }
@Test public void Keypad_enter() { @Test public void Keypad_enter() {
fxt.Test_x_to_norm("key.keypad_enter" , "Keypad Enter"); fxt.Test__to_norm("key.keypad_enter" , "Keypad Enter");
fxt.Test_x_to_norm("mod.c+key.keypad_enter" , "Ctrl + Keypad Enter"); fxt.Test__to_norm("mod.c+key.keypad_enter" , "Ctrl + Keypad Enter");
}
@Test public void None() {
fxt.Test__to_gfui("None" , "key.none");
fxt.Test__to_norm("key.none" , "None");
} }
} }
class Gfui_bnd_parser_fxt { class Gfui_bnd_parser_fxt {
@ -51,10 +55,10 @@ class Gfui_bnd_parser_fxt {
public void Clear() { public void Clear() {
parser = Gfui_bnd_parser.new_en_(); parser = Gfui_bnd_parser.new_en_();
} }
public void Test_x_to_norm(String key, String expd) { public void Test__to_norm(String key, String expd) {
Tfds.Eq(expd, parser.Xto_norm(key)); Tfds.Eq(expd, parser.Xto_norm(key));
} }
public void Test_x_to_gfui(String key, String expd) { public void Test__to_gfui(String key, String expd) {
Tfds.Eq(expd, parser.Xto_gfui(key)); Tfds.Eq(expd, parser.Xto_gfui(key));
} }
} }

@ -0,0 +1,46 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.addons.apps.cfgs.enums; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.apps.*; import gplx.xowa.addons.apps.cfgs.*;
import gplx.gfui.*; import gplx.xowa.guis.bnds.*;
public class Xoitm_gui_binding {
public static String[] To_gui(String val) {
Gfui_bnd_parser parser = Gfui_bnd_parser.new_en_();
String[] rv = new String[2];
int pipe_pos = String_.FindFwd(val, "|");
if (pipe_pos == -1) throw Err_.new_wo_type("cfg.binding:unknown gui binding; val=" + val);
rv[0] = Xog_bnd_box_.To_gui_str(String_.Mid(val, 0, pipe_pos));
rv[1] = parser.Xto_norm(String_.Mid(val, pipe_pos + 1, String_.Len(val)));
return rv;
}
public static String To_db_str(String val) {
Gfui_bnd_parser parser = Gfui_bnd_parser.new_en_();
String[] rv = new String[2];
int pipe_pos = String_.FindFwd(val, "|");
if (pipe_pos == -1) throw Err_.new_wo_type("cfg.binding:unknown gui binding; val=" + val);
rv[0] = Xog_bnd_box_.To_key_str(String_.Mid(val, 0, pipe_pos));
rv[1] = parser.Xto_gfui(String_.Mid(val, pipe_pos + 1, String_.Len(val)));
return rv[0] + "|" + rv[1];
}
public static String[] To_ary(String val) {
String[] rv = new String[2];
int pipe_pos = String_.FindFwd(val, "|");
rv[0] = String_.Mid(val, 0, pipe_pos);
rv[1] = String_.Mid(val, pipe_pos + 1, String_.Len(val));
return rv;
}
}

@ -34,7 +34,7 @@ public class Xoitm_gui_tid {
, Tid__io_file = 6 , Tid__io_file = 6
, Tid__io_dir = 7 , Tid__io_dir = 7
, Tid__btn = 8 , Tid__btn = 8
, Tid__label = 9 , Tid__gui_binding = 9
; ;
private static final Hash_adp to_uid_hash = Hash_adp_.New(); private static final Hash_adp to_uid_hash = Hash_adp_.New();
private static final Xoitm_gui_tid[] to_key_ary = new Xoitm_gui_tid[10]; private static final Xoitm_gui_tid[] to_key_ary = new Xoitm_gui_tid[10];
@ -48,7 +48,7 @@ public class Xoitm_gui_tid {
, Itm__io_file = New(Tid__io_file , "io.file") , Itm__io_file = New(Tid__io_file , "io.file")
, Itm__io_dir = New(Tid__io_dir , "io.dir") , Itm__io_dir = New(Tid__io_dir , "io.dir")
, Itm__btn = New(Tid__btn , "btn") , Itm__btn = New(Tid__btn , "btn")
, Itm__lbl = New(Tid__label , "label") , Itm__gui_binding = New(Tid__gui_binding , "gui.binding")
; ;
private static Xoitm_gui_tid New(int uid, String key) { private static Xoitm_gui_tid New(int uid, String key) {
Xoitm_gui_tid rv = new Xoitm_gui_tid(uid, key); Xoitm_gui_tid rv = new Xoitm_gui_tid(uid, key);
@ -68,6 +68,7 @@ public class Xoitm_gui_tid {
else if (String_.Eq(db_type, "int")) return Itm__int.key; else if (String_.Eq(db_type, "int")) return Itm__int.key;
else if (String_.Eq(db_type, "memo")) return Itm__memo.key; else if (String_.Eq(db_type, "memo")) return Itm__memo.key;
else if (String_.Eq(db_type, "io.cmd")) return Itm__io_cmd.key; else if (String_.Eq(db_type, "io.cmd")) return Itm__io_cmd.key;
else if (String_.Eq(db_type, "gui.binding")) return Itm__gui_binding.key;
else if (String_.Has_at_bgn(db_type, "list:")) return Itm__list.key; else if (String_.Has_at_bgn(db_type, "list:")) return Itm__list.key;
else if (String_.Eq(db_type, "btn")) return Itm__btn.key; else if (String_.Eq(db_type, "btn")) return Itm__btn.key;
else return Itm__str.key; else return Itm__str.key;

@ -61,13 +61,22 @@ public class Xoedit_itm_html {
case Xoitm_gui_tid.Tid__io_cmd: case Xoitm_gui_tid.Tid__io_cmd:
String[] lines = Xocfg_mgr.Parse_io_cmd(val); String[] lines = Xocfg_mgr.Parse_io_cmd(val);
bfr.Add_str_u8_fmt bfr.Add_str_u8_fmt
( "<input class=\"xocfg__io_cmd__exe__txt\" id=\"{2}-exe\" data-xocfg-key=\"{2}\" data-xocfg-gui=\"{0}-exe\" accesskey=\"d\" type=\"text\"{1} value=\"{3}\"></input>\n" ( "<input class=\"xocfg__io_cmd__exe__txt\" id=\"{2}-exe\" data-xocfg-key=\"{2}\" data-xocfg-gui=\"{0}-exe\" accesskey=\"d\" type=\"text\"{1} value=\"{3}\"></input>\n"
+ "<button class=\"xocfg__io_cmd__exe__btn\" onclick='xowa_io_select(\"file\", \"{2}-exe\", \"Please select a file.\");'>...</button><br/>\n" + "<button class=\"xocfg__io_cmd__exe__btn\" onclick='xowa_io_select(\"file\", \"{2}-exe\", \"Please select a file.\");'>...</button><br/>\n"
, gui_type_key, gui_args, key, lines[0]); , gui_type_key, gui_args, key, lines[0]);
bfr.Add_str_u8_fmt bfr.Add_str_u8_fmt
( "<input class=\"xocfg__io_cmd__arg__txt\" id=\"{2}-arg\" data-xocfg-key=\"{2}\" data-xocfg-gui=\"{0}-arg\" accesskey=\"d\" type=\"text\"{1} value='{3}'>\n" ( "<input class=\"xocfg__io_cmd__arg__txt\" id=\"{2}-arg\" data-xocfg-key=\"{2}\" data-xocfg-gui=\"{0}-arg\" accesskey=\"d\" type=\"text\"{1} value=\"{3}\">\n"
, gui_type_key, gui_args, key, lines[1]); , gui_type_key, gui_args, key, lines[1]);
break; break;
case Xoitm_gui_tid.Tid__gui_binding:
String[] flds = Xoitm_gui_binding.To_gui(val);
bfr.Add_str_u8_fmt
( "<input class=\"xocfg__gui_binding__box__txt\" id=\"{2}-box\" data-xocfg-key=\"{2}\" data-xocfg-gui=\"{0}-box\" accesskey=\"d\" type=\"text\"{1} value=\"{3}\"></input>\n"
, gui_type_key, gui_args, key, flds[0]);
bfr.Add_str_u8_fmt
( "<input class=\"xocfg__gui_binding__ipt__txt\" id=\"{2}-ipt\" data-xocfg-key=\"{2}\" data-xocfg-gui=\"{0}-ipt\" accesskey=\"d\" type=\"text\"{1} value=\"{3}\"'>\n"
, gui_type_key, gui_args, key, flds[1]);
break;
case Xoitm_gui_tid.Tid__btn: case Xoitm_gui_tid.Tid__btn:
bfr.Add_str_u8_fmt("<button id=\"{2}\" data-xocfg-key=\"{2}\" data-xocfg-gui=\"{0}\" class=\"xocfg__btn\" {1}>{3}</button>", gui_type_key, gui_args, key, name); bfr.Add_str_u8_fmt("<button id=\"{2}\" data-xocfg-key=\"{2}\" data-xocfg-gui=\"{0}\" class=\"xocfg__btn\" {1}>{3}</button>", gui_type_key, gui_args, key, name);
break; break;

@ -31,14 +31,22 @@ public class Xocfg_edit_svc {
String ctx = args.Get_as_str("ctx"); String ctx = args.Get_as_str("ctx");
String key = args.Get_as_str("key"); String key = args.Get_as_str("key");
String val = args.Get_as_str("val"); String val = args.Get_as_str("val");
String gui = args.Get_as_str("gui");
if (String_.Has_at_bgn(gui, "gui.binding")) {
val = gplx.xowa.addons.apps.cfgs.enums.Xoitm_gui_binding.To_db_str(val);
}
app.Cfg().Set_str(ctx, key, val); app.Cfg().Set_str(ctx, key, val);
app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.upsert__recv", Gfobj_nde.New().Add_str("key", key)); app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.upsert__recv", Gfobj_nde.New().Add_str("key", key));
} }
public void Revert(Json_nde args) { public void Revert(Json_nde args) {
String ctx = args.Get_as_str("ctx"); String ctx = args.Get_as_str("ctx");
String key = args.Get_as_str("key"); String key = args.Get_as_str("key");
String gui = args.Get_as_str("gui");
app.Cfg().Del(ctx, key); app.Cfg().Del(ctx, key);
String val = app.Cfg().Get_str(ctx, key); String val = app.Cfg().Get_str(ctx, key);
if (String_.Has_at_bgn(gui, "gui.binding")) {
val = String_.Concat_with_str("|", gplx.xowa.addons.apps.cfgs.enums.Xoitm_gui_binding.To_gui(val));
}
app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.revert__recv", Gfobj_nde.New().Add_str("key", key).Add_str("val", val)); app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.revert__recv", Gfobj_nde.New().Add_str("key", key).Add_str("val", val));
} }
public void Load(Json_nde args) { public void Load(Json_nde args) {

@ -36,6 +36,14 @@ public class Xog_bnd_box_ {
return ary; return ary;
} private static Xog_bnd_box[] ary; } private static Xog_bnd_box[] ary;
private static void ary_init(Xog_bnd_box[] ary, int tid, String key) {ary[tid] = new Xog_bnd_box(tid, key);} private static void ary_init(Xog_bnd_box[] ary, int tid, String key) {ary[tid] = new Xog_bnd_box(tid, key);}
public static String To_gui_str(String key) {
int tid = Xto_sys_int(key);
return Xto_gui_str(tid);
}
public static String To_key_str(String gui) {
int tid = Xby_gui_str(gui);
return Xto_sys_str(tid);
}
public static int[] Xto_sys_int_ary(String s) { public static int[] Xto_sys_int_ary(String s) {
String[] ary = String_.Split(s, "|"); String[] ary = String_.Split(s, "|");
int len = ary.length; int len = ary.length;

@ -18,7 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.guis.bnds; import gplx.*; import gplx.xowa.*; import gplx.xowa.guis.*; package gplx.xowa.guis.bnds; import gplx.*; import gplx.xowa.*; import gplx.xowa.guis.*;
import gplx.gfui.*; import gplx.gfui.ipts.*; import gplx.gfui.controls.elems.*; import gplx.gfui.*; import gplx.gfui.ipts.*; import gplx.gfui.controls.elems.*;
import gplx.xowa.guis.views.*; import gplx.xowa.guis.cmds.*; import gplx.xowa.guis.menus.dom.*; import gplx.xowa.guis.views.*; import gplx.xowa.guis.cmds.*; import gplx.xowa.guis.menus.dom.*;
public class Xog_bnd_mgr { public class Xog_bnd_mgr implements Gfo_invk {
private Xoae_app app;
private Xog_win_itm win; private Xog_cmd_mgr_invk invk_mgr; private Xog_win_itm win; private Xog_cmd_mgr_invk invk_mgr;
private Xog_bnd_box[] boxs = Xog_bnd_box_.Ary(); private Xog_bnd_box[] boxs = Xog_bnd_box_.Ary();
private List_adp startup_itms = List_adp_.New(); private List_adp startup_itms = List_adp_.New();
@ -29,10 +30,126 @@ public class Xog_bnd_mgr {
public Xog_bnd_itm Get_at(int i) {return (Xog_bnd_itm)regy.Get_at(i);} 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);} public Xog_bnd_itm Get_or_null(String v) {return (Xog_bnd_itm)regy.Get_by(v);}
public void Init_by_kit(Xoae_app app) { public void Init_by_kit(Xoae_app app) {
this.app = app;
Add_system_bnds(); Add_system_bnds();
Add_custom_bnds(); // NOTE: should go after Add_system_bnds in case user overrides any; Add_custom_bnds(); // NOTE: should go after Add_system_bnds in case user overrides any;
Bind_all(); Bind_all();
app.Cfg_regy().App().Gui_mgr().Bnd_mgr().Init(); app.Cfg_regy().App().Gui_mgr().Bnd_mgr().Init();
app.Cfg().Bind_many_app(this
, "xowa.gui.shortcuts.xowa.app.exit-1"
, "xowa.gui.shortcuts.xowa.nav.go_bwd-1"
, "xowa.gui.shortcuts.xowa.nav.go_fwd-1"
, "xowa.gui.shortcuts.xowa.nav.cfg.main-1"
, "xowa.gui.shortcuts.xowa.nav.cfg.menus-1"
, "xowa.gui.shortcuts.xowa.nav.wiki.main_page-1"
, "xowa.gui.shortcuts.xowa.nav.wiki.sandbox-1"
, "xowa.gui.shortcuts.xowa.nav.wiki.sandbox-2"
, "xowa.gui.shortcuts.xowa.nav.wiki.random-1"
, "xowa.gui.shortcuts.xowa.nav.help.help-1"
, "xowa.gui.shortcuts.xowa.nav.help.about-1"
, "xowa.gui.shortcuts.xowa.nav.help.change_log-1"
, "xowa.gui.shortcuts.xowa.nav.help.diagnostics-1"
, "xowa.gui.shortcuts.xowa.nav.xowa_main-1"
, "xowa.gui.shortcuts.xowa.nav.xowa_blog-1"
, "xowa.gui.shortcuts.xowa.nav.setup.download_central-1"
, "xowa.gui.shortcuts.xowa.nav.setup.import_from_list-1"
, "xowa.gui.shortcuts.xowa.nav.setup.import_from_script-1"
, "xowa.gui.shortcuts.xowa.nav.setup.maintenance-1"
, "xowa.gui.shortcuts.xowa.nav.setup.download-1"
, "xowa.gui.shortcuts.xowa.nav.system_data.log_session-1"
, "xowa.gui.shortcuts.xowa.nav.system_data.cfg_app-1"
, "xowa.gui.shortcuts.xowa.nav.system_data.cfg_lang-1"
, "xowa.gui.shortcuts.xowa.nav.system_data.cfg_user-1"
, "xowa.gui.shortcuts.xowa.nav.system_data.cfg_custom-1"
, "xowa.gui.shortcuts.xowa.nav.system_data.usr_history-1"
, "xowa.gui.shortcuts.xowa.gui.font.increase-1"
, "xowa.gui.shortcuts.xowa.gui.font.decrease-1"
, "xowa.gui.shortcuts.xowa.gui.font.reset-1"
, "xowa.gui.shortcuts.xowa.gui.page.view.mode_read-1"
, "xowa.gui.shortcuts.xowa.gui.page.view.mode_edit-1"
, "xowa.gui.shortcuts.xowa.gui.page.view.mode_html-1"
, "xowa.gui.shortcuts.xowa.gui.page.view.mode_html-2"
, "xowa.gui.shortcuts.xowa.gui.page.view.refresh-1"
, "xowa.gui.shortcuts.xowa.gui.page.view.reload-1"
, "xowa.gui.shortcuts.xowa.gui.page.view.save_as-1"
, "xowa.gui.shortcuts.xowa.gui.page.view.print-1"
, "xowa.gui.shortcuts.xowa.gui.page.edit.save-1"
, "xowa.gui.shortcuts.xowa.gui.page.edit.save_draft-1"
, "xowa.gui.shortcuts.xowa.gui.page.edit.focus_edit_box-1"
, "xowa.gui.shortcuts.xowa.gui.page.edit.preview-1"
, "xowa.gui.shortcuts.xowa.gui.page.edit.dbg_tmpl-1"
, "xowa.gui.shortcuts.xowa.gui.page.edit.dbg_tmpl-2"
, "xowa.gui.shortcuts.xowa.gui.page.edit.dbg_html-1"
, "xowa.gui.shortcuts.xowa.gui.page.edit.exec-1"
, "xowa.gui.shortcuts.xowa.gui.page.selection.select_all-1"
, "xowa.gui.shortcuts.xowa.gui.page.selection.copy-1"
, "xowa.gui.shortcuts.xowa.gui.page.selection.save_file_as-1"
, "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"
, "xowa.gui.shortcuts.xowa.gui.browser.html.focus-4"
, "xowa.gui.shortcuts.xowa.gui.browser.html.selection_focus_toggle-1"
, "xowa.gui.shortcuts.xowa.gui.browser.find.show-1"
, "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"
, "xowa.gui.shortcuts.xowa.gui.browser.find.wrap_toggle-1"
, "xowa.gui.shortcuts.xowa.gui.browser.prog.focus-1"
, "xowa.gui.shortcuts.xowa.gui.browser.prog_log.show-1"
, "xowa.gui.shortcuts.xowa.gui.browser.prog_log.show-2"
, "xowa.gui.shortcuts.xowa.gui.browser.info.focus-1"
, "xowa.gui.shortcuts.xowa.gui.browser.info.clear-1"
, "xowa.gui.shortcuts.xowa.gui.tabs.new_dflt__at_dflt__focus_y-1"
, "xowa.gui.shortcuts.xowa.gui.tabs.new_link__at_dflt__focus_n-1"
, "xowa.gui.shortcuts.xowa.gui.tabs.new_link__at_dflt__focus_y-1"
, "xowa.gui.shortcuts.xowa.gui.tabs.select_bwd-1"
, "xowa.gui.shortcuts.xowa.gui.tabs.select_bwd-2"
, "xowa.gui.shortcuts.xowa.gui.tabs.select_fwd-1"
, "xowa.gui.shortcuts.xowa.gui.tabs.select_fwd-2"
, "xowa.gui.shortcuts.xowa.gui.tabs.select_by_idx_1-2"
, "xowa.gui.shortcuts.xowa.gui.tabs.select_by_idx_2-2"
, "xowa.gui.shortcuts.xowa.gui.tabs.select_by_idx_3-2"
, "xowa.gui.shortcuts.xowa.gui.tabs.select_by_idx_4-2"
, "xowa.gui.shortcuts.xowa.gui.tabs.select_by_idx_5-2"
, "xowa.gui.shortcuts.xowa.gui.tabs.select_by_idx_6-2"
, "xowa.gui.shortcuts.xowa.gui.tabs.select_by_idx_7-2"
, "xowa.gui.shortcuts.xowa.gui.tabs.select_by_idx_8-2"
, "xowa.gui.shortcuts.xowa.gui.tabs.select_by_idx_9-2"
, "xowa.gui.shortcuts.xowa.gui.tabs.move_bwd-1"
, "xowa.gui.shortcuts.xowa.gui.tabs.move_fwd-1"
, "xowa.gui.shortcuts.xowa.gui.tabs.close_cur-1"
, "xowa.gui.shortcuts.xowa.gui.tabs.close_others-1"
, "xowa.gui.shortcuts.xowa.gui.tabs.close_to_bgn-1"
, "xowa.gui.shortcuts.xowa.gui.tabs.close_to_end-1"
, "xowa.gui.shortcuts.xowa.gui.tabs.close_undo-1"
, "xowa.gui.shortcuts.xowa.gui.tabs.pin_toggle-1"
, "xowa.gui.shortcuts.xowa.html.tidy.toggle-1"
, "xowa.gui.shortcuts.xowa.net.enable_n_-1"
, "xowa.gui.shortcuts.xowa.net.enable_y_-1"
, "xowa.gui.shortcuts.xowa.net.enable_x_-1"
, "xowa.gui.shortcuts.xowa.usr.bookmarks.add-1"
, "xowa.gui.shortcuts.xowa.usr.bookmarks.show-1"
, "xowa.gui.shortcuts.xowa.usr.history.goto_recent-1"
, "xowa.gui.shortcuts.xowa.usr.history.show-1"
);
} }
public Xog_bnd_itm Set(Xog_bnd_itm itm, int new_box, IptArg new_ipt) { public Xog_bnd_itm Set(Xog_bnd_itm itm, int new_box, IptArg new_ipt) {
if (win.Win_box() == null) { // kit not built yet; occurs when restoring bindings through cfg file; DATE:2014-05-16 if (win.Win_box() == null) { // kit not built yet; occurs when restoring bindings through cfg file; DATE:2014-05-16
@ -233,4 +350,13 @@ public class Xog_bnd_mgr {
this.Bind(Xog_bnd_box_.Tid_browser_prog , win.Prog_box()); this.Bind(Xog_bnd_box_.Tid_browser_prog , win.Prog_box());
this.Bind(Xog_bnd_box_.Tid_browser_info , win.Info_box()); this.Bind(Xog_bnd_box_.Tid_browser_info , win.Info_box());
} }
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
String[] flds = gplx.xowa.addons.apps.cfgs.enums.Xoitm_gui_binding.To_ary(m.ReadStr("v"));
int box = Xog_bnd_box_.Xto_sys_int(flds[0]);
String key = String_.Replace(k, "xowa.gui.shortcuts.", "");
Xog_bnd_itm bnd = app.Gui_mgr().Bnd_mgr().Get_or_null(key);
Set(bnd, box, IptArg_.parse(flds[1]));
return this;
}
} }

Loading…
Cancel
Save