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

@@ -18,6 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.addons.apps.cfgs.specials.edits.objs; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.apps.*; import gplx.xowa.addons.apps.cfgs.*; import gplx.xowa.addons.apps.cfgs.specials.*; import gplx.xowa.addons.apps.cfgs.specials.edits.*;
import gplx.xowa.addons.apps.cfgs.enums.*;
import gplx.xowa.addons.apps.cfgs.mgrs.types.*;
import gplx.xowa.guis.bnds.*;
public class Xoedit_itm_html {
public static void Build_html(Bry_bfr bfr, Xocfg_type_mgr type_mgr, String key, String name, String type, String html_atrs, String html_cls, byte[] val) {
// prepend space for html insertion; EX: "type='checkbox'{1}>" with "a=b" -> "type='checkbox' a='b'" x> "type='checkbox'a='b'"
@@ -25,6 +26,7 @@ public class Xoedit_itm_html {
if (String_.Len_gt_0(html_cls)) html_cls = " " + html_cls;
// build html
bfr.Add_byte_nl();
switch (Xoitm_type_enum.To_uid(type)) {
case Xoitm_type_enum.Tid__bool:
bfr.Add_str_u8_fmt
@@ -71,22 +73,42 @@ public class Xoedit_itm_html {
case Xoitm_type_enum.Tid__io_cmd:
String[] lines = Xocfg_mgr.Parse_io_cmd(String_.new_u8(val));
bfr.Add_str_u8_fmt
( "<input class=\"xocfg__io_cmd__exe__txt\" id=\"{3}-exe\" data-xocfg-key=\"{3}\" data-xocfg-type=\"{0}-exe\" accesskey=\"d\" class=\"xocfg__io_cmd__exe__txt{2}\" type=\"text\"{1} value=\"{4}\"></input>\n"
( "<input class=\"xocfg__io_cmd__exe__txt{2}\" id=\"{3}-exe\" data-xocfg-key=\"{3}\" data-xocfg-type=\"{0}-exe\" accesskey=\"d\" type=\"text\"{1} value=\"{4}\"></input>\n"
+ "<button class=\"xocfg__io_cmd__exe__btn\" onclick='xo.cfg_edit.io_cmd__select(\"file\", \"{3}-exe\", \"Please select a file.\");'>...</button><br/>\n"
, type, html_atrs, html_cls, key, lines[0]);
bfr.Add_str_u8_fmt
( "<input class=\"xocfg__io_cmd__arg__txt\" id=\"{3}-arg\" data-xocfg-key=\"{3}\" data-xocfg-type=\"{0}-arg\" accesskey=\"d\" class=\"xocfg__io_cmd__arg__txt{2}\" type=\"text\"{1} value=\"{4}\">\n"
( "<input class=\"xocfg__io_cmd__arg__txt{2}\" id=\"{3}-arg\" data-xocfg-key=\"{3}\" data-xocfg-type=\"{0}-arg\" accesskey=\"d\" type=\"text\"{1} value=\"{4}\">\n"
, type, html_atrs, html_cls, key, lines[1]);
break;
case Xoitm_type_enum.Tid__gui_binding:
case Xoitm_type_enum.Tid__gui_binding: {
String[] flds = Xoitm_gui_binding.To_gui(String_.new_u8(val));
// bfr.Add_str_u8_fmt
// ( "<input class=\"xocfg__gui_binding__box\" id=\"{3}-box\" data-xocfg-key=\"{3}\" data-xocfg-type=\"{0}-box\" accesskey=\"d\" type=\"text\"{1} value=\"{4}\"></input>\n"
// , type, html_atrs, html_cls, key, flds[0]);
bfr.Add_str_u8_fmt
( "<input class=\"xocfg__gui_binding__box__txt\" id=\"{3}-box\" data-xocfg-key=\"{3}\" data-xocfg-type=\"{0}-box\" accesskey=\"d\" class=\"{2}\" type=\"text\"{1} value=\"{4}\"></input>\n"
( "<select class=\"xocfg__gui_binding__box\" id=\"{3}-box\" data-xocfg-key=\"{3}\" data-xocfg-type=\"{0}-box\" size=\"1\" accesskey=\"d\"{1}>\n"
, type, html_atrs, html_cls, key, flds[0]);
Xog_bnd_box[] box_ary = Xog_bnd_box_.Ary();
int box_len = box_ary.length;
String selected_box = flds[0];
for (int i = 0; i < box_len; i++) {
Xog_bnd_box kv = box_ary[i];
String kv_key = kv.Key();
String kv_val = Xog_bnd_box_.To_gui_str(kv_key);
bfr.Add_str_u8_fmt
( "<option value=\"{0}\"{2}>{1}</option>\n"
, kv_key, kv_val, String_.Eq(selected_box, kv_val) ? " selected=\"selected\"" : "");
}
bfr.Add_str_u8_fmt("</select>\n");
bfr.Add_str_u8_fmt
( "<input class=\"xocfg__gui_binding__ipt__txt\" id=\"{3}-ipt\" data-xocfg-key=\"{3}\" data-xocfg-type=\"{0}-ipt\" accesskey=\"d\" class=\"{2}\" type=\"text\"{1} value=\"{4}\"'>\n"
( "<input class=\"xocfg__gui_binding__ipt\" id=\"{3}-ipt\" data-xocfg-key=\"{3}\" data-xocfg-type=\"{0}-ipt\" accesskey=\"d\" type=\"text\"{1} value=\"{4}\"></input>\n"
, type, html_atrs, html_cls, key, flds[1]);
bfr.Add_str_u8_fmt
( "<span class=\"xoimg_btn_x16 xoimg_app_configure\" onclick='xo.cfg_edit.gui_binding__remap_send(\"{3}\", \"{4}\");'>&nbsp;</span>\n"
, type, html_atrs, html_cls, key, name);
break;
}
case Xoitm_type_enum.Tid__btn:
bfr.Add_str_u8_fmt
( "<button id=\"{3}\" data-xocfg-key=\"{3}\" data-xocfg-type=\"{0}\" class=\"xocfg__btn{2}\" {1}>{4}</button>"

View File

@@ -40,14 +40,18 @@ public class Xocfg_edit_svc {
try {
app.Cfg().Set_str(ctx, key, val);
} catch (Exception exc) {
app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.update__fail", Gfobj_nde.New().Add_str("key", key).Add_str("new_val", val).Add_str("old_val", grp.Get(ctx)).Add_str("err", Err_.Message_lang(exc)));
app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.update__fail", Gfobj_nde.New().Add_str("key", key).Add_str("new_val", args.Get_as_str("val")).Add_str("old_val", grp.Get(ctx)).Add_str("err", Err_.Message_lang(exc)));
return;
}
if (!String_.Eq(type, "btn") && String_.Eq(grp.Dflt(), val))
app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.delete__recv", Gfobj_nde.New().Add_str("key", key).Add_str("val", val).Add_str("type", type));
if (!String_.Eq(type, "btn") && String_.Eq(grp.Dflt(), val)) {
if (String_.Has_at_bgn(type, "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.delete__recv", Gfobj_nde.New().Add_str("key", key).Add_str("type", type).Add_str("val", val));
}
else
app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.update__pass", Gfobj_nde.New().Add_str("key", key).Add_str("val", val).Add_str("type", type));
app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.update__pass", Gfobj_nde.New().Add_str("key", key).Add_str("type", type));
}
public void Delete(Json_nde args) {
String ctx = args.Get_as_str("ctx");