diff --git a/400_xowa/src/gplx/xowa/addons/apps/cfgs/Xocfg_mgr.java b/400_xowa/src/gplx/xowa/addons/apps/cfgs/Xocfg_mgr.java index f42ecc563..9b27e587e 100644 --- a/400_xowa/src/gplx/xowa/addons/apps/cfgs/Xocfg_mgr.java +++ b/400_xowa/src/gplx/xowa/addons/apps/cfgs/Xocfg_mgr.java @@ -129,6 +129,7 @@ public class Xocfg_mgr implements Gfo_invk { else if (ctx.Match(k, "set_temp")) cache_mgr.Set_wo_save ((String)m.ReadValAt(0), (String)m.ReadValAt(1), (String)m.ReadValAt(2)); else if (ctx.Match(k, "set_dflt")) dflt_mgr.Add ((String)m.ReadValAt(0), (String)m.ReadValAt(1)); else if (ctx.Match(k, "run")) cache_mgr.Pub ((String)m.ReadValAt(0), (String)m.ReadValAt(1), (String)m.ReadValAt(2)); + else if (ctx.Match(k, "get")) return cache_mgr.Get ((String)m.ReadValAt(0), (String)m.ReadValAt(1)); else return Gfo_invk_.Rv_unhandled; return this; } diff --git a/400_xowa/src/gplx/xowa/apps/apis/xowa/navs/Xoapi_nav_wiki.java b/400_xowa/src/gplx/xowa/apps/apis/xowa/navs/Xoapi_nav_wiki.java index 95291050b..804c7653f 100644 --- a/400_xowa/src/gplx/xowa/apps/apis/xowa/navs/Xoapi_nav_wiki.java +++ b/400_xowa/src/gplx/xowa/apps/apis/xowa/navs/Xoapi_nav_wiki.java @@ -29,9 +29,10 @@ public class Xoapi_nav_wiki implements Gfo_invk { if (ctx.Match(k, "main_page")) this.Main_page(); else if (ctx.Match(k, "random")) win.Page__navigate_by_url_bar("Special:Random"); else if (ctx.Match(k, "sandbox")) win.Page__navigate_by_url_bar("Project:Sandbox"); - else if (ctx.Match(k, "allpages")) win.Page__navigate_by_url_bar("Special:AllPages?from=!"); // NOTE: for menu, default to ! else empty page + else if (ctx.Match(k, "allpages")) win.Page__navigate_by_url_bar("Special:AllPages?from=!"); // NOTE: for main_menu, default to ! else empty page else if (ctx.Match(k, "search_title")) win.Page__navigate_by_url_bar("Special:Search?fulltext=y"); else if (ctx.Match(k, "search_full")) win.Page__navigate_by_url_bar("Special:XowaSearch"); + else if (ctx.Match(k, "search_per_cfg")) win.Page__navigate_by_url_bar(win.Gui_mgr().Win_cfg().Search_url()); else return Gfo_invk_.Rv_unhandled; return this; } diff --git a/400_xowa/src/gplx/xowa/apps/cfgs/Xocfg_win.java b/400_xowa/src/gplx/xowa/apps/cfgs/Xocfg_win.java index b76be7b06..b896322e3 100644 --- a/400_xowa/src/gplx/xowa/apps/cfgs/Xocfg_win.java +++ b/400_xowa/src/gplx/xowa/apps/cfgs/Xocfg_win.java @@ -18,18 +18,41 @@ import gplx.core.brys.fmtrs.*; import gplx.gfui.draws.*; import gplx.xowa.guis.langs.*; public class Xocfg_win implements Gfo_invk { + private Xoa_app app; public Xol_font_info Font() {return font;} private Xol_font_info font = new Xol_font_info("Arial", 8, FontStyleAdp_.Plain); - public Bry_fmtr Search_box_fmtr() {return search_box_fmtr;} private Bry_fmtr search_box_fmtr = Bry_fmtr.new_("Special:XowaSearch?search=~{search}", "search"); + public Bry_fmtr Search_box_fmtr() {return search_box_fmtr;} private Bry_fmtr search_box_fmtr = Bry_fmtr.new_("Special:Search?search=~{search}", "search"); public Bry_fmtr Allpages_box_fmtr() {return allpages_box_fmtr;} private Bry_fmtr allpages_box_fmtr = Bry_fmtr.new_("Special:AllPages?from=~{search}&namespace=0&hideredirects=0", "search"); public void Init_by_app(Xoae_app app) { + this.app = app; font.Init_by_app(app); + app.Cfg().Bind_many_app(this, Cfg__search__default_to_fulltext, Cfg__search__fallback_to_title); } + public String Search_url() {return search_url;} private String search_url = "Special:Search"; + public void Search_url_(boolean default_to_fulltext) { + search_url = default_to_fulltext ? "Special:XowaSearch" : "Special:Search?fulltext=y&search="; + search_box_fmtr = Bry_fmtr.new_(search_url + "?fulltext=y&search=~{search}", "search"); + + // rest portal on every page in order to refresh searchform link; EX: