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

Night-mode: Allow global user-overrides for night-mode css / logo

This commit is contained in:
gnosygnu
2017-06-25 15:47:30 -04:00
parent 67fc90d43f
commit f1da174c5c
16 changed files with 160 additions and 36 deletions

View File

@@ -34,20 +34,13 @@ public class Xoh_page_wtr_mgr implements Gfo_invk {
public Bry_fmtr Page_edit_fmtr() {return page_edit_fmtr;} private Bry_fmtr page_edit_fmtr = Bry_fmtr.new_("", Fmtr_keys);
public Bry_fmtr Page_html_fmtr() {return page_html_fmtr;} private Bry_fmtr page_html_fmtr = Bry_fmtr.new_("", Fmtr_keys);
public byte[] Edit_rename_div_bry(Xoa_ttl ttl) {return div_edit_rename_fmtr.Bld_bry_many(tmp_bfr, ttl.Full_db());}
public void Init_css_urls(Xoa_app app, Io_url css_common_url, Io_url css_wiki_url) {
public void Init_css_urls(Xoa_app app, String wiki_domain, Io_url css_common_url, Io_url css_wiki_url) {
this.css_common_bry = css_common_url.To_http_file_bry();
this.css_wiki_bry = css_wiki_url.To_http_file_bry();
// set css_night_url to /xowa/user/ root
Io_url css_night_url = css_wiki_url.OwnerDir().GenSubFil("xowa_night.css");
// if it doesn't exist, use bin root
if (!Io_mgr.Instance.ExistsFil(css_night_url)) {
css_night_url = app.Fsys_mgr().Bin_xowa_dir().GenSubFil_nest("html", "css", "nightmode", "xowa_night.css");
}
// make night_bry
this.css_night_bry = Bry_.new_u8("<link rel=\"stylesheet\" href=\"" + css_night_url.To_http_file_str() + "\" type=\"text/css\">");;
// xowa_night.css;
Io_url css_night_url = app.Fsys_mgr().Url_finder().Find_by_css_or(wiki_domain, "xowa_night.css", String_.Ary("bin", "any", "xowa", "html", "css", "nightmode"), true);
this.css_night_bry = Bry_.new_u8("<link rel=\"stylesheet\" href=\"" + css_night_url.To_http_file_str() + "\" type=\"text/css\">");
}
public void Init_(boolean v) {init = v;} private boolean init = true;
public void Init_by_wiki(Xow_wiki wiki) {

View File

@@ -72,18 +72,9 @@ public class Xow_portal_mgr implements Gfo_invk {
div_logo_day = Init_fmtr(tmp_bfr, eval_mgr, div_logo_fmtr, main_page_href_bry, fsys_lnx_encoder.Encode_to_file_protocol(wiki_css_dir.GenSubFil_nest("logo.png")));
// night-mode logo; check if wiki-version exists, else use app-version
Io_url night_logo = null;
Io_url night_logo_wiki = wiki_css_dir.GenSubFil("logo_night.png");
if (Io_mgr.Instance.Exists(night_logo_wiki)) {
night_logo = night_logo_wiki;
}
else {
night_logo = wiki.Appe().Fsys_mgr().Bin_xowa_dir().GenSubFil_nest("html", "css", "nightmode", "logo.png");
}
Io_url night_logo = wiki.App().Fsys_mgr().Url_finder().Find_by_css_or(wiki.Domain_str(), "logo_night.png", String_.Ary("bin", "any", "xowa", "html", "css", "nightmode"), true);
div_logo_night = Init_fmtr(tmp_bfr, eval_mgr, div_logo_fmtr, main_page_href_bry, fsys_lnx_encoder.Encode_to_file_protocol(night_logo));
// div_logo_day = Init_fmtr(tmp_bfr, eval_mgr, div_logo_fmtr, main_page_href_bry, fsys_lnx_encoder.Encode_to_file_protocol(wiki.Appe().Usere().Fsys_mgr().Wiki_root_dir().GenSubFil_nest(wiki.Domain_str(), "html", "logo.png")));
// div_logo_night = Init_fmtr(tmp_bfr, eval_mgr, div_logo_fmtr, main_page_href_bry, fsys_lnx_encoder.Encode_to_file_protocol(wiki.Appe().Fsys_mgr().Bin_xowa_dir().GenSubFil_nest("html", "css", "nightmode", "logo.png")));
div_home_bry = Init_fmtr(tmp_bfr, eval_mgr, div_home_fmtr);
div_wikis_fmtr.Eval_mgr_(eval_mgr);
Xow_msg_mgr msg_mgr = wiki.Msg_mgr();

View File

@@ -35,7 +35,7 @@ public class Xow_portal_mgr_tst {
fxt.Test_logo_frag(Bool_.N, "file:///mem/xowa/user/test_user/wiki/en.wikipedia.org/html/logo.png");
// night-mode: app
fxt.Test_logo_frag(Bool_.Y, "file:///mem/xowa/bin/any/xowa/html/css/nightmode/logo.png");
fxt.Test_logo_frag(Bool_.Y, "file:///mem/xowa/bin/any/xowa/html/css/nightmode/logo_night.png");
// night-mode: wiki
Io_mgr.Instance.SaveFilStr("mem/xowa/user/test_user/wiki/en.wikipedia.org/html/logo_night.png", "");