mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
'v3.3.4.1'
This commit is contained in:
@@ -17,10 +17,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.guis; import gplx.*; import gplx.xowa.*;
|
||||
import gplx.core.brys.fmtrs.*; import gplx.core.envs.*;
|
||||
import gplx.gfui.*; import gplx.xowa.specials.search.*; import gplx.xowa.guis.menus.*; import gplx.xowa.guis.cmds.*; import gplx.xowa.apps.cfgs.gui.*; import gplx.xowa.users.*;
|
||||
import gplx.gfui.*; import gplx.xowa.addons.searchs.*; import gplx.xowa.guis.menus.*; import gplx.xowa.guis.cmds.*; import gplx.xowa.apps.cfgs.gui.*; import gplx.xowa.users.*;
|
||||
import gplx.xowa.langs.*;
|
||||
import gplx.xowa.guis.bnds.*; import gplx.xowa.guis.views.*; import gplx.xowa.guis.urls.url_macros.*;
|
||||
import gplx.xowa.guis.views.boots.*;
|
||||
import gplx.xowa.guis.views.boots.*;
|
||||
public class Xoa_gui_mgr implements GfoEvObj, GfoInvkAble {
|
||||
public Xoa_gui_mgr(Xoae_app app) {
|
||||
this.ev_mgr = GfoEvMgr.new_(this);
|
||||
@@ -30,7 +30,7 @@ public class Xoa_gui_mgr implements GfoEvObj, GfoInvkAble {
|
||||
win_cfg = new Xocfg_win(app);
|
||||
html_mgr = new Xog_html_mgr(app);
|
||||
menu_mgr = new Xog_menu_mgr(this);
|
||||
search_suggest_mgr = new Xog_search_suggest_mgr(this);
|
||||
search_cfg = new Srch_search_cfg(app);
|
||||
}
|
||||
public GfoEvMgr EvMgr() {return ev_mgr;} private GfoEvMgr ev_mgr;
|
||||
public Xoae_app App() {return app;} private Xoae_app app;
|
||||
@@ -42,12 +42,12 @@ public class Xoa_gui_mgr implements GfoEvObj, GfoInvkAble {
|
||||
public Xocfg_win Win_cfg() {return win_cfg;} private Xocfg_win win_cfg;
|
||||
public Xog_layout Layout() {return layout;} private Xog_layout layout = new Xog_layout();
|
||||
public Xog_html_mgr Html_mgr() {return html_mgr;} private Xog_html_mgr html_mgr;
|
||||
public Xog_search_suggest_mgr Search_suggest_mgr() {return search_suggest_mgr;} private Xog_search_suggest_mgr search_suggest_mgr;
|
||||
public Srch_search_cfg Search_cfg() {return search_cfg;} private Srch_search_cfg search_cfg;
|
||||
public Xog_menu_mgr Menu_mgr() {return menu_mgr;} private Xog_menu_mgr menu_mgr;
|
||||
public Xog_url_macro_mgr Url_macro_mgr() {return url_macro_mgr;} private Xog_url_macro_mgr url_macro_mgr = new Xog_url_macro_mgr();
|
||||
public void Show_prog() {
|
||||
GfuiWin memo_win = kit.New_win_utl("memo_win", browser_win.Win_box());
|
||||
GfuiTextBox memo_txt = kit.New_text_box("memo_txt", memo_win, KeyVal_.new_(GfuiTextBox_.Ctor_Memo, true));
|
||||
GfuiTextBox memo_txt = kit.New_text_box("memo_txt", memo_win, Keyval_.new_(GfuiTextBox_.Ctor_Memo, true));
|
||||
RectAdp prog_box_rect = browser_win.Prog_box().Rect();
|
||||
memo_win.Rect_set(RectAdp_.new_(prog_box_rect.X(), prog_box_rect.Y() - 75, prog_box_rect.Width(), 100));
|
||||
memo_txt.Size_(memo_win.Size().Op_add(-8, -30));
|
||||
@@ -90,7 +90,7 @@ public class Xoa_gui_mgr implements GfoEvObj, GfoInvkAble {
|
||||
else if (ctx.Match(k, Invk_win_opts)) return win_cfg;
|
||||
else if (ctx.Match(k, Invk_layout)) return layout;
|
||||
else if (ctx.Match(k, Invk_html)) return html_mgr;
|
||||
else if (ctx.Match(k, Invk_search_suggest)) return search_suggest_mgr;
|
||||
else if (ctx.Match(k, Invk_search_suggest)) return search_cfg;
|
||||
else if (ctx.Match(k, Invk_menus)) return menu_mgr;
|
||||
else if (ctx.Match(k, Invk_cmds)) return cmd_mgr;
|
||||
else if (ctx.Match(k, Invk_url_macros)) return url_macro_mgr;
|
||||
|
||||
@@ -23,7 +23,8 @@ public class Xog_resizer {
|
||||
Xog_layout layout = app.Gui_mgr().Layout();
|
||||
Xog_win_itm main_win = app.Gui_mgr().Browser_win();
|
||||
GfuiBtn go_bwd_btn = main_win.Go_bwd_btn(), go_fwd_btn = main_win.Go_fwd_btn(), url_exec_btn = main_win.Url_exec_btn(), search_exec_btn = main_win.Search_exec_btn(), find_fwd_btn = main_win.Find_fwd_btn(), find_bwd_btn = main_win.Find_bwd_btn(), find_close_btn = main_win.Find_close_btn();
|
||||
GfuiTextBox url_box = main_win.Url_box(), search_box = main_win.Search_box(), find_box = main_win.Find_box(), prog_box = main_win.Prog_box(), note_box = main_win.Info_box();
|
||||
GfuiComboBox url_box = main_win.Url_box();
|
||||
GfuiTextBox search_box = main_win.Search_box(), find_box = main_win.Find_box(), prog_box = main_win.Prog_box(), note_box = main_win.Info_box();
|
||||
Gfui_tab_mgr tab_mgr = main_win.Tab_mgr().Tab_mgr();
|
||||
int txt_dim = layout.Box_height_calc(app.Gui_mgr().Kit(), url_box);
|
||||
int btn_dim = 25; // txt_dim + 1;
|
||||
@@ -81,6 +82,12 @@ public class Xog_resizer {
|
||||
cur_box.Margins_set(0, txt_margin_v, 0, txt_margin_v);
|
||||
} catch (Exception e) {Err_.Noop(e);}
|
||||
}
|
||||
else if (Type_adp_.Eq_typeSafe(cur_elem, GfuiComboBox.class)) {
|
||||
try {
|
||||
GfuiComboBox cur_box = (GfuiComboBox)cur_elem;
|
||||
cur_box.Margins_set(0, txt_margin_v, 0, txt_margin_v);
|
||||
} catch (Exception e) {Err_.Noop(e);}
|
||||
}
|
||||
if (box.Mode() == Xog_layout_box.Mode_abs) // absolute mode; set dimensions manually
|
||||
cur_elem_rect.X_(box.X_abs()).Y_(box.Y_abs()).W_(box.W_abs()).H_(box.H_abs());
|
||||
else {
|
||||
|
||||
@@ -30,7 +30,7 @@ public class Xog_bnd_itm_srl_tst {
|
||||
class Xog_bnd_itm_srl_fxt {
|
||||
private Xoae_app app;
|
||||
public void Reset() {
|
||||
app = Xoa_app_fxt.app_();
|
||||
app = Xoa_app_fxt.Make__app__edit();
|
||||
}
|
||||
public Xog_bnd_itm bnd_(int box, IptArg ipt) {return new Xog_bnd_itm("test.key", true, "test.cmd", box, ipt);}
|
||||
public void Test_src_get(Xog_bnd_itm bnd, String expd) {
|
||||
|
||||
@@ -88,39 +88,32 @@ public class Xog_bnd_mgr {
|
||||
public void Init() {
|
||||
regy.Clear(); // clear regy, else 1 test will fail
|
||||
Init_itm(Xog_cmd_itm_.Key_app_exit , Xog_bnd_box_.Tid_browser , "mod.c+key.q");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_go_bwd , Xog_bnd_box_.Tid_browser , "mod.a+key.left");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_go_fwd , Xog_bnd_box_.Tid_browser , "mod.a+key.right");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_cfg_main , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_cfg_menu , Xog_bnd_box_.Tid_browser , "");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_wiki_main_page , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_wiki_random , Xog_bnd_box_.Tid_browser , "mod.cs+key.r");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_wiki_sandbox , Xog_bnd_box_.Tid_browser , "mod.cs+key.g,mod.cs+key.s", "mod.c+key.f1");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_help_help , Xog_bnd_box_.Tid_browser , "key.f1");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_help_change_log , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_help_diagnostics , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_help_about , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_help_xowa_main , Xog_bnd_box_.Tid_browser , "");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_help_xowa_blog , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_setup_import_from_list , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_setup_import_from_script , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_setup_maintenance , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_setup_download , Xog_bnd_box_.Tid_browser , "");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_system_data_log_session , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_system_data_cfg_app , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_system_data_cfg_lang , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_system_data_cfg_user , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_system_data_cfg_custom , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_nav_system_data_usr_history , Xog_bnd_box_.Tid_browser , "");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_font_increase , Xog_bnd_box_.Tid_browser , "mod.c+key.equal");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_font_decrease , Xog_bnd_box_.Tid_browser , "mod.c+key.minus");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_font_reset , Xog_bnd_box_.Tid_browser , "mod.c+key.d0");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_page_view_mode_read , Xog_bnd_box_.Tid_browser , "mod.c+key.m,mod.c+key.r");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_page_view_mode_edit , Xog_bnd_box_.Tid_browser , "mod.c+key.m,mod.c+key.e");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_page_view_mode_html , Xog_bnd_box_.Tid_browser , "mod.c+key.m,mod.c+key.h", "mod.c+key.u");
|
||||
@@ -128,11 +121,9 @@ public class Xog_bnd_mgr {
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_page_view_refresh , Xog_bnd_box_.Tid_browser , "mod.s+key.f5");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_page_view_save_as , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_page_view_print , Xog_bnd_box_.Tid_browser , "");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_page_selection_select_all , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_page_selection_copy , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_page_selection_save_file_as , Xog_bnd_box_.Tid_browser , "");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_edit_save , Xog_bnd_box_.Tid_browser , "mod.as+key.s");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_edit_save_draft , Xog_bnd_box_.Tid_browser , "mod.c+key.s");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_edit_focus_edit_box , Xog_bnd_box_.Tid_browser , "mod.as+key.comma");
|
||||
@@ -140,7 +131,6 @@ public class Xog_bnd_mgr {
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_edit_dbg_tmpl , Xog_bnd_box_.Tid_browser , "mod.c+key.e,mod.c+key.e", "mod.as+key.d,mod.as+key.d");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_edit_dbg_html , Xog_bnd_box_.Tid_browser , "mod.c+key.e,mod.c+key.h");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_edit_exec , Xog_bnd_box_.Tid_browser , "mod.c+key.e,mod.c+key.g");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_browser_url_focus , Xog_bnd_box_.Tid_browser , "mod.a+key.d", "mod.c+key.l");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_browser_url_exec , Xog_bnd_box_.Tid_browser_url , "key.enter", "key.keypad_enter");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_browser_url_exec_new_tab_by_paste , Xog_bnd_box_.Tid_browser_url , "mod.c+key.enter", "mod.c+key.keypad_enter");
|
||||
@@ -187,15 +177,11 @@ public class Xog_bnd_mgr {
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_browser_info_focus , Xog_bnd_box_.Tid_browser , "mod.ca+key.i");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_browser_info_clear , Xog_bnd_box_.Tid_browser , "mod.ca+key.c");
|
||||
Init_itm(Xog_cmd_itm_.Key_gui_browser_prog_log_show , Xog_bnd_box_.Tid_browser_prog , "mouse.middle", "mod.cs+key.p");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_html_tidy_toggle , Xog_bnd_box_.Tid_browser , "key.f7");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_usr_bookmarks_add , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_usr_bookmarks_show , Xog_bnd_box_.Tid_browser , "key.f3");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_usr_history_goto_recent , Xog_bnd_box_.Tid_browser , "mod.cs+key.l");
|
||||
Init_itm(Xog_cmd_itm_.Key_usr_history_show , Xog_bnd_box_.Tid_browser , "mod.cs+key.h");
|
||||
|
||||
Init_itm(Xog_cmd_itm_.Key_net_enabled_n_ , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_net_enabled_y_ , Xog_bnd_box_.Tid_browser , "");
|
||||
Init_itm(Xog_cmd_itm_.Key_net_enabled_x_ , Xog_bnd_box_.Tid_browser , "");
|
||||
@@ -216,14 +202,15 @@ public class Xog_bnd_mgr {
|
||||
}
|
||||
private void Add_system_bnds() {
|
||||
IptCfg null_cfg = IptCfg_.Null; IptEventType btn_event_type = IptEventType_.add_(IptEventType_.MouseUp, IptEventType_.KeyDown); IptArg[] btn_args = IptArg_.Ary(IptMouseBtn_.Left, IptKey_.Enter, IptKey_.Space);
|
||||
IptBnd_.ipt_to_(null_cfg , win.Go_bwd_btn() , invk_mgr, Xog_cmd_itm_.Key_nav_go_bwd , btn_event_type, btn_args);
|
||||
IptBnd_.ipt_to_(null_cfg , win.Go_fwd_btn() , invk_mgr, Xog_cmd_itm_.Key_nav_go_fwd , btn_event_type, btn_args);
|
||||
IptBnd_.ipt_to_(null_cfg , win.Go_bwd_btn() , invk_mgr, Xog_cmd_itm_.Key_nav_go_bwd , btn_event_type, btn_args);
|
||||
IptBnd_.ipt_to_(null_cfg , win.Go_fwd_btn() , invk_mgr, Xog_cmd_itm_.Key_nav_go_fwd , btn_event_type, btn_args);
|
||||
IptBnd_.ipt_to_(null_cfg , win.Url_exec_btn() , invk_mgr, Xog_cmd_itm_.Key_gui_browser_url_exec , btn_event_type, btn_args);
|
||||
IptBnd_.ipt_to_(null_cfg , win.Search_exec_btn() , invk_mgr, Xog_cmd_itm_.Key_gui_browser_search_exec , btn_event_type, btn_args);
|
||||
IptBnd_.ipt_to_(null_cfg , win.Find_close_btn() , invk_mgr, Xog_cmd_itm_.Key_gui_browser_find_hide , btn_event_type, btn_args);
|
||||
IptBnd_.ipt_to_(null_cfg , win.Find_fwd_btn() , invk_mgr, Xog_cmd_itm_.Key_gui_browser_find_find_fwd , btn_event_type, btn_args);
|
||||
IptBnd_.ipt_to_(null_cfg , win.Find_bwd_btn() , invk_mgr, Xog_cmd_itm_.Key_gui_browser_find_find_bwd , btn_event_type, btn_args);
|
||||
IptBnd_.ipt_to_(null_cfg , win.Find_box() , invk_mgr, Xog_cmd_itm_.Key_gui_browser_find_type , IptEventType_.KeyUp, IptKey_.printableKeys_(IptKey_.Ary(IptKey_.Back, IptKey_.Escape), IptKey_.Ary()));
|
||||
IptBnd_.ipt_to_(null_cfg , win.Find_box() , invk_mgr, Xog_cmd_itm_.Key_gui_browser_find_type , IptEventType_.KeyUp, IptKey_.printableKeys_(IptKey_.Ary(IptKey_.Back, IptKey_.Escape, IptKey_.Ctrl.Add(IptKey_.V)), IptKey_.Ary()));
|
||||
IptBnd_.ipt_to_(null_cfg , win.Url_box() , invk_mgr, Xog_cmd_itm_.Key_gui_browser_url_type , IptEventType_.KeyUp, IptKey_.printableKeys_(IptKey_.Ary(IptKey_.Back, IptKey_.Escape, IptKey_.Ctrl.Add(IptKey_.X), IptKey_.Ctrl.Add(IptKey_.V)), IptKey_.Ary()));
|
||||
}
|
||||
private void Add_custom_bnds() { // NOTE: custom bnds are stored in cfg; cfg executes before Init_by_kit when all windows elements are null; run cfg now, while Init_by_kit is called and elems are now created
|
||||
int len = startup_itms.Count();
|
||||
|
||||
@@ -52,7 +52,6 @@ public class Xog_bnd_mgr_srl extends Dsv_wkr_base {
|
||||
if (uid == -1) throw parser.Err_row_bgn("bnd missing uid", pos);
|
||||
if (box_bry == null) throw parser.Err_row_bgn("bnd missing box", pos);
|
||||
if (ipt_bry == null) throw parser.Err_row_bgn("bnd missing ipt", pos);
|
||||
|
||||
if (uids == null) Init();
|
||||
Xog_bnd_itm bnd = (Xog_bnd_itm)uids.Get_by(Int_obj_val.new_(uid));
|
||||
int box = Xog_bnd_box_.Xby_gui_str(String_.new_u8(box_bry));
|
||||
@@ -66,4 +65,4 @@ public class Xog_bnd_mgr_srl extends Dsv_wkr_base {
|
||||
String cfg_key = String_.Concat("app.cfg.get.gui.bnds.init('", bnd.Key(), "').src");
|
||||
app.Cfg_mgr().Set_by_app(cfg_key, src);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,30 +17,31 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.xowa.guis.cmds; import gplx.*; import gplx.xowa.*; import gplx.xowa.guis.*;
|
||||
public class Xog_cmd_itm_ {
|
||||
private static final Ordered_hash regy = Ordered_hash_.New(); // NOTE: must be defined at top
|
||||
public static final String
|
||||
private static final Ordered_hash regy = Ordered_hash_.New(); // NOTE: must be defined at top
|
||||
public static final String
|
||||
Key_app_exit = new_dflt_(Xog_ctg_itm_.Tid_app , "xowa.app.exit")
|
||||
|
||||
, Key_nav_go_bwd = new_dflt_(Xog_ctg_itm_.Tid_nav , "xowa.nav.go_bwd")
|
||||
, Key_nav_go_fwd = new_dflt_(Xog_ctg_itm_.Tid_nav , "xowa.nav.go_fwd")
|
||||
|
||||
, Key_nav_cfg_main = new_page_(Xog_ctg_itm_.Tid_nav , "xowa.nav.cfg.main" , "home/wiki/Help:Options")
|
||||
, Key_nav_cfg_menu = new_page_(Xog_ctg_itm_.Tid_nav , "xowa.nav.cfg.menus" , "home/wiki/Help:Options/Menus")
|
||||
, Key_nav_cfg_main = new_page_(Xog_ctg_itm_.Tid_nav , "xowa.nav.cfg.main" , "home/wiki/Options") // HOME
|
||||
, Key_nav_cfg_menu = new_page_(Xog_ctg_itm_.Tid_nav , "xowa.nav.cfg.menus" , "home/wiki/Options/Menus") // HOME
|
||||
|
||||
, Key_nav_wiki_main_page = new_dflt_(Xog_ctg_itm_.Tid_nav , "xowa.nav.wiki.main_page")
|
||||
, Key_nav_wiki_sandbox = new_dflt_(Xog_ctg_itm_.Tid_nav , "xowa.nav.wiki.sandbox")
|
||||
, Key_nav_wiki_random = new_dflt_(Xog_ctg_itm_.Tid_nav , "xowa.nav.wiki.random")
|
||||
|
||||
, Key_nav_help_help = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.help" , "home/wiki/Help:Contents")
|
||||
, Key_nav_help_about = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.about" , "home/wiki/Help:About")
|
||||
, Key_nav_help_change_log = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.change_log" , "home/wiki/Help:Change_log")
|
||||
, Key_nav_help_diagnostics = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.diagnostics" , "home/wiki/Help:Diagnostics")
|
||||
, Key_nav_help_xowa_main = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.xowa_main" , "home/wiki/Main_Page")
|
||||
, Key_nav_help_help = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.help" , "home/wiki/Help/Contents") // HOME
|
||||
, Key_nav_help_about = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.about" , "home/wiki/Help/About") // HOME
|
||||
, Key_nav_help_change_log = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.change_log" , "home/wiki/Change_log") // HOME
|
||||
, Key_nav_help_diagnostics = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.diagnostics" , "home/wiki/Diagnostics") // HOME
|
||||
, Key_nav_help_xowa_main = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.xowa_main" , "home/wiki/Main_Page") // HOME
|
||||
, Key_nav_help_xowa_blog = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.help.xowa_blog" , "home/wiki/Blog") // HOME
|
||||
|
||||
, Key_nav_setup_import_from_list = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.setup.import_from_list" , "home/wiki/Help:Import/List")
|
||||
, Key_nav_setup_import_from_script = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.setup.import_from_script" , "home/wiki/Help:Import/Script")
|
||||
, Key_nav_setup_maintenance = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.setup.maintenance" , "home/wiki/Help:Wiki_maintenance")
|
||||
, Key_nav_setup_download = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.setup.download" , "home/wiki/Help:Download")
|
||||
, Key_nav_setup_import_from_list = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.setup.import_from_list" , "home/wiki/Dashboard/Import/Online") // HOME
|
||||
, Key_nav_setup_import_from_script = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.setup.import_from_script" , "home/wiki/Dashboard/Import/Offline") // HOME
|
||||
, Key_nav_setup_maintenance = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.setup.maintenance" , "home/wiki/Dashboard/Wiki_maintenance") // HOME
|
||||
, Key_nav_setup_download = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.setup.download" , "home/wiki/Dashboard/Image_databases") // HOME
|
||||
|
||||
, Key_nav_system_data_log_session = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.system_data.log_session" , "Special:XowaSystemData?type=log_session")
|
||||
, Key_nav_system_data_cfg_app = new_page_(Xog_ctg_itm_.Tid_nav_pages , "xowa.nav.system_data.cfg_app" , "Special:XowaSystemData?type=cfg_app")
|
||||
@@ -78,6 +79,8 @@ public class Xog_cmd_itm_ {
|
||||
, Key_gui_browser_url_exec_by_paste = new_dflt_(Xog_ctg_itm_.Tid_browser , "xowa.gui.browser.url.exec_by_paste")
|
||||
, Key_gui_browser_url_exec_new_tab_by_paste = new_dflt_(Xog_ctg_itm_.Tid_browser , "xowa.gui.browser.url.exec_new_tab_by_paste")
|
||||
, Key_gui_browser_url_restore = new_dflt_(Xog_ctg_itm_.Tid_browser , "xowa.gui.browser.url.restore")
|
||||
, Key_gui_browser_url_type = new_dflt_(Xog_ctg_itm_.Tid_browser , "xowa.gui.browser.url.type")
|
||||
|
||||
, Key_gui_browser_search_focus = new_dflt_(Xog_ctg_itm_.Tid_browser , "xowa.gui.browser.search.focus")
|
||||
, Key_gui_browser_search_exec = new_dflt_(Xog_ctg_itm_.Tid_browser , "xowa.gui.browser.search.exec")
|
||||
, Key_gui_browser_tabs_new_dflt__at_dflt__focus_y = new_dflt_(Xog_ctg_itm_.Tid_tabs , "xowa.gui.browser.tabs.new_dflt__at_dflt__focus_y")
|
||||
@@ -160,7 +163,7 @@ public class Xog_cmd_itm_ {
|
||||
public static Xog_cmd_itm Regy_get_at(int i) {return (Xog_cmd_itm)regy.Get_at(i);}
|
||||
public static Xog_cmd_itm Regy_get_or_null(String key) {return (Xog_cmd_itm)regy.Get_by(key);}
|
||||
public static void Regy_add(Xog_cmd_itm itm) {regy.Add(itm.Key(), itm);}
|
||||
public static final byte[]
|
||||
public static final byte[]
|
||||
Msg_pre_api = Bry_.new_a7("api-")
|
||||
, Msg_pre_ctg = Bry_.new_a7("api.ctg-")
|
||||
, Msg_suf_name = Bry_.new_a7("-name")
|
||||
|
||||
@@ -42,8 +42,8 @@ class Xog_history_stack_fxt {
|
||||
public Xog_history_stack_fxt Clear() {
|
||||
stack.Clear();
|
||||
if (app == null) {
|
||||
app = Xoa_app_fxt.app_();
|
||||
wiki = Xoa_app_fxt.wiki_tst_(app);
|
||||
app = Xoa_app_fxt.Make__app__edit();
|
||||
wiki = Xoa_app_fxt.Make__wiki__edit(app);
|
||||
}
|
||||
return this;
|
||||
} private Xoae_app app; private Xowe_wiki wiki; private Xog_history_stack stack = new Xog_history_stack();
|
||||
|
||||
@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
package gplx.xowa.guis.menus; import gplx.*; import gplx.xowa.*; import gplx.xowa.guis.*;
|
||||
import gplx.xowa.guis.cmds.*;
|
||||
class Xog_menu_mgr_src {
|
||||
public static final String Browser_win
|
||||
public static final String Browser_win
|
||||
= Xog_menu_bldr.Instance
|
||||
. Add_grp_bgn(Xog_cmd_itm_.Key_gui_menus_group_file)
|
||||
. Add_btn(Xog_cmd_itm_.Key_gui_browser_tabs_new_dflt__at_dflt__focus_y)
|
||||
@@ -71,6 +71,7 @@ class Xog_menu_mgr_src {
|
||||
. Add_grp_bgn(Xog_cmd_itm_.Key_gui_menus_group_help)
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_help_help)
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_help_xowa_main)
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_help_xowa_blog)
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_help_change_log)
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_help_diagnostics)
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_cfg_menu)
|
||||
@@ -87,7 +88,7 @@ class Xog_menu_mgr_src {
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_help_about)
|
||||
. Add_grp_end()
|
||||
. Gen_str();
|
||||
public static final String Html_page
|
||||
public static final String Html_page
|
||||
= Xog_menu_bldr.Instance
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_go_bwd)
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_go_fwd)
|
||||
@@ -150,6 +151,7 @@ class Xog_menu_mgr_src {
|
||||
. Add_grp_bgn(Xog_cmd_itm_.Key_gui_menus_group_help)
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_help_help)
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_help_xowa_main)
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_help_xowa_blog)
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_help_change_log)
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_help_diagnostics)
|
||||
. Add_btn(Xog_cmd_itm_.Key_nav_cfg_menu)
|
||||
@@ -158,7 +160,7 @@ class Xog_menu_mgr_src {
|
||||
. Add_grp_end()
|
||||
. Gen_str();
|
||||
|
||||
public static final String Html_link
|
||||
public static final String Html_link
|
||||
= Xog_menu_bldr.Instance
|
||||
. Add_btn(Xog_cmd_itm_.Key_gui_browser_tabs_new_link__at_dflt__focus_n)
|
||||
. Add_btn(Xog_cmd_itm_.Key_gui_browser_tabs_new_link__at_dflt__focus_y)
|
||||
@@ -166,14 +168,14 @@ class Xog_menu_mgr_src {
|
||||
. Add_btn(Xog_cmd_itm_.Key_gui_page_selection_copy)
|
||||
. Add_btn(Xog_cmd_itm_.Key_gui_browser_find_show_by_paste)
|
||||
. Gen_str();
|
||||
public static final String Html_file
|
||||
public static final String Html_file
|
||||
= Xog_menu_bldr.Instance
|
||||
. Add_btn(Xog_cmd_itm_.Key_gui_browser_tabs_new_link__at_dflt__focus_n)
|
||||
. Add_btn(Xog_cmd_itm_.Key_gui_browser_tabs_new_link__at_dflt__focus_y)
|
||||
. Add_spr()
|
||||
. Add_btn(Xog_cmd_itm_.Key_gui_page_selection_save_file_as)
|
||||
. Gen_str();
|
||||
public static final String Tabs_btns
|
||||
public static final String Tabs_btns
|
||||
= Xog_menu_bldr.Instance
|
||||
. Add_btn(Xog_cmd_itm_.Key_gui_browser_tabs_new_dflt__at_dflt__focus_y)
|
||||
. Add_btn(Xog_cmd_itm_.Key_gui_browser_tabs_new_dupe__at_dflt__focus_y)
|
||||
@@ -191,11 +193,11 @@ class Xog_menu_mgr_src {
|
||||
. Add_spr()
|
||||
. Add_btn(Xog_cmd_itm_.Key_gui_browser_tabs_close_undo)
|
||||
. Gen_str();
|
||||
public static final String Prog
|
||||
public static final String Prog
|
||||
= Xog_menu_bldr.Instance
|
||||
. Add_btn(Xog_cmd_itm_.Key_gui_browser_prog_log_show)
|
||||
. Gen_str();
|
||||
public static final String Info = String_.Concat_lines_nl
|
||||
public static final String Info = String_.Concat_lines_nl
|
||||
( ""
|
||||
);
|
||||
}
|
||||
@@ -235,7 +237,7 @@ class Xog_menu_bldr {
|
||||
bfr.Add(Const_itm_btn_bgn_rhs);
|
||||
return this;
|
||||
}
|
||||
private static final byte[]
|
||||
private static final byte[]
|
||||
Const_spr = Bry_.new_a7("add_spr;\n")
|
||||
, Const_itm_btn_bgn_lhs = Bry_.new_a7("add_btn_default('")
|
||||
, Const_itm_btn_bgn_rhs = Bry_.new_a7("');\n")
|
||||
@@ -243,5 +245,5 @@ class Xog_menu_bldr {
|
||||
, Const_itm_grp_bgn_rhs = Bry_.new_a7("') {\n")
|
||||
, Const_itm_grp_end = Bry_.new_a7("}\n")
|
||||
;
|
||||
public static final Xog_menu_bldr Instance = new Xog_menu_bldr(); Xog_menu_bldr() {}
|
||||
public static final Xog_menu_bldr Instance = new Xog_menu_bldr(); Xog_menu_bldr() {}
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ public class Xog_mnu_grp extends Xog_mnu_base {
|
||||
}
|
||||
Xog_mnu_bldr bldr = gui_mgr.Menu_mgr().Menu_bldr();
|
||||
bldr.Build(under_mnu, this);
|
||||
Xog_mnu_base.Update_grp_by_lang(bldr, app.Usere().Lang(), this); // NOTE: always set lang after rebuild; else changes in Help:Options/Menus will show blank captions; DATE:2014-06-05
|
||||
Xog_mnu_base.Update_grp_by_lang(bldr, app.Usere().Lang(), this); // NOTE: always set lang after rebuild; else changes in home/wiki/Options/Menus will show blank captions; DATE:2014-06-05
|
||||
if (mnu_is_popup) {
|
||||
boolean rebind_to_win = false;
|
||||
if (String_.Eq(key, Xog_popup_mnu_mgr.Root_key_tabs_btns)) {
|
||||
|
||||
@@ -86,8 +86,8 @@ public class Xog_tab_itm implements GfoInvkAble {
|
||||
tab_box.Tab_tip_text_(page.Url().To_str());
|
||||
}
|
||||
public void Tab_name_() {
|
||||
byte[] tab_name = page.Html_data().Custom_tab_name(); // Custom_tab_name set by Special:Default_tab or variants; DATE:2015-10-05
|
||||
if (tab_name == null) tab_name = page.Ttl().Full_txt(); // no custom_tab_name; use ttl's text
|
||||
byte[] tab_name = page.Html_data().Custom_tab_name(); // Custom_tab_name set by Special:Default_tab or variants; DATE:2015-10-05
|
||||
if (tab_name == null) tab_name = page.Ttl().Full_txt_w_ttl_case(); // no custom_tab_name; use ttl's text
|
||||
Tab_name_(String_.new_u8(tab_name));
|
||||
}
|
||||
public void Tab_name_(String tab_name) {
|
||||
@@ -104,12 +104,12 @@ public class Xog_tab_itm implements GfoInvkAble {
|
||||
Xoae_app app = win.App(); Gfo_usr_dlg usr_dlg = app.Usr_dlg();
|
||||
if ( url.Anch_str() != null // url has anchor
|
||||
&& url.Eq_page(page.Url()) // url has same page_name as existing page
|
||||
&& url.Qargs_ary().length == 0) { // url has no args; needed for Category:A?from=b#mw-pages
|
||||
&& url.Qargs_ary().length == 0) { // url has no args; needed for Category:A?from=b#mw-pages
|
||||
html_itm.Scroll_page_by_id_gui(url.Anch_str()); // skip page_load and jump to anchor
|
||||
return;
|
||||
}
|
||||
if (win.Page__async__working(url)) return;
|
||||
app.Gui_mgr().Search_suggest_mgr().Cancel(); // cancel pending search_suggest calls
|
||||
app.Gui_mgr().Search_cfg().Cancel(); // cancel pending search_suggest calls
|
||||
if (page != null) page.Tab_data().Close_mgr().When_close(this, url); // cancel any current search cmds
|
||||
app.Log_wtr().Queue_enabled_(true);
|
||||
usr_dlg.Gui_wkr().Clear();
|
||||
@@ -118,7 +118,7 @@ public class Xog_tab_itm implements GfoInvkAble {
|
||||
if (url.Vnt_bry() != null) Cur_vnt_(wiki, url.Vnt_bry());
|
||||
Xoa_ttl ttl = Xoa_ttl.parse(wiki, url.Page_bry());
|
||||
if (ttl == null) {usr_dlg.Prog_one("", "", "title is invalid: ~{0}", String_.new_u8(url.Raw())); return;}
|
||||
Tab_name_(String_.new_u8(ttl.Full_txt()));
|
||||
Tab_name_(String_.new_u8(ttl.Full_txt_w_ttl_case()));
|
||||
usr_dlg.Prog_one("", "", "loading: ~{0}", String_.new_u8(ttl.Raw()));
|
||||
if (app.Api_root().Html().Modules().Popups().Enabled())
|
||||
this.Html_box().Html_js_eval_script("if (window.xowa_popups_hide_all != null) window.xowa_popups_hide_all();"); // should be more configurable; DATE:2014-07-09
|
||||
@@ -152,7 +152,7 @@ public class Xog_tab_itm implements GfoInvkAble {
|
||||
usr_dlg.Prog_many("", "", "could not find: ~{0} (redirected from ~{1})", String_.new_u8(page.Url().Page_bry()), String_.new_u8((byte[])page.Redirected_ttls().Get_at(0)));
|
||||
else {
|
||||
if (ttl.Ns().Id_is_file())
|
||||
usr_dlg.Prog_one("", "", "commons.wikimedia.org must be installed in order to view the file. See [[Help:Wikis/Commons]]: ~{0}", String_.new_u8(url.Raw()));
|
||||
usr_dlg.Prog_one("", "", "commons.wikimedia.org must be installed in order to view the file. See [[App/Wiki_types/Commons]]: ~{0}", String_.new_u8(url.Raw()));// HOME
|
||||
else
|
||||
usr_dlg.Prog_one("", "", "could not find: ~{0}", String_.new_u8(url.Raw()));
|
||||
}
|
||||
|
||||
@@ -25,7 +25,8 @@ public class Xog_tab_itm_edit_mgr {
|
||||
Xoae_page page = tab.Page(); Xowe_wiki wiki = tab.Wiki(); Xog_win_itm win_itm = tab.Tab_mgr().Win();
|
||||
byte[] new_text = Get_new_text(tab);
|
||||
if (page.Edit_mode() == Xoa_page_.Edit_mode_create) {
|
||||
wiki.Db_mgr().Save_mgr().Data_create(page.Ttl(), new_text);
|
||||
int page_id = wiki.Db_mgr().Save_mgr().Data_create(page.Ttl(), new_text);
|
||||
page.Revision_data().Id_(page_id);
|
||||
page.Edit_mode_update_(); // set to update so that next save does not try to create
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -63,12 +63,12 @@ public class Xog_tab_itm_read_mgr {
|
||||
String url_str = "", win_str = Win_text_blank;
|
||||
if (url != null && ttl != null) {
|
||||
url_str = url.To_str();
|
||||
win_str = String_.new_u8(Bry_.Add(ttl.Full_txt(), Win_text_suffix_page));
|
||||
win_str = String_.new_u8(Bry_.Add(ttl.Full_txt_w_ttl_case(), Win_text_suffix_page));
|
||||
}
|
||||
win.Url_box().Text_(url_str);
|
||||
win.Win_box().Text_(win_str);
|
||||
}
|
||||
private static final byte[] Win_text_suffix_page = Bry_.new_a7(" - XOWA"); private static final String Win_text_blank = "XOWA";
|
||||
private static final byte[] Win_text_suffix_page = Bry_.new_a7(" - XOWA"); private static final String Win_text_blank = "XOWA";
|
||||
public static void Show_page_err(Xog_win_itm win, Xog_tab_itm tab, Xowe_wiki wiki, Xoa_url url, Xoa_ttl ttl, Exception e) {
|
||||
String err_msg = String_.Format("page_load fail: page={0} err={1}", String_.new_u8(url.Raw()), Err_.Message_gplx_full(e));
|
||||
win.Usr_dlg().Warn_many("", "", err_msg);
|
||||
|
||||
@@ -24,6 +24,7 @@ import gplx.xowa.htmls.hrefs.*;
|
||||
import gplx.xowa.parsers.lnkis.redlinks.*; import gplx.xowa.specials.*; import gplx.xowa.xtns.math.*;
|
||||
public class Xog_win_itm implements GfoInvkAble, GfoEvObj {
|
||||
private GfoInvkAble sync_cmd;
|
||||
private Xog_url_box__selection_changed url_box__selection_changed;
|
||||
public Xog_win_itm(Xoae_app app, Xoa_gui_mgr gui_mgr) {
|
||||
this.app = app; this.gui_mgr = gui_mgr;
|
||||
this.tab_mgr = new Xog_tab_mgr(this);
|
||||
@@ -33,7 +34,7 @@ public class Xog_win_itm implements GfoInvkAble, GfoEvObj {
|
||||
public GfuiWin Win_box() {return win_box;} private GfuiWin win_box;
|
||||
public GfuiBtn Go_bwd_btn() {return go_bwd_btn;} private GfuiBtn go_bwd_btn;
|
||||
public GfuiBtn Go_fwd_btn() {return go_fwd_btn;} private GfuiBtn go_fwd_btn;
|
||||
public GfuiTextBox Url_box() {return url_box;} private GfuiTextBox url_box;
|
||||
public GfuiComboBox Url_box() {return url_box;} private GfuiComboBox url_box;
|
||||
public GfuiBtn Url_exec_btn() {return url_exec_btn;} private GfuiBtn url_exec_btn;
|
||||
public GfuiTextBox Search_box() {return search_box;} private GfuiTextBox search_box;
|
||||
public GfuiBtn Search_exec_btn() {return search_exec_btn;} private GfuiBtn search_exec_btn;
|
||||
@@ -188,7 +189,7 @@ public class Xog_win_itm implements GfoInvkAble, GfoEvObj {
|
||||
if (new_page.Ttl().Ns().Id_is_special()) // if Special, reload page; needed for Special:Search (DATE:2015-04-19; async loading) and Special:XowaBookmarks DATE:2015-10-05
|
||||
new_page = new_page.Wikie().Data_mgr().Load_page_by_ttl(new_page.Url(), new_page.Ttl()); // NOTE: must reparse page if (a) Edit -> Read; or (b) "Options" save
|
||||
byte history_nav_type = fwd ? Xog_history_stack.Nav_fwd : Xog_history_stack.Nav_bwd;
|
||||
boolean new_page_is_same = Bry_.Eq(cur_page.Ttl().Full_txt(), new_page.Ttl().Full_txt());
|
||||
boolean new_page_is_same = Bry_.Eq(cur_page.Ttl().Full_txt_by_orig(), new_page.Ttl().Full_txt_by_orig());
|
||||
Xog_tab_itm_read_mgr.Show_page(tab, new_page, true, new_page_is_same, false, history_nav_type);
|
||||
Page__async__bgn(tab);
|
||||
}
|
||||
@@ -277,7 +278,7 @@ public class Xog_win_itm implements GfoInvkAble, GfoEvObj {
|
||||
FontAdp ui_font = app.Gui_mgr().Win_cfg().Font().XtoFontAdp();
|
||||
go_bwd_btn = Xog_win_itm_.new_btn(app, kit, win_box, img_dir, "go_bwd_btn", "go_bwd.png" );
|
||||
go_fwd_btn = Xog_win_itm_.new_btn(app, kit, win_box, img_dir, "go_fwd_btn", "go_fwd.png" );
|
||||
url_box = Xog_win_itm_.new_txt(app, kit, win_box, ui_font, "url_box" , true);
|
||||
url_box = Xog_win_itm_.new_cbo(app, kit, win_box, ui_font, "url_box" , true);
|
||||
url_exec_btn = Xog_win_itm_.new_btn(app, kit, win_box, img_dir, "url_exec_btn", "url_exec.png" );
|
||||
search_box = Xog_win_itm_.new_txt(app, kit, win_box, ui_font, "search_box" , true);
|
||||
search_exec_btn = Xog_win_itm_.new_btn(app, kit, win_box, img_dir, "search_exec_btn", "search_exec.png" );
|
||||
@@ -292,10 +293,43 @@ public class Xog_win_itm implements GfoInvkAble, GfoEvObj {
|
||||
|
||||
GfoEvMgr_.SubSame_many(this, this, Gfui_html.Evt_location_changed, Gfui_html.Evt_location_changing, Gfui_html.Evt_link_hover);
|
||||
GfoEvMgr_.SubSame(win_box, Gfui_html.Evt_win_resized, this);
|
||||
GfoEvMgr_.Sub(app.Gui_mgr().Win_cfg().Font(), Xol_font_info.Font_changed, this, Invk_window_font_changed);
|
||||
GfoEvMgr_.Sub(app.Gui_mgr().Win_cfg().Font(), Xol_font_info.Font_changed, this, Invk_window_font_changed);
|
||||
url_box__selection_changed = new Xog_url_box__selection_changed(app, url_box);
|
||||
GfoEvMgr_.SubSame(url_box, GfuiComboBox.Evt__selected_changed, url_box__selection_changed);
|
||||
GfoEvMgr_.SubSame(url_box, GfuiComboBox.Evt__selected_accepted, url_box__selection_changed);
|
||||
|
||||
if ( !Env_.Mode_testing()
|
||||
&& app.Mode().Tid_is_gui()) // only run for gui; do not run for tcp/http server; DATE:2014-05-03
|
||||
app.Usr_dlg().Gui_wkr_(new Gfo_usr_dlg__gui__swt(kit, prog_box, info_box, info_box, app.Api_root().Gui().Browser().Info()));
|
||||
}
|
||||
public static String Remove_redirect_if_exists(String text) {
|
||||
// remove redirect target; EX: "A -> B" -> "A"
|
||||
int redirect_pos = String_.FindFwd(text, gplx.xowa.addons.searchs.searchers.rslts.Srch_rslt_row.Str__redirect__text);
|
||||
if (redirect_pos != Bry_find_.Not_found) {
|
||||
text = String_.Mid(text, 0, redirect_pos);
|
||||
}
|
||||
return text;
|
||||
}
|
||||
}
|
||||
class Xog_url_box__selection_changed implements GfoEvObj {
|
||||
private final GfuiComboBox url_box;
|
||||
private final Xoae_app app;
|
||||
public Xog_url_box__selection_changed(Xoae_app app, GfuiComboBox url_box) {this.app = app; this.url_box = url_box; this.ev_mgr = GfoEvMgr.new_(this);}
|
||||
public GfoEvMgr EvMgr() {return ev_mgr;} private final GfoEvMgr ev_mgr;
|
||||
private void On_selection_changed() {
|
||||
String text = url_box.Text();
|
||||
text = Xog_win_itm.Remove_redirect_if_exists(text);
|
||||
// always move cursor to end; emulates firefox url_bar behavior
|
||||
url_box.Text_(text);
|
||||
url_box.Sel_(String_.Len(text), String_.Len(text));
|
||||
}
|
||||
private void On_selection_accepted() {
|
||||
app.Api_root().Nav().Goto(url_box.Text());
|
||||
}
|
||||
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
if (ctx.Match(k, GfuiComboBox.Evt__selected_changed)) On_selection_changed();
|
||||
else if (ctx.Match(k, GfuiComboBox.Evt__selected_accepted)) On_selection_accepted();
|
||||
else return GfoInvkAble_.Rv_unhandled;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,8 +36,13 @@ public class Xog_win_itm_ {
|
||||
rv.Btn_img_(kit.New_img_load(img_dir.GenSubFil(file)));
|
||||
return rv;
|
||||
}
|
||||
public static GfuiComboBox new_cbo(Xoae_app app, Gfui_kit kit, GfuiWin win, FontAdp ui_font, String id, boolean border_on) {
|
||||
GfuiComboBox rv = kit.New_combo(id, win, Keyval_.new_(GfuiTextBox.CFG_border_on_, border_on));
|
||||
rv.TextMgr().Font_(ui_font);
|
||||
return rv;
|
||||
}
|
||||
public static GfuiTextBox new_txt(Xoae_app app, Gfui_kit kit, GfuiWin win, FontAdp ui_font, String id, boolean border_on) {
|
||||
GfuiTextBox rv = kit.New_text_box(id, win, KeyVal_.new_(GfuiTextBox.CFG_border_on_, border_on));
|
||||
GfuiTextBox rv = kit.New_text_box(id, win, Keyval_.new_(GfuiTextBox.CFG_border_on_, border_on));
|
||||
rv.TextMgr().Font_(ui_font);
|
||||
return rv;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user