Gui: Add allpages and search buttons

pull/620/head
gnosygnu 7 years ago
parent c964eedd58
commit 36cb2c22f6

@ -142,5 +142,6 @@ abstract class Swt_core__base extends GxwCore_base {
if (gfui_data.Min_h() > -1) swt_data.minimumHeight = gfui_data.Min_h();
control.setLayoutData(swt_data);
control.requestLayout();
}
}

@ -23,6 +23,7 @@ public class Xoapi_browser implements Gfo_invk {
tabs.Init_by_kit(app);
html.Init_by_kit(app);
search.Init_by_kit(app);
allpages.Init_by_kit(app);
find.Init_by_kit(app);
prog.Init_by_kit(app);
info.Init_by_kit(app);
@ -32,6 +33,7 @@ public class Xoapi_browser implements Gfo_invk {
public Xoapi_tabs Tabs() {return tabs;} private Xoapi_tabs tabs = new Xoapi_tabs();
public Xoapi_html_box Html() {return html;} private Xoapi_html_box html = new Xoapi_html_box();
public Xoapi_search Search() {return search;} private Xoapi_search search = new Xoapi_search();
public Xoapi_allpages Allpages() {return allpages;} private Xoapi_allpages allpages = new Xoapi_allpages();
public Xoapi_find Find() {return find;} private Xoapi_find find = new Xoapi_find();
public Xoapi_prog Prog() {return prog;} private Xoapi_prog prog = new Xoapi_prog();
public Xoapi_info Info() {return info;} private Xoapi_info info = new Xoapi_info();
@ -56,6 +58,7 @@ public class Xoapi_browser implements Gfo_invk {
else if (ctx.Match(k, Invk_tabs)) return tabs;
else if (ctx.Match(k, Invk_html)) return html;
else if (ctx.Match(k, Invk_search)) return search;
else if (ctx.Match(k, "allpages")) return allpages;
else if (ctx.Match(k, Invk_find)) return find;
else if (ctx.Match(k, Invk_prog)) return prog;
else if (ctx.Match(k, Invk_info)) return info;

@ -0,0 +1,32 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012-2017 gnosygnu@gmail.com
XOWA is licensed under the terms of the General Public License (GPL) Version 3,
or alternatively under the terms of the Apache License Version 2.0.
You may use XOWA according to either of these licenses as is most appropriate
for your project on a case-by-case basis.
The terms of each license can be found in the source code repository:
GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt
Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt
*/
package gplx.xowa.apps.apis.xowa.gui.browsers; import gplx.*; import gplx.xowa.*; import gplx.xowa.apps.*; import gplx.xowa.apps.apis.*; import gplx.xowa.apps.apis.xowa.*; import gplx.xowa.apps.apis.xowa.gui.*;
import gplx.gfui.*; import gplx.gfui.controls.standards.*; import gplx.xowa.guis.views.*;
public class Xoapi_allpages implements Gfo_invk {
public void Init_by_kit(Xoae_app app) {this.app = app;} private Xoae_app app;
private GfuiTextBox Allpages_box() {return app.Gui_mgr().Browser_win().Allpages_box();}
private Xog_win_itm Win() {return app.Gui_mgr().Browser_win();}
public void Focus() {this.Allpages_box().Focus_select_all();}
public void Exec() {this.Win().Page__navigate_by_allpages();}
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
if (ctx.Match(k, Invk_focus)) this.Focus();
else if (ctx.Match(k, Invk_exec)) this.Exec();
else return Gfo_invk_.Rv_unhandled;
return this;
}
private static final String Invk_focus = "focus";
public static final String Invk_exec = "exec";
}

@ -19,7 +19,8 @@ import gplx.gfui.draws.*;
import gplx.xowa.guis.langs.*;
public class Xocfg_win implements Gfo_invk {
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:Allpages?from=", "search");
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 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) {
font.Init_by_app(app);
}

@ -17,9 +17,9 @@ package gplx.xowa.guis.bnds; import gplx.*; import gplx.xowa.*; import gplx.xowa
import gplx.gfui.*; import gplx.gfui.ipts.*; import gplx.gfui.controls.elems.*;
import gplx.xowa.guis.views.*; import gplx.xowa.guis.cmds.*;
public class Xog_bnd_box_ {
public static final String Key_browser = "browser", Key_browser_url = "browser.url", Key_browser_search = "browser.search", Key_browser_html = "browser.html", Key_browser_find = "browser.find", Key_browser_prog = "browser.prog", Key_browser_info = "browser.info";
public static final String Gui_browser = "Window", Gui_browser_url = "Url bar", Gui_browser_search = "Search box", Gui_browser_html = "HTML browser", Gui_browser_find = "Find box", Gui_browser_prog = "Status bar", Gui_browser_info = "System Messages box";
public static final int Tid__max = 7, Tid_browser = 0, Tid_browser_url = 1, Tid_browser_search = 2, Tid_browser_html = 3, Tid_browser_find = 4, Tid_browser_prog = 5, Tid_browser_info = 6;
public static final String Key_browser = "browser", Key_browser_url = "browser.url", Key_browser_search = "browser.search", Key_browser_allpages = "browser.allpages", Key_browser_html = "browser.html", Key_browser_find = "browser.find", Key_browser_prog = "browser.prog", Key_browser_info = "browser.info";
public static final String Gui_browser = "Window", Gui_browser_url = "Url bar", Gui_browser_search = "Search box", Gui_browser_allpages = "Allpages box", Gui_browser_html = "HTML browser", Gui_browser_find = "Find box", Gui_browser_prog = "Status bar", Gui_browser_info = "System Messages box";
public static final int Tid__max = 8, Tid_browser = 0, Tid_browser_url = 1, Tid_browser_search = 2, Tid_browser_allpages = 3, Tid_browser_html = 4, Tid_browser_find = 5, Tid_browser_prog = 6, Tid_browser_info = 7;
public static final int Ary_len = Tid__max;
public static Xog_bnd_box[] Ary() {
if (ary != null) return ary;
@ -27,6 +27,7 @@ public class Xog_bnd_box_ {
ary_init(ary, Tid_browser , Key_browser);
ary_init(ary, Tid_browser_url , Key_browser_url);
ary_init(ary, Tid_browser_search , Key_browser_search);
ary_init(ary, Tid_browser_allpages , Key_browser_allpages);
ary_init(ary, Tid_browser_html , Key_browser_html);
ary_init(ary, Tid_browser_find , Key_browser_find);
ary_init(ary, Tid_browser_prog , Key_browser_prog);
@ -54,6 +55,7 @@ public class Xog_bnd_box_ {
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;
else if (String_.Eq(s, Key_browser_allpages)) return Tid_browser_allpages;
else if (String_.Eq(s, Key_browser_html)) return Tid_browser_html;
else if (String_.Eq(s, Key_browser_find)) return Tid_browser_find;
else if (String_.Eq(s, Key_browser_prog)) return Tid_browser_prog;
@ -65,6 +67,7 @@ public class Xog_bnd_box_ {
case Tid_browser: return Key_browser;
case Tid_browser_url: return Key_browser_url;
case Tid_browser_search: return Key_browser_search;
case Tid_browser_allpages: return Key_browser_allpages;
case Tid_browser_html: return Key_browser_html;
case Tid_browser_find: return Key_browser_find;
case Tid_browser_prog: return Key_browser_prog;
@ -77,6 +80,7 @@ public class Xog_bnd_box_ {
case Tid_browser: return Gui_browser;
case Tid_browser_url: return Gui_browser_url;
case Tid_browser_search: return Gui_browser_search;
case Tid_browser_allpages: return Gui_browser_allpages;
case Tid_browser_html: return Gui_browser_html;
case Tid_browser_find: return Gui_browser_find;
case Tid_browser_prog: return Gui_browser_prog;
@ -88,6 +92,7 @@ public class Xog_bnd_box_ {
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;
else if (String_.Eq(s, Gui_browser_allpages)) return Tid_browser_allpages;
else if (String_.Eq(s, Gui_browser_html)) return Tid_browser_html;
else if (String_.Eq(s, Gui_browser_find)) return Tid_browser_find;
else if (String_.Eq(s, Gui_browser_prog)) return Tid_browser_prog;
@ -101,6 +106,7 @@ public class Xog_bnd_box_ {
else if (String_.Eq(grp_key, Xog_bnd_box_.Key_browser)) box_elem = win.Win_box();
else if (String_.Eq(grp_key, Xog_bnd_box_.Key_browser_url)) box_elem = win.Url_box();
else if (String_.Eq(grp_key, Xog_bnd_box_.Key_browser_search)) box_elem = win.Search_box();
else if (String_.Eq(grp_key, Xog_bnd_box_.Key_browser_allpages)) box_elem = win.Allpages_box();
else if (String_.Eq(grp_key, Xog_bnd_box_.Key_browser_find)) box_elem = win.Find_box();
else if (String_.Eq(grp_key, Xog_bnd_box_.Key_browser_prog)) box_elem = win.Prog_box();
else if (String_.Eq(grp_key, Xog_bnd_box_.Key_browser_info)) box_elem = win.Info_box();

@ -95,6 +95,8 @@ public class Xog_bnd_mgr implements Gfo_invk {
, "xowa.gui.shortcuts.xowa.gui.browser.url.restore-1"
, "xowa.gui.shortcuts.xowa.gui.browser.search.focus-1"
, "xowa.gui.shortcuts.xowa.gui.browser.search.exec-1"
, "xowa.gui.shortcuts.xowa.gui.browser.allpages.focus-1"
, "xowa.gui.shortcuts.xowa.gui.browser.allpages.exec-1"
, "xowa.gui.shortcuts.xowa.gui.browser.html.focus-1"
, "xowa.gui.shortcuts.xowa.gui.browser.html.focus-2"
, "xowa.gui.shortcuts.xowa.gui.browser.html.focus-3"
@ -277,6 +279,8 @@ public class Xog_bnd_mgr implements Gfo_invk {
Init_itm(Xog_cmd_itm_.Key_gui_browser_url_restore , Xog_bnd_box_.Tid_browser_url , "key.escape");
Init_itm(Xog_cmd_itm_.Key_gui_browser_search_focus , Xog_bnd_box_.Tid_browser , "mod.ca+key.s");
Init_itm(Xog_cmd_itm_.Key_gui_browser_search_exec , Xog_bnd_box_.Tid_browser_search , "key.enter");
Init_itm(Xog_cmd_itm_.Key_gui_browser_allpages_focus , Xog_bnd_box_.Tid_browser , "mod.ca+key.a");
Init_itm(Xog_cmd_itm_.Key_gui_browser_allpages_exec , Xog_bnd_box_.Tid_browser_allpages , "key.enter");
Init_itm(Xog_cmd_itm_.Key_gui_browser_tabs_new_dflt__at_dflt__focus_y , Xog_bnd_box_.Tid_browser , "mod.c+key.t");
Init_itm(Xog_cmd_itm_.Key_gui_browser_tabs_new_link__at_dflt__focus_n , Xog_bnd_box_.Tid_browser_html , "mouse.middle");
Init_itm(Xog_cmd_itm_.Key_gui_browser_tabs_new_link__at_dflt__focus_y , Xog_bnd_box_.Tid_browser , "");
@ -343,15 +347,16 @@ public class Xog_bnd_mgr implements Gfo_invk {
}
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.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_.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()));
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.Allpages_exec_btn(), invk_mgr, Xog_cmd_itm_.Key_gui_browser_allpages_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_.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();
@ -370,6 +375,7 @@ public class Xog_bnd_mgr implements Gfo_invk {
this.Bind(Xog_bnd_box_.Tid_browser_url , win.Url_box());
this.Bind(Xog_bnd_box_.Tid_browser_find , win.Find_box());
this.Bind(Xog_bnd_box_.Tid_browser_search , win.Search_box());
this.Bind(Xog_bnd_box_.Tid_browser_allpages , win.Allpages_box());
this.Bind(Xog_bnd_box_.Tid_browser_prog , win.Prog_box());
this.Bind(Xog_bnd_box_.Tid_browser_info , win.Info_box());
}

@ -87,6 +87,8 @@ public class Xog_cmd_itm_ {
, 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_allpages_focus = new_dflt_(Xog_ctg_itm_.Tid_browser , "xowa.gui.browser.allpages.focus")
, Key_gui_browser_allpages_exec = new_dflt_(Xog_ctg_itm_.Tid_browser , "xowa.gui.browser.allpages.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")
, Key_gui_browser_tabs_new_link__at_dflt__focus_n = new_dflt_(Xog_ctg_itm_.Tid_tabs , "xowa.gui.browser.tabs.new_link__at_dflt__focus_n")
, Key_gui_browser_tabs_new_link__at_dflt__focus_y = new_dflt_(Xog_ctg_itm_.Tid_tabs , "xowa.gui.browser.tabs.new_link__at_dflt__focus_y")

@ -24,6 +24,8 @@ public class Xog_layout implements Gfo_invk {
find_close_btn.Owner_(this);
search_box.Owner_(this);
search_exec_btn.Owner_(this);
allpages_box.Owner_(this);
allpages_exec_btn.Owner_(this);
html_box.Owner_(this);
find_box.Owner_(this);
prog_box.Owner_(this);
@ -37,6 +39,8 @@ public class Xog_layout implements Gfo_invk {
public Xog_layout_box Find_close_btn() {return find_close_btn;} private Xog_layout_box find_close_btn = new Xog_layout_box();
public Xog_layout_box Search_box() {return search_box;} private Xog_layout_box search_box = new Xog_layout_box();
public Xog_layout_box Search_exec_btn() {return search_exec_btn;} private Xog_layout_box search_exec_btn = new Xog_layout_box();
public Xog_layout_box Allpages_box() {return allpages_box;} private Xog_layout_box allpages_box = new Xog_layout_box();
public Xog_layout_box Allpages_exec_btn() {return allpages_exec_btn;} private Xog_layout_box allpages_exec_btn = new Xog_layout_box();
public Xog_layout_box Html_box() {return html_box;} private Xog_layout_box html_box = new Xog_layout_box();
public Xog_layout_box Find_box() {return find_box;} private Xog_layout_box find_box = new Xog_layout_box();
public Xog_layout_box Find_fwd_btn() {return find_fwd_btn;} private Xog_layout_box find_fwd_btn = new Xog_layout_box();
@ -72,6 +76,8 @@ public class Xog_layout implements Gfo_invk {
find_close_btn.Adj_text(win.Find_close_btn());
search_box.Adj_text(win.Search_box());
search_exec_btn.Adj_text(win.Search_exec_btn());
allpages_box.Adj_text(win.Allpages_box());
allpages_exec_btn.Adj_text(win.Allpages_exec_btn());
find_box.Adj_text(win.Find_box());
find_fwd_btn.Adj_text(win.Find_fwd_btn());
find_bwd_btn.Adj_text(win.Find_bwd_btn());
@ -94,6 +100,8 @@ public class Xog_layout implements Gfo_invk {
else if (ctx.Match(k, Invk_find_close_btn)) return find_close_btn;
else if (ctx.Match(k, Invk_search_box)) return search_box;
else if (ctx.Match(k, Invk_search_exec_btn)) return search_exec_btn;
else if (ctx.Match(k, "allpages_box")) return allpages_box;
else if (ctx.Match(k, "allpages_exec_btn")) return allpages_exec_btn;
else if (ctx.Match(k, Invk_html_box)) return html_box;
else if (ctx.Match(k, Invk_find_box)) return find_box;
else if (ctx.Match(k, Invk_find_fwd_btn)) return find_fwd_btn;

@ -40,6 +40,8 @@ public class Xog_win_itm implements Gfo_invk, Gfo_evt_itm {
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;
public GfuiTextBox Allpages_box() {return allpages_box;} private GfuiTextBox allpages_box;
public GfuiBtn Allpages_exec_btn() {return allpages_exec_btn;} private GfuiBtn allpages_exec_btn;
public GfuiTextBox Find_box() {return find_box;} private GfuiTextBox find_box;
public Gfui_grp Statusbar_grp() {return statusbar_grp;} private Gfui_grp statusbar_grp;
public GfuiBtn Find_close_btn() {return find_close_btn;} private GfuiBtn find_close_btn;
@ -178,7 +180,8 @@ public class Xog_win_itm implements Gfo_invk, Gfo_evt_itm {
Xog_tab_itm_read_mgr.Show_page(tab, page, false);
// Exec_page_refresh(); // commented out; causes lnke to show as [2] instead of [1] when saving page; EX: [http://a.org b] DATE:2014-04-24
}
public void Page__navigate_by_search() {Page__navigate_by_url_bar(app.Gui_mgr().Win_cfg().Search_box_fmtr().Bld_str_many(search_box.Text()));}
public void Page__navigate_by_search() {Page__navigate_by_url_bar(app.Gui_mgr().Win_cfg().Search_box_fmtr().Bld_str_many(search_box.Text()));}
public void Page__navigate_by_allpages() {Page__navigate_by_url_bar(app.Gui_mgr().Win_cfg().Allpages_box_fmtr().Bld_str_many(allpages_box.Text()));}
public void Page__navigate_by_url_bar(String href) {
Xog_tab_itm tab = tab_mgr.Active_tab_assert();
Xoa_url url = tab.Wiki().Utl__url_parser().Parse_by_urlbar_or_null(href); if (url == null) return;
@ -262,6 +265,8 @@ public class Xog_win_itm implements Gfo_invk, Gfo_evt_itm {
Xog_win_itm_.Update_tiptext(app, url_exec_btn , Xol_msg_itm_.Id_xowa_window_url_btn_tooltip);
Xog_win_itm_.Update_tiptext(app, search_box , Xol_msg_itm_.Id_xowa_window_search_box_tooltip);
Xog_win_itm_.Update_tiptext(app, search_exec_btn , Xol_msg_itm_.Id_xowa_window_search_btn_tooltip);
Xog_win_itm_.Update_tiptext(app, allpages_box , Xol_msg_itm_.Id_xowa_window_allpages_box_tooltip);
Xog_win_itm_.Update_tiptext(app, allpages_exec_btn , Xol_msg_itm_.Id_xowa_window_allpages_btn_tooltip);
Xog_win_itm_.Update_tiptext(app, find_close_btn , Xol_msg_itm_.Id_xowa_window_find_close_btn_tooltip);
Xog_win_itm_.Update_tiptext(app, find_box , Xol_msg_itm_.Id_xowa_window_find_box_tooltip);
Xog_win_itm_.Update_tiptext(app, find_bwd_btn , Xol_msg_itm_.Id_xowa_window_find_bwd_btn_tooltip);
@ -319,21 +324,26 @@ public class Xog_win_itm implements Gfo_invk, Gfo_evt_itm {
this.toolbar_grp = Xog_win_itm_.new_grp(app, kit, win_box, "toolbar_grp");
go_bwd_btn = Xog_win_itm_.new_btn(app, kit, toolbar_grp, "go_bwd_btn");
go_fwd_btn = Xog_win_itm_.new_btn(app, kit, toolbar_grp, "go_fwd_btn");
url_box = Xog_win_itm_.new_cbo(app, kit, toolbar_grp, ui_font, "url_box" , true);
url_box = Xog_win_itm_.new_cbo(app, kit, toolbar_grp, ui_font, "url_box", true);
url_exec_btn = Xog_win_itm_.new_btn(app, kit, toolbar_grp, "url_exec_btn");
search_box = Xog_win_itm_.new_txt(app, kit, toolbar_grp, ui_font, "search_box" , true);
search_box = Xog_win_itm_.new_txt(app, kit, toolbar_grp, ui_font, "search_box", true);
search_exec_btn = Xog_win_itm_.new_btn(app, kit, toolbar_grp, "search_exec_btn");
allpages_box = Xog_win_itm_.new_txt(app, kit, toolbar_grp, ui_font, "allpages_box", true);
allpages_exec_btn = Xog_win_itm_.new_btn(app, kit, toolbar_grp, "allpages_exec_btn");
toolbar_grp.Layout_data_(new Swt_layout_data__grid().Grab_excess_w_(true).Align_w__fill_().Hint_h_(28));
toolbar_grp.Layout_mgr_(new Swt_layout_mgr__grid().Cols_(6)
toolbar_grp.Layout_mgr_(new Swt_layout_mgr__grid().Cols_(8)
.Margin_w_(4) // sets space to far-left / right window edges
.Margin_h_(1) // sets space to top-menu and bot-html
.Spacing_w_(4) // sets space between buttons, or else very squished
.Spacing_h_(0) // not needed since only one row, but be explicit
);
url_box.Layout_data_(new Swt_layout_data__grid().Grab_excess_w_(true).Align_w__fill_().Min_w_(100));
search_box.Layout_data_(new Swt_layout_data__grid().Hint_w_(160));
search_exec_btn.Layout_data_(new Swt_layout_data__grid().Align_w__fill_().Hint_w_(20)); // force 20 width to add even more space to right-hand of screen
int toolbar_text_height = 24;
url_box.Layout_data_(new Swt_layout_data__grid().Grab_excess_w_(true).Align_w__fill_().Min_w_(100).Hint_h_(toolbar_text_height));
search_box.Layout_data_(new Swt_layout_data__grid().Hint_w_(160).Hint_h_(toolbar_text_height));
search_exec_btn.Layout_data_(new Swt_layout_data__grid().Align_w__fill_().Hint_w_(16).Hint_h_(toolbar_text_height));
allpages_box.Layout_data_(new Swt_layout_data__grid().Hint_w_(160).Hint_h_(toolbar_text_height));
allpages_exec_btn.Layout_data_(new Swt_layout_data__grid().Align_w__fill_().Hint_w_(20).Hint_h_(toolbar_text_height)); // force 20 width to add even more space to right-hand of screen
// tab / html space
tab_mgr.Init_by_kit(kit);

@ -26,6 +26,19 @@ public class Xog_win_itm_ {
win_box.Icon_(IconAdp.file_or_blank(app.Fsys_mgr().Bin_xowa_dir().GenSubFil_nest("file", "app.window", "app_icon.png")));
}
public static void Show_widget(boolean show, GfuiElem box, GfuiElem btn) {
int box_w, btn_w;
if (show) {
box_w = 160;
btn_w = 16;
}
else {
box_w = 0;
btn_w = 0;
}
box.Layout_data_(new gplx.gfui.layouts.swts.Swt_layout_data__grid().Hint_w_(box_w).Hint_h_(24));
btn.Layout_data_(new gplx.gfui.layouts.swts.Swt_layout_data__grid().Hint_w_(btn_w).Align_w__fill_());
}
public static Gfui_grp new_grp(Xoae_app app, Gfui_kit kit, GfuiElem win, String id) {
return kit.New_grp(id, win);
}
@ -51,6 +64,7 @@ public class Xog_win_itm_ {
FontAdp new_font = itm_font.To_font();
win.Url_box().TextMgr().Font_(new_font);
win.Search_box().TextMgr().Font_(new_font);
win.Allpages_box().TextMgr().Font_(new_font);
win.Find_box().TextMgr().Font_(new_font);
win.Prog_box().TextMgr().Font_(new_font);
win.Info_box().TextMgr().Font_(new_font);

@ -15,14 +15,22 @@ Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt
*/
package gplx.xowa.guis.views; import gplx.*; import gplx.xowa.*; import gplx.xowa.guis.*;
public class Xog_win_itm_cfg implements Gfo_invk {
private Xoae_app app;
public boolean Status__show_short_url() {return status__show_short_url;} private boolean status__show_short_url = true;
public void Init_by_app(Xoa_app app) {
app.Cfg().Bind_many_app(this, Cfg__status__show_short_url);
public void Init_by_app(Xoae_app app) {
this.app = app;
app.Cfg().Bind_many_app(this, Cfg__status__show_short_url, Cfg__toolbar__show_search, Cfg__toolbar__show_allpages);
}
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
if (ctx.Match(k, Cfg__status__show_short_url)) status__show_short_url = m.ReadYn("v");
else if (ctx.Match(k, Cfg__toolbar__show_search)) Xog_win_itm_.Show_widget(m.ReadYn("v"), app.Gui_mgr().Browser_win().Search_box(), app.Gui_mgr().Browser_win().Search_exec_btn());
else if (ctx.Match(k, Cfg__toolbar__show_allpages)) Xog_win_itm_.Show_widget(m.ReadYn("v"), app.Gui_mgr().Browser_win().Allpages_box(), app.Gui_mgr().Browser_win().Allpages_exec_btn());
else return Gfo_invk_.Rv_unhandled;
return this;
}
private static final String Cfg__status__show_short_url = "xowa.gui.prog_box.show_short_url";
private static final String
Cfg__status__show_short_url = "xowa.gui.prog_box.show_short_url"
, Cfg__toolbar__show_search = "xowa.gui.toolbar.show_search"
, Cfg__toolbar__show_allpages = "xowa.gui.toolbar.show_allpages"
;
}

@ -40,6 +40,8 @@ public class Xog_nightmode_mgr implements Gfo_invk {
, win.Url_exec_btn()
, win.Search_box()
, win.Search_exec_btn()
, win.Allpages_box()
, win.Allpages_exec_btn()
, win.Statusbar_grp()
, win.Find_close_btn()
, win.Find_bwd_btn()
@ -108,6 +110,7 @@ public class Xog_nightmode_mgr implements Gfo_invk {
win.Go_fwd_btn().Btn_img_(app.Gui_mgr().Kit().New_img_load(img_dir.GenSubFil("go_fwd.png")));
win.Url_exec_btn().Btn_img_(app.Gui_mgr().Kit().New_img_load(img_dir.GenSubFil("url_exec.png")));
win.Search_exec_btn().Btn_img_(app.Gui_mgr().Kit().New_img_load(img_dir.GenSubFil("search_exec.png")));
win.Allpages_exec_btn().Btn_img_(app.Gui_mgr().Kit().New_img_load(img_dir.GenSubFil("allpages_exec.png")));
win.Find_close_btn().Btn_img_(app.Gui_mgr().Kit().New_img_load(img_dir.GenSubFil("find_close.png")));
win.Find_bwd_btn().Btn_img_(app.Gui_mgr().Kit().New_img_load(img_dir.GenSubFil("find_bwd.png")));
win.Find_fwd_btn().Btn_img_(app.Gui_mgr().Kit().New_img_load(img_dir.GenSubFil("find_fwd.png")));

@ -249,8 +249,10 @@ public static final int
, Id_xowa_wikidata_normal = 229
, Id_xowa_wikidata_preferred = 230
, Id_xowa_wikidata_links_special = 231
, Id_xowa_window_allpages_box_tooltip = 232
, Id_xowa_window_allpages_btn_tooltip = 233
;
public static final int Id__max = 232;
public static final int Id__max = 234;
public static Xol_msg_itm new_(int id, String key, String val) {return new_(id, Bry_.new_u8(key), Bry_.new_u8(val));}
public static Xol_msg_itm new_(int id, byte[] key, byte[] val) {
Xol_msg_itm rv = new Xol_msg_itm(id, key);
@ -388,8 +390,10 @@ case Xol_msg_itm_.Id_xowa_window_go_bwd_btn_tooltip: return new_(Xol_msg_itm_.Id
case Xol_msg_itm_.Id_xowa_window_go_fwd_btn_tooltip: return new_(Xol_msg_itm_.Id_xowa_window_go_fwd_btn_tooltip, "xowa-window-go_fwd_btn-tooltip", "Go forward one page");
case Xol_msg_itm_.Id_xowa_window_url_box_tooltip: return new_(Xol_msg_itm_.Id_xowa_window_url_box_tooltip, "xowa-window-url_box-tooltip", "Enter address");
case Xol_msg_itm_.Id_xowa_window_url_btn_tooltip: return new_(Xol_msg_itm_.Id_xowa_window_url_btn_tooltip, "xowa-window-url_btn-tooltip", "Go to the address in the Location Bar");
case Xol_msg_itm_.Id_xowa_window_search_box_tooltip: return new_(Xol_msg_itm_.Id_xowa_window_search_box_tooltip, "xowa-window-search_box-tooltip", "Search using {{ns:Special}}:AllPages");
case Xol_msg_itm_.Id_xowa_window_search_box_tooltip: return new_(Xol_msg_itm_.Id_xowa_window_search_box_tooltip, "xowa-window-search_box-tooltip", "Search using {{ns:Special}}:XowaSearch");
case Xol_msg_itm_.Id_xowa_window_search_btn_tooltip: return new_(Xol_msg_itm_.Id_xowa_window_search_btn_tooltip, "xowa-window-search_btn-tooltip", "Search");
case Xol_msg_itm_.Id_xowa_window_allpages_box_tooltip: return new_(Xol_msg_itm_.Id_xowa_window_allpages_box_tooltip, "xowa-window-allpages_box-tooltip", "List using {{ns:Special}}:AllPages");
case Xol_msg_itm_.Id_xowa_window_allpages_btn_tooltip: return new_(Xol_msg_itm_.Id_xowa_window_allpages_btn_tooltip, "xowa-window-allpages_btn-tooltip", "List all pages");
case Xol_msg_itm_.Id_xowa_window_find_close_btn_tooltip: return new_(Xol_msg_itm_.Id_xowa_window_find_close_btn_tooltip, "xowa-window-find_close_btn-tooltip", "Close Find bar");
case Xol_msg_itm_.Id_xowa_window_find_box_tooltip: return new_(Xol_msg_itm_.Id_xowa_window_find_box_tooltip, "xowa-window-find_box-tooltip", "Enter phrase to find on this page");
case Xol_msg_itm_.Id_xowa_window_find_fwd_btn_tooltip: return new_(Xol_msg_itm_.Id_xowa_window_find_fwd_btn_tooltip, "xowa-window-find_fwd_btn-tooltip", "Find the next occurrence of the phrase");

Loading…
Cancel
Save