mirror of
https://github.com/gnosygnu/xowa.git
synced 2024-10-27 20:34:16 +00:00
Cfg: Convert 'toggle_mgr'
This commit is contained in:
parent
3a4ef523dc
commit
460f4a323b
@ -35,8 +35,7 @@ public class Xoapi_root implements Gfo_invk {
|
||||
xtns_api.Init_by_kit(app);
|
||||
}
|
||||
public void Init_by_app(Xoae_app app) {
|
||||
Io_url img_dir = app.Fsys_mgr().Bin_xowa_file_dir().GenSubDir_nest("app.general");
|
||||
html_api.Page().Toggle_mgr().Img_dir_(img_dir);
|
||||
html_api.Init_by_app(app);
|
||||
usr_api.Init_by_app(app);
|
||||
}
|
||||
public Xoapi_addon Addon() {return addon_api;} private final Xoapi_addon addon_api = new Xoapi_addon();
|
||||
|
@ -21,9 +21,8 @@ public class Xoapi_html implements Gfo_invk {
|
||||
public void Ctor_by_app(Xoae_app app) {
|
||||
page.Ctor_by_app(app);
|
||||
}
|
||||
public void Init_by_kit(Xoae_app app) {
|
||||
modules.Init_by_kit(app);
|
||||
}
|
||||
public void Init_by_app(Xoae_app app) {page.Init_by_app(app);}
|
||||
public void Init_by_kit(Xoae_app app) {modules.Init_by_kit(app);}
|
||||
public Xoapi_modules Modules() {return modules;} private final Xoapi_modules modules = new Xoapi_modules();
|
||||
public Xoapi_page Page() {return page;} private final Xoapi_page page = new Xoapi_page();
|
||||
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
|
@ -20,6 +20,7 @@ public class Xoapi_page implements Gfo_invk {
|
||||
public void Ctor_by_app(Xoae_app app) {
|
||||
toggle_mgr.Ctor_by_app(app);
|
||||
}
|
||||
public void Init_by_app(Xoae_app app) {toggle_mgr.Init_by_app(app);}
|
||||
public Xoapi_toggle_mgr Toggle_mgr() {return toggle_mgr;} private final Xoapi_toggle_mgr toggle_mgr = new Xoapi_toggle_mgr();
|
||||
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
if (ctx.Match(k, Invk_toggles)) return toggle_mgr;
|
||||
|
@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.apps.apis.xowa.html; import gplx.*; import gplx.xowa.*; import gplx.xowa.apps.*; import gplx.xowa.apps.apis.*; import gplx.xowa.apps.apis.xowa.*;
|
||||
import gplx.core.brys.fmtrs.*;
|
||||
public class Xoapi_toggle_itm implements Gfo_invk {
|
||||
public class Xoapi_toggle_itm {
|
||||
private final Xoae_app app; // NOTE: needed to get "img_dir" below
|
||||
private byte[] img_title_val_y, img_title_val_n;
|
||||
public Xoapi_toggle_itm(Xoae_app app, byte[] key_bry) {
|
||||
@ -30,6 +30,10 @@ public class Xoapi_toggle_itm implements Gfo_invk {
|
||||
public byte[] Elem_display() {return elem_display;} private byte[] elem_display = Bry_.Empty;
|
||||
public byte[] Html_toggle_hdr_cls() {return html_toggle_hdr_cls;} public Xoapi_toggle_itm Html_toggle_hdr_cls_(byte[] v) {html_toggle_hdr_cls = v; return this;} private byte[] html_toggle_hdr_cls = Bry_.Empty;
|
||||
public boolean Visible() {return visible;} private boolean visible;
|
||||
public void Visible_(boolean v) {
|
||||
this.visible = v;
|
||||
Html_toggle_gen();
|
||||
}
|
||||
public Xoapi_toggle_itm Init(byte[] heading_bry) {
|
||||
this.heading_bry = heading_bry; // NOTE: sets "Wikis" or "In other languages"; Wikidata twisties are empty;
|
||||
this.icon_title = app.Usere().Msg_mgr().Val_by_key_obj(visible ? Img_title_msg_y : Img_title_msg_n); // set title ("show" or "hide")
|
||||
@ -79,13 +83,6 @@ public class Xoapi_toggle_itm implements Gfo_invk {
|
||||
.Keys_("key", "display", "toggle_hdr_cls").Bld_bry_many(bfr, key_bry, elem_display, html_toggle_hdr_cls)
|
||||
;
|
||||
}
|
||||
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
if (ctx.Match(k, Invk_visible)) return Yn.To_str(visible);
|
||||
else if (ctx.Match(k, Invk_visible_)) this.visible = m.ReadYn("v");
|
||||
else return Gfo_invk_.Rv_unhandled;
|
||||
return this;
|
||||
}
|
||||
private static final String Invk_visible = "visible", Invk_visible_ = "visible_";
|
||||
private static byte[] Img_src_y, Img_src_n; // assume these are the same for all itms
|
||||
private static final byte[]
|
||||
Img_title_msg_y = Bry_.new_a7("hide"), Img_title_msg_n = Bry_.new_a7("show")
|
||||
|
@ -21,6 +21,33 @@ public class Xoapi_toggle_mgr implements Gfo_invk {
|
||||
private Xoae_app app;
|
||||
private final Ordered_hash hash = Ordered_hash_.New_bry();
|
||||
public void Ctor_by_app(Xoae_app app) {this.app = app;}
|
||||
public void Init_by_app(Xoae_app app) {
|
||||
Io_url img_dir = app.Fsys_mgr().Bin_xowa_file_dir().GenSubDir_nest("app.general");
|
||||
int len = hash.Count();
|
||||
for (int i = 0; i < len; ++i) {
|
||||
Xoapi_toggle_itm itm = (Xoapi_toggle_itm)hash.Get_at(i);
|
||||
itm.Init_fsys(img_dir);
|
||||
}
|
||||
|
||||
app.Cfg().Bind_many_app(this
|
||||
, Cfg__toggles__offline_wikis
|
||||
, Cfg__toggles__wikidata_langs
|
||||
, Cfg__toggles__claim
|
||||
, Cfg__toggles__slink_w
|
||||
, Cfg__toggles__slink_d
|
||||
, Cfg__toggles__slink_s
|
||||
, Cfg__toggles__slink_v
|
||||
, Cfg__toggles__slink_q
|
||||
, Cfg__toggles__slink_b
|
||||
, Cfg__toggles__slink_u
|
||||
, Cfg__toggles__slink_n
|
||||
, Cfg__toggles__slink_special
|
||||
, Cfg__toggles__label
|
||||
, Cfg__toggles__descr
|
||||
, Cfg__toggles__alias
|
||||
, Cfg__toggles__json
|
||||
);
|
||||
}
|
||||
public Xoapi_toggle_itm Get_or_new(String key_str) {
|
||||
byte[] key_bry = Bry_.new_u8(key_str);
|
||||
Xoapi_toggle_itm rv = (Xoapi_toggle_itm)hash.Get_by(key_bry);
|
||||
@ -30,23 +57,45 @@ public class Xoapi_toggle_mgr implements Gfo_invk {
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
public void Img_dir_(Io_url v) {
|
||||
int len = hash.Count();
|
||||
for (int i = 0; i < len; ++i) {
|
||||
Xoapi_toggle_itm itm = (Xoapi_toggle_itm)hash.Get_at(i);
|
||||
itm.Init_fsys(v);
|
||||
}
|
||||
}
|
||||
public void Save(Xoa_cfg_mgr cfg_mgr) {
|
||||
int len = hash.Count();
|
||||
for (int i = 0; i < len; ++i) {
|
||||
Xoapi_toggle_itm itm = (Xoapi_toggle_itm)hash.Get_at(i);
|
||||
cfg_mgr.Set_by_app("xowa.api.html.page.toggles.get('" + String_.new_u8(itm.Key_bry()) + "').visible", Yn.To_str(itm.Visible()));
|
||||
}
|
||||
}
|
||||
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
if (ctx.Match(k, Invk_get)) return this.Get_or_new(m.ReadStr("key"));
|
||||
if (ctx.MatchIn(k
|
||||
, Cfg__toggles__offline_wikis
|
||||
, Cfg__toggles__wikidata_langs
|
||||
, Cfg__toggles__claim
|
||||
, Cfg__toggles__slink_w
|
||||
, Cfg__toggles__slink_d
|
||||
, Cfg__toggles__slink_s
|
||||
, Cfg__toggles__slink_v
|
||||
, Cfg__toggles__slink_q
|
||||
, Cfg__toggles__slink_b
|
||||
, Cfg__toggles__slink_u
|
||||
, Cfg__toggles__slink_n
|
||||
, Cfg__toggles__slink_special
|
||||
, Cfg__toggles__label
|
||||
, Cfg__toggles__descr
|
||||
, Cfg__toggles__alias
|
||||
, Cfg__toggles__json)) {
|
||||
this.Get_or_new(String_.Replace(k, "xowa.app.recent.toggles.", "")).Visible_(m.ReadYn("v"));
|
||||
}
|
||||
else return Gfo_invk_.Rv_unhandled;
|
||||
return this;
|
||||
}
|
||||
private static final String Invk_get = "get";
|
||||
private static final String
|
||||
Cfg__toggles__offline_wikis = "xowa.app.recent.toggles.offline-wikis"
|
||||
, Cfg__toggles__wikidata_langs = "xowa.app.recent.toggles.wikidata-langs"
|
||||
, Cfg__toggles__claim = "xowa.app.recent.toggles.wikidatawiki-claim"
|
||||
, Cfg__toggles__slink_w = "xowa.app.recent.toggles.wikidatawiki-slink-wikipedia"
|
||||
, Cfg__toggles__slink_d = "xowa.app.recent.toggles.wikidatawiki-slink-wiktionary"
|
||||
, Cfg__toggles__slink_s = "xowa.app.recent.toggles.wikidatawiki-slink-wikisource"
|
||||
, Cfg__toggles__slink_v = "xowa.app.recent.toggles.wikidatawiki-slink-wikivoyage"
|
||||
, Cfg__toggles__slink_q = "xowa.app.recent.toggles.wikidatawiki-slink-wikiquote"
|
||||
, Cfg__toggles__slink_b = "xowa.app.recent.toggles.wikidatawiki-slink-wikibooks"
|
||||
, Cfg__toggles__slink_u = "xowa.app.recent.toggles.wikidatawiki-slink-wikiversity"
|
||||
, Cfg__toggles__slink_n = "xowa.app.recent.toggles.wikidatawiki-slink-wikinews"
|
||||
, Cfg__toggles__slink_special = "xowa.app.recent.toggles.wikidatawiki-slink-special"
|
||||
, Cfg__toggles__label = "xowa.app.recent.toggles.wikidatawiki-label"
|
||||
, Cfg__toggles__descr = "xowa.app.recent.toggles.wikidatawiki-descr"
|
||||
, Cfg__toggles__alias = "xowa.app.recent.toggles.wikidatawiki-alias"
|
||||
, Cfg__toggles__json = "xowa.app.recent.toggles.wikidatawiki-json"
|
||||
;
|
||||
}
|
||||
|
@ -82,9 +82,6 @@ public class Xog_startup_win_ {
|
||||
Xog_startup_tabs_.Shutdown(app);
|
||||
|
||||
cfg_mgr.Set_str_app(gplx.xowa.guis.views.Xog_startup_tabs_.Cfg__prev_version, Xoa_app_.Version);
|
||||
gplx.xowa.apps.cfgs.Xoa_cfg_mgr cfg_mgr2 = app.Cfg_mgr();
|
||||
app.Api_root().Html().Page().Toggle_mgr().Save(cfg_mgr2);
|
||||
cfg_mgr2.Db_save_txt();
|
||||
}
|
||||
public static SizeAdp Screen_maximized_calc() {
|
||||
Op_sys os = Op_sys.Cur();
|
||||
|
Loading…
Reference in New Issue
Block a user