mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
v1.7.3.1
This commit is contained in:
@@ -28,7 +28,7 @@ public class Xog_html_mgr implements GfoInvkAble {
|
||||
public String Auto_focus_id() {return auto_focus_id;} private String auto_focus_id = "";
|
||||
public byte[] Css_xtn() {return css_xtn;} public void Css_xtn_(byte[] v) {css_xtn = v;} private byte[] css_xtn = Bry_.Empty;
|
||||
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
if (ctx.Match(k, Invk_javascript_enabled)) return Yn.X_to_str(javascript_enabled);
|
||||
if (ctx.Match(k, Invk_javascript_enabled)) return Yn.Xto_str(javascript_enabled);
|
||||
else if (ctx.Match(k, Invk_javascript_enabled_)) Javascript_enabled_(m.ReadYn("v"));
|
||||
else if (ctx.Match(k, Invk_auto_focus_id_)) auto_focus_id = m.ReadStr("v");
|
||||
else if (ctx.Match(k, Invk_css_xtn)) return css_xtn;
|
||||
|
||||
@@ -35,15 +35,15 @@ public class Xog_bnd_box_ {
|
||||
return 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);}
|
||||
public static int[] X_to_sys_int_ary(String s) {
|
||||
public static int[] Xto_sys_int_ary(String s) {
|
||||
String[] ary = String_.Split(s, "|");
|
||||
int len = ary.length;
|
||||
int[] rv = new int[len];
|
||||
for (int i = 0; i < len; i++)
|
||||
rv[i] = X_to_sys_int(ary[i]);
|
||||
rv[i] = Xto_sys_int(ary[i]);
|
||||
return rv;
|
||||
}
|
||||
public static int X_to_sys_int(String s) {
|
||||
public static int Xto_sys_int(String s) {
|
||||
if (String_.Eq(s, Key_browser)) return Tid_browser;
|
||||
else if (String_.Eq(s, Key_browser_url)) return Tid_browser_url;
|
||||
else if (String_.Eq(s, Key_browser_search)) return Tid_browser_search;
|
||||
@@ -53,7 +53,7 @@ public class Xog_bnd_box_ {
|
||||
else if (String_.Eq(s, Key_browser_info)) return Tid_browser_info;
|
||||
else throw Err_.unhandled(s);
|
||||
}
|
||||
public static String X_to_sys_str(int v) {
|
||||
public static String Xto_sys_str(int v) {
|
||||
switch (v) {
|
||||
case Tid_browser: return Key_browser;
|
||||
case Tid_browser_url: return Key_browser_url;
|
||||
@@ -65,7 +65,7 @@ public class Xog_bnd_box_ {
|
||||
default: throw Err_.unhandled(v);
|
||||
}
|
||||
}
|
||||
public static String X_to_gui_str(int v) {
|
||||
public static String Xto_gui_str(int v) {
|
||||
switch (v) {
|
||||
case Tid_browser: return Gui_browser;
|
||||
case Tid_browser_url: return Gui_browser_url;
|
||||
@@ -77,7 +77,7 @@ public class Xog_bnd_box_ {
|
||||
default: throw Err_.unhandled(v);
|
||||
}
|
||||
}
|
||||
public static int X_by_gui_str(String s) {
|
||||
public static int Xby_gui_str(String s) {
|
||||
if (String_.Eq(s, Gui_browser)) return Tid_browser;
|
||||
else if (String_.Eq(s, Gui_browser_url)) return Tid_browser_url;
|
||||
else if (String_.Eq(s, Gui_browser_search)) return Tid_browser_search;
|
||||
|
||||
@@ -55,8 +55,8 @@ public class Xog_bnd_mgr_srl extends Dsv_wkr_base {
|
||||
|
||||
if (uids == null) Init();
|
||||
Xog_bnd_itm bnd = (Xog_bnd_itm)uids.Fetch(Int_obj_val.new_(uid));
|
||||
int box = Xog_bnd_box_.X_by_gui_str(String_.new_utf8_(box_bry));
|
||||
IptArg ipt = IptArg_.parse_or_none_(bnd_parser.X_to_gfui(String_.new_utf8_(ipt_bry)));
|
||||
int box = Xog_bnd_box_.Xby_gui_str(String_.new_utf8_(box_bry));
|
||||
IptArg ipt = IptArg_.parse_or_none_(bnd_parser.Xto_gfui(String_.new_utf8_(ipt_bry)));
|
||||
bnd_mgr.Del(bnd, ipt);
|
||||
Xog_bnd_mgr_srl.Update_cfg(app, bnd, box, ipt);
|
||||
uid = -1; box_bry = ipt_bry = null;
|
||||
|
||||
@@ -16,7 +16,7 @@ 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.gui.cmds; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*;
|
||||
import gplx.xowa.apis.xowa.*;
|
||||
import gplx.xowa.apis.xowa.*; import gplx.xowa.langs.msgs.*;
|
||||
public class Xog_cmd_mgr {
|
||||
public void Init_by_kit(Xoa_app app) {
|
||||
invk_mgr.Ctor(app, this);
|
||||
@@ -30,7 +30,7 @@ public class Xog_cmd_mgr {
|
||||
Xol_lang lang = app.User().Lang();
|
||||
for (int i = 0; i < len; i++) {
|
||||
Xog_cmd_ctg itm = ary[i];
|
||||
itm.Name_(Pf_msg_mgr.Get_msg_val_gui_or_null(lang, Xog_cmd_itm_.Msg_pre_ctg, itm.Key_bry(), Xog_cmd_itm_.Msg_suf_name));
|
||||
itm.Name_(Xol_msg_mgr_.Get_msg_val_gui_or_null(lang, Xog_cmd_itm_.Msg_pre_ctg, itm.Key_bry(), Xog_cmd_itm_.Msg_suf_name));
|
||||
}
|
||||
}
|
||||
private void Load_cmd_msgs(Xoa_app app) {
|
||||
@@ -38,8 +38,8 @@ public class Xog_cmd_mgr {
|
||||
Xol_lang lang = app.User().Lang();
|
||||
for (int i = 0; i < len; i++) {
|
||||
Xog_cmd_itm itm = this.Get_at(i);
|
||||
itm.Name_(Pf_msg_mgr.Get_msg_val_gui_or_null(lang, Xog_cmd_itm_.Msg_pre_api, itm.Key_bry(), Xog_cmd_itm_.Msg_suf_name));
|
||||
itm.Tip_(Pf_msg_mgr.Get_msg_val_gui_or_null(lang, Xog_cmd_itm_.Msg_pre_api, itm.Key_bry(), Xog_cmd_itm_.Msg_suf_tip));
|
||||
itm.Name_(Xol_msg_mgr_.Get_msg_val_gui_or_null(lang, Xog_cmd_itm_.Msg_pre_api, itm.Key_bry(), Xog_cmd_itm_.Msg_suf_name));
|
||||
itm.Tip_(Xol_msg_mgr_.Get_msg_val_gui_or_null(lang, Xog_cmd_itm_.Msg_pre_api, itm.Key_bry(), Xog_cmd_itm_.Msg_suf_tip));
|
||||
}
|
||||
}
|
||||
public int Len() {return Xog_cmd_itm_.Regy_len();}
|
||||
|
||||
@@ -100,7 +100,7 @@ public class Xog_mnu_grp extends Xog_mnu_base {
|
||||
}
|
||||
@Override public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
if (ctx.Match(k, Invk_build)) this.Build();
|
||||
else if (ctx.Match(k, Invk_enabled)) return Yn.X_to_str(enabled);
|
||||
else if (ctx.Match(k, Invk_enabled)) return Yn.Xto_str(enabled);
|
||||
else if (ctx.Match(k, Invk_enabled_)) this.Enabled_(m.ReadYn("v"));
|
||||
else if (ctx.Match(k, Invk_source)) return source;
|
||||
else if (ctx.Match(k, Invk_source_)) this.Source_(app.Gfs_mgr(), m.ReadStr("v"));
|
||||
|
||||
@@ -16,7 +16,7 @@ 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.gui.menus.dom; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; import gplx.xowa.gui.menus.*;
|
||||
import gplx.gfui.*; import gplx.xowa.gui.cmds.*;
|
||||
import gplx.gfui.*; import gplx.xowa.gui.cmds.*; import gplx.xowa.langs.msgs.*;
|
||||
public class Xog_mnu_itm extends Xog_mnu_base {
|
||||
private Xoa_gui_mgr gui_mgr;
|
||||
public Xog_mnu_itm(Xoa_gui_mgr gui_mgr, String key) {
|
||||
@@ -45,9 +45,9 @@ public class Xog_mnu_itm extends Xog_mnu_base {
|
||||
return this;
|
||||
}
|
||||
public void Init_by_lang(Xol_lang lang) {
|
||||
this.name = Pf_msg_mgr.Get_msg_val_gui_or(lang, Xog_cmd_itm_.Msg_pre_api, key_bry, Xog_cmd_itm_.Msg_suf_name, name); // NOTE: custom cmds must use Get_val_or, not Get_val_or_null; DATE:2014-05-30
|
||||
this.shortcut = Pf_msg_mgr.Get_msg_val_gui_or(lang, Xog_cmd_itm_.Msg_pre_api, key_bry, Xog_cmd_itm_.Msg_suf_letter, shortcut);
|
||||
this.img_nest = Img_nest_of(Pf_msg_mgr.Get_msg_val_gui_or(lang, Xog_cmd_itm_.Msg_pre_api, key_bry, Xog_cmd_itm_.Msg_suf_image, ""));
|
||||
this.name = Xol_msg_mgr_.Get_msg_val_gui_or(lang, Xog_cmd_itm_.Msg_pre_api, key_bry, Xog_cmd_itm_.Msg_suf_name, name); // NOTE: custom cmds must use Get_val_or, not Get_val_or_null; DATE:2014-05-30
|
||||
this.shortcut = Xol_msg_mgr_.Get_msg_val_gui_or(lang, Xog_cmd_itm_.Msg_pre_api, key_bry, Xog_cmd_itm_.Msg_suf_letter, shortcut);
|
||||
this.img_nest = Img_nest_of(Xol_msg_mgr_.Get_msg_val_gui_or(lang, Xog_cmd_itm_.Msg_pre_api, key_bry, Xog_cmd_itm_.Msg_suf_image, ""));
|
||||
this.gui_text = Gui_text_calc(name, shortcut);
|
||||
}
|
||||
public void Init_by_custom(String name, String shortcut, String img_nest_str) {
|
||||
|
||||
@@ -67,15 +67,15 @@ public class Xog_url_wkr {
|
||||
return Rslt_handled;
|
||||
}
|
||||
private Xoa_url Exec_url_file(Xoa_app app, Xoa_page page, Xog_win_itm win, byte[] href_bry) { // EX: file:///xowa/A.png
|
||||
href_bry = app.Url_converter_url().Decode(href_bry);
|
||||
href_bry = app.Encoder_mgr().Url().Decode(href_bry);
|
||||
Io_url href_url = Io_url_.http_any_(String_.new_utf8_(href_bry), Op_sys.Cur().Tid_is_wnt());
|
||||
gplx.gfui.Gfui_html html_box = win.Active_html_box();
|
||||
String xowa_ttl = page.Wiki().Gui_mgr().Cfg_browser().Content_editable()
|
||||
? html_box.Html_active_atr_get_str(gplx.xowa.html.Xoh_html_tag.Nde_xowa_title_str, null)
|
||||
: Xoh_dom_.Title_by_href(app.Url_converter_comma(), app.Utl_bry_bfr_mkr().Get_b512().Mkr_rls(), href_bry, Bry_.new_utf8_(html_box.Html_doc_html()));
|
||||
: Xoh_dom_.Title_by_href(app.Encoder_mgr().Comma(), app.Utl_bry_bfr_mkr().Get_b512().Mkr_rls(), href_bry, Bry_.new_utf8_(html_box.Html_doc_html()));
|
||||
if (!Io_mgr._.ExistsFil(href_url)) {
|
||||
Xof_xfer_itm xfer_itm = new Xof_xfer_itm();
|
||||
byte[] title = app.Url_converter_url().Decode(Bry_.new_utf8_(xowa_ttl));
|
||||
byte[] title = app.Encoder_mgr().Url().Decode(Bry_.new_utf8_(xowa_ttl));
|
||||
xfer_itm.Atrs_by_lnki(Xop_lnki_type.Id_none, -1, -1, -1, Xof_doc_thumb.Null, Xof_doc_page.Null).Atrs_by_ttl(title, Bry_.Empty);
|
||||
page.Wiki().File_mgr().Find_meta(xfer_itm);
|
||||
page.File_queue().Clear();
|
||||
|
||||
@@ -143,7 +143,7 @@ public class Xog_html_itm implements GfoInvkAble, GfoEvObj {
|
||||
private boolean Scroll_page_by_id(String id) {
|
||||
return (id == null)
|
||||
? false
|
||||
: html_box.Html_elem_scroll_into_view(app.Url_converter_id().Encode_str(id));
|
||||
: html_box.Html_elem_scroll_into_view(app.Encoder_mgr().Id().Encode_str(id));
|
||||
}
|
||||
public void Js_enabled_(boolean v) {
|
||||
html_box.Html_js_enabled_(v);
|
||||
@@ -197,7 +197,7 @@ class Xog_html_itm__href_extractor {
|
||||
;
|
||||
public static String Html_extract_text(String site, String page, String text_str) {
|
||||
byte[] text_bry = Bry_.new_utf8_(text_str);
|
||||
int text_tid = Byte_ascii.X_to_digit(text_bry[0]);
|
||||
int text_tid = Byte_ascii.Xto_digit(text_bry[0]);
|
||||
int text_len = text_bry.length;
|
||||
switch (text_tid) {
|
||||
case Text_tid_none: return "";
|
||||
|
||||
@@ -37,7 +37,7 @@ public class Xog_html_js_cbk implements GfoInvkAble {
|
||||
String[] rv = new String[len + 1];
|
||||
rv[0] = Invk_xowa_exec_test_as_array;
|
||||
for (int i = 0; i < len; i++)
|
||||
rv[i + 1] = Object_.XtoStr_OrEmpty(m.ReadValAt(i));
|
||||
rv[i + 1] = Object_.Xto_str_strict_or_empty(m.ReadValAt(i));
|
||||
return rv;
|
||||
}
|
||||
private String Parse_to_html(GfoMsg m) {
|
||||
@@ -75,7 +75,7 @@ public class Xog_html_js_cbk implements GfoInvkAble {
|
||||
}
|
||||
private String Popups_get_html(GfoMsg m) {
|
||||
try {
|
||||
int popups_id = Int_.X_by_double_(Double_.cast_(m.Args_getAt(0).Val()));
|
||||
int popups_id = Int_.Xby_double_(Double_.cast_(m.Args_getAt(0).Val()));
|
||||
byte[] href_bry = m.Args_getAt(1).Val_to_bry();
|
||||
return html_itm.Owner_tab().Page().Wiki().Html_mgr().Module_mgr().Popup_mgr().Show_init(href_bry, popups_id);
|
||||
} catch (Exception e) {Err_.Noop(e); return null;}
|
||||
@@ -164,7 +164,7 @@ public class Xog_html_js_cbk implements GfoInvkAble {
|
||||
rv = app.Gfs_mgr().Run_str(m.Args_getAt(0).Val_to_str_or_empty());
|
||||
}
|
||||
catch (Exception e) {Err_.Noop(e); return null;}
|
||||
return Object_.XtoStr_OrEmpty(rv);
|
||||
return Object_.Xto_str_strict_or_empty(rv);
|
||||
}
|
||||
private static final byte[] Wikidata_get_label_xowa_ui_lang = Bry_.new_ascii_("xowa_ui_lang"), Wikidata_get_label_xowa_title = Bry_.new_ascii_("xowa_title");
|
||||
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
|
||||
106
400_xowa/src/gplx/xowa/gui/views/Xog_launcher_tabs.java
Normal file
106
400_xowa/src/gplx/xowa/gui/views/Xog_launcher_tabs.java
Normal file
@@ -0,0 +1,106 @@
|
||||
/*
|
||||
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.gui.views; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*;
|
||||
class Xog_launcher_tabs {
|
||||
public void Launch(Xog_win_itm win) {
|
||||
Xoa_app app = win.App(); Gfo_log_bfr log_bfr = app.Log_bfr();
|
||||
log_bfr.Add("app.launch.page.bgn");
|
||||
Io_fil_marker fil_marker = new Io_fil_marker().Usr_dlg_(app.Usr_dlg()).Url_(app.User().Fsys_mgr().App_temp_dir().GenSubFil_nest("session", "launch.tabs.marker"));
|
||||
boolean tabs_restored = false;
|
||||
Xow_wiki home_wiki = app.User().Wiki();
|
||||
if (fil_marker.Bgn())
|
||||
tabs_restored = Restore_tabs(app, home_wiki, win, fil_marker);
|
||||
if (!tabs_restored)
|
||||
Restore_tab_failover(app, home_wiki, win);
|
||||
// tab.Html_itm().Html_box().Focus(); // focus the html_box so wheel scroll works; DATE:2013-02-08
|
||||
app.Gui_wtr().Prog_none("", "", "");
|
||||
log_bfr.Add("app.launch.page.end");
|
||||
app.Gui_wtr().Log_wtr().Log_msg_to_session_direct(log_bfr.Xto_str());
|
||||
}
|
||||
private boolean Restore_tabs(Xoa_app app, Xow_wiki home_wiki, Xog_win_itm win, Io_fil_marker fil_marker) {
|
||||
Xog_tab_itm tab = win.Active_tab();
|
||||
String[] launch_urls = app.Api_root().App().Startup().Tabs().Calc_startup_strs();
|
||||
try {
|
||||
int launch_urls_len = launch_urls.length;
|
||||
for (int i = 0; i < launch_urls_len; ++i) {
|
||||
String launch_url = launch_urls[i];
|
||||
tab = i == 0 ? win.Active_tab() : win.Tab_mgr().Tabs_new_init();
|
||||
Launch_tab(tab, win, home_wiki, launch_url);
|
||||
}
|
||||
fil_marker.End();
|
||||
return true;
|
||||
}
|
||||
catch (Exception e) {
|
||||
app.Usr_dlg().Warn_many("", "", "failed to launch urls: urls=~{0} err=~{1}", String_.AryXtoStr(launch_urls), Err_.Message_gplx(e));
|
||||
Restore_tab_failover(app, home_wiki, win);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
private void Restore_tab_failover(Xoa_app app, Xow_wiki home_wiki, Xog_win_itm win) {
|
||||
Launch_tab(win.Active_tab(), win, home_wiki, gplx.xowa.users.Xouc_pages_mgr.Page_xowa);
|
||||
}
|
||||
private void Launch_tab(Xog_tab_itm tab, Xog_win_itm win, Xow_wiki home_wiki, String launch_str) {
|
||||
Xoa_page launch_page = Launch_page(win, home_wiki, launch_str);
|
||||
if (launch_page.Missing()) return;
|
||||
Xog_tab_itm_read_mgr.Show_page(tab, launch_page, false);
|
||||
tab.History_mgr().Add(launch_page);
|
||||
}
|
||||
private Xoa_page Launch_page(Xog_win_itm win, Xow_wiki home_wiki, String launch_str) {
|
||||
Xoa_url launch_url = Xoa_url_parser.Parse_from_url_bar(win.App(), home_wiki, launch_str);
|
||||
Xow_wiki launch_wiki = launch_url.Wiki();
|
||||
Xoa_ttl launch_ttl = Xoa_ttl.parse_(launch_wiki, launch_url.Page_bry());
|
||||
Xoa_page rv = launch_wiki.GetPageByTtl(launch_url, launch_ttl).Url_(launch_url); // FUTURE: .Url_() should not be called (needed for anchor); EX: en.wikipedia.org/Earth#Biosphere
|
||||
win.Active_page_(rv); // set to blank page
|
||||
return rv;
|
||||
}
|
||||
public static final Xog_launcher_tabs _ = new Xog_launcher_tabs(); Xog_launcher_tabs() {}
|
||||
}
|
||||
class Io_fil_marker {
|
||||
private Io_url url;
|
||||
private Gfo_usr_dlg usr_dlg = Gfo_usr_dlg_._;
|
||||
public Io_fil_marker Usr_dlg_(Gfo_usr_dlg v) {this.usr_dlg = v; return this;}
|
||||
public Io_fil_marker Url_(Io_url url) {this.url = url; return this;}
|
||||
public boolean Bgn() {
|
||||
boolean rv = false;
|
||||
synchronized (this) {
|
||||
try {
|
||||
rv = !Io_mgr._.ExistsFil(url); // exists = fail; !exists = pass;
|
||||
if (rv) // pass: file does not exist;
|
||||
Io_mgr._.SaveFilStr(url, ""); // create
|
||||
else // file exists from previous run
|
||||
Io_mgr._.DeleteFil(url); // delete
|
||||
}
|
||||
catch (Exception exc) { // something unexpected happened
|
||||
usr_dlg.Warn_many("", "", "marker.bgn failed: url=~{0} err=~{1}", url.Raw(), Err_.Message_gplx(exc));
|
||||
Io_mgr._.DeleteFil(url); // try to delete it again
|
||||
}
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
public void End() {
|
||||
synchronized (this) {
|
||||
try {
|
||||
Io_mgr._.DeleteFil(url); // delete
|
||||
}
|
||||
catch (Exception exc) {
|
||||
usr_dlg.Warn_many("", "", "marker.end failed: url=~{0} err=~{1}", url.Raw(), Err_.Message_gplx(exc));
|
||||
Io_mgr._.DeleteFil(url); // try to delete it again
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -199,9 +199,11 @@ public class Xog_tab_itm implements GfoInvkAble {
|
||||
catch (Exception e) {usr_dlg.Warn_many("", "", "page.thread.cmds: page=~{0} err=~{1}", page_ttl_str, Err_.Message_gplx_brief(e));}
|
||||
}
|
||||
try {
|
||||
Xop_lnki_logger_redlinks_wkr redlinks_wkr = new Xop_lnki_logger_redlinks_wkr(win_itm, page);
|
||||
ThreadAdp_.invk_(redlinks_wkr, gplx.xowa.parsers.lnkis.redlinks.Xop_lnki_logger_redlinks_wkr.Invk_run).Start();
|
||||
usr_dlg.Prog_none("", "imgs.done", "");
|
||||
if (page.Tab() != null) { // needed b/c Preview has page.Tab of null which causes null_ref error in redlinks
|
||||
Xop_lnki_logger_redlinks_wkr redlinks_wkr = new Xop_lnki_logger_redlinks_wkr(win_itm, page);
|
||||
ThreadAdp_.invk_(redlinks_wkr, gplx.xowa.parsers.lnkis.redlinks.Xop_lnki_logger_redlinks_wkr.Invk_run).Start();
|
||||
usr_dlg.Prog_none("", "imgs.done", "");
|
||||
}
|
||||
} catch (Exception e) {usr_dlg.Warn_many("", "", "page.thread.redlinks: page=~{0} err=~{1}", page_ttl_str, Err_.Message_gplx_brief(e));}
|
||||
try {app.File_mgr().Cache_mgr().Compress_check();}
|
||||
catch (Exception e) {usr_dlg.Warn_many("", "", "page.thread.cache: page=~{0} err=~{1}", page_ttl_str, Err_.Message_gplx_brief(e));}
|
||||
|
||||
@@ -84,28 +84,6 @@ public class Xog_tab_itm_read_mgr {
|
||||
win.Win_box().Text_(err_msg);
|
||||
}
|
||||
public static void Launch(Xog_win_itm win) {
|
||||
Xoa_app app = win.App();
|
||||
Gfo_log_bfr log_bfr = app.Log_bfr();
|
||||
log_bfr.Add("app.launch.page.bgn");
|
||||
Xow_wiki home_wiki = app.User().Wiki();
|
||||
Xoa_page launch_page = Xog_tab_itm_read_mgr.Launch_page(win, home_wiki, app.Sys_cfg().Launch_url());
|
||||
if (launch_page.Missing())
|
||||
launch_page = Xog_tab_itm_read_mgr.Launch_page(win, home_wiki, Xoa_sys_cfg.Launch_url_dflt);
|
||||
log_bfr.Add("app.launch.page.show");
|
||||
Xog_tab_itm tab = win.Active_tab();
|
||||
Xog_tab_itm_read_mgr.Show_page(tab, launch_page, false);
|
||||
tab.History_mgr().Add(launch_page);
|
||||
tab.Html_itm().Html_box().Focus(); //this.Html_box().Html_doc_body_focus(); // focus the html_box so wheel scroll works; DATE:2013-02-08
|
||||
app.Gui_wtr().Prog_none("", "", "");
|
||||
log_bfr.Add("app.launch.page.end");
|
||||
app.Gui_wtr().Log_wtr().Log_msg_to_session_direct(log_bfr.Xto_str());
|
||||
}
|
||||
private static Xoa_page Launch_page(Xog_win_itm win, Xow_wiki home_wiki, String launch_str) {
|
||||
Xoa_url launch_url = Xoa_url_parser.Parse_url(win.App(), home_wiki, launch_str);
|
||||
Xow_wiki launch_wiki = launch_url.Wiki();
|
||||
Xoa_ttl launch_ttl = Xoa_ttl.parse_(launch_wiki, launch_url.Page_bry());
|
||||
Xoa_page rv = launch_wiki.GetPageByTtl(launch_url, launch_ttl).Url_(launch_url); // FUTURE: .Url_() should not be called (needed for anchor); EX: en.wikipedia.org/Earth#Biosphere
|
||||
win.Active_page_(rv); // set to blank page
|
||||
return rv;
|
||||
Xog_launcher_tabs._.Launch(win);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,9 +70,7 @@ public class Xog_tab_mgr implements GfoEvObj {
|
||||
}
|
||||
}
|
||||
public int Tabs_len() {return tab_regy.Count();}
|
||||
public void Tabs_new_init() {
|
||||
this.Tabs_new(true, true);
|
||||
}
|
||||
public Xog_tab_itm Tabs_new_init() {return this.Tabs_new(true, true);}
|
||||
public Xog_tab_itm Tabs_get_at(int i) {return (Xog_tab_itm)tab_regy.FetchAt(i);}
|
||||
public Xog_tab_itm Tabs_new_dflt() {return Tabs_new_dflt(false);}
|
||||
public Xog_tab_itm Tabs_new_dflt(boolean focus) {return Tabs_new_dflt(false, focus);}
|
||||
|
||||
@@ -301,6 +301,6 @@ public class Xog_win_itm implements GfoInvkAble, GfoEvObj {
|
||||
|
||||
if ( !Env_.Mode_testing()
|
||||
&& app.Mode() == Xoa_app_.Mode_gui) // only run for gui; do not run for tcp/http server; DATE:2014-05-03
|
||||
app.Usr_dlg().Ui_wkr_(new Gfo_usr_dlg_ui_swt(kit, prog_box, info_box, info_box, app.Gui_mgr().Win_cfg()));
|
||||
app.Usr_dlg().Ui_wkr_(new Gfo_usr_dlg_ui_swt(kit, prog_box, info_box, info_box, app.Api_root().Gui().Browser().Info()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ public class Xog_win_itm__prog_href_mgr {
|
||||
private static Bry_bfr tmp_bfr = Bry_bfr.reset_(512);
|
||||
public static void Print(Xog_win_itm win) { // PURPOSE: print href in prog box when in content editable mode
|
||||
String href = win.Active_html_box().Html_active_atr_get_str(Gfui_html.Atr_href, "");// get selected href from html_box
|
||||
href = win.App().Url_converter_href().Decode_str(href); // remove url encodings
|
||||
href = win.App().Encoder_mgr().Href().Decode_str(href); // remove url encodings
|
||||
if (!String_.Eq(href, win.Prog_box().Text()))
|
||||
win.Usr_dlg().Prog_direct(href);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user