Cfg: Add prev_version

pull/620/head
gnosygnu 8 years ago
parent 1ea75765d7
commit 3a4ef523dc

@ -32,7 +32,7 @@ public class Xoa_app_ {
}
}
public static final String Name = "xowa";
public static final String Version = "3.12.1.4";
public static final String Version = "3.12.2.6";
public static String Build_date = "2012-12-30 00:00:00";
public static String Op_sys_str;
public static String User_agent = "";

@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.apps.apis.xowa; import gplx.*; import gplx.xowa.*; import gplx.xowa.apps.*; import gplx.xowa.apps.apis.*;
import gplx.xowa.guis.views.*;
import gplx.xowa.apps.apis.xowa.apps.*; import gplx.xowa.apps.apis.xowa.envs.*;
import gplx.xowa.apps.apis.xowa.apps.*;
public class Xoapi_app implements Gfo_invk {
private Xog_win_itm win;
public void Ctor_by_app(Xoae_app app) {
@ -28,13 +28,11 @@ public class Xoapi_app implements Gfo_invk {
}
public Xoapi_fsys Fsys() {return fsys;} private Xoapi_fsys fsys = new Xoapi_fsys();
public void Exit() {win.App__exit();}
public Xoapi_env Env() {return env;} private Xoapi_env env = new Xoapi_env();
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
if (ctx.Match(k, Invk_exit)) this.Exit();
else if (ctx.Match(k, Invk_fsys)) return fsys;
else if (ctx.Match(k, Invk_env)) return env;
else return Gfo_invk_.Rv_unhandled;
return this;
}
private static final String Invk_exit = "exit", Invk_env = "env", Invk_fsys = "fsys";
private static final String Invk_exit = "exit", Invk_fsys = "fsys";
}

@ -1,29 +0,0 @@
/*
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.apps.apis.xowa.envs; import gplx.*; import gplx.xowa.*; import gplx.xowa.apps.*; import gplx.xowa.apps.apis.*; import gplx.xowa.apps.apis.xowa.*;
public class Xoapi_env implements Gfo_invk {
public void Init_by_kit(Xoae_app app) {}
public String Version_previous() {return version_previous;} private String version_previous = "";
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
if (ctx.Match(k, Invk_version_previous)) return version_previous;
else if (ctx.Match(k, Invk_version_previous_)) version_previous = m.ReadStr("v");
else return Gfo_invk_.Rv_unhandled;
return this;
}
private static final String Invk_version_previous = "version_previous", Invk_version_previous_ = "version_previous_";
}

@ -19,7 +19,7 @@ package gplx.xowa.apps.setups; import gplx.*; import gplx.xowa.*; import gplx.xo
import gplx.xowa.apps.versions.*;
public class Xoa_setup_mgr {
public static void Delete_old_files(Xoae_app app) {
String version_previous = app.Api_root().App().Env().Version_previous();
String version_previous = gplx.xowa.guis.views.Xog_startup_tabs_.Version_previous(app);
Gfo_usr_dlg usr_dlg = app.Usr_dlg();
Io_url root_dir = app.Fsys_mgr().Root_dir();
Delete_old_dir(usr_dlg, version_previous, "1.8.2.1" , root_dir.GenSubDir_nest("user", "anonymous", "lang"));
@ -27,7 +27,7 @@ public class Xoa_setup_mgr {
Delete_old_dir(usr_dlg, version_previous, "1.10.2.1" , root_dir.GenSubDir_nest("bin", "any", "javascript"));
Delete_old_dir(usr_dlg, version_previous, "1.10.2.1" , root_dir.GenSubDir_nest("bin", "any", "xowa", "html", "modules"));
}
@gplx.Internal protected static void Delete_old_dir(Gfo_usr_dlg usr_dlg, String version_prv, String version_del, Io_url dir) {
public static void Delete_old_dir(Gfo_usr_dlg usr_dlg, String version_prv, String version_del, Io_url dir) {
if (Xoa_version_.Compare(version_prv, version_del) != CompareAble_.Less) return;
usr_dlg.Log_many("", "", "setup:checking if dir exists: version_prv=~{0} version_del=~{1} dir=~{2}", version_prv, version_del, dir.Raw());
if (!Io_mgr.Instance.ExistsDir(dir)) return;

@ -70,8 +70,9 @@ public class Xog_startup_tabs_ {
list.Add(itm);
}
}
public static String Version_previous(Xoa_app app) {return app.Cfg().Get_str_app_or(Cfg__prev_version, "");}
private static void Add_xowa_home_if_new_version(List_adp rv, Xoae_app app, String xowa_home) {
if (gplx.xowa.apps.versions.Xoa_version_.Compare(app.Api_root().App().Env().Version_previous(), Xoa_app_.Version) == CompareAble_.Less) {
if (gplx.xowa.apps.versions.Xoa_version_.Compare(Version_previous(app), Xoa_app_.Version) == CompareAble_.Less) {
boolean xowa_home_exists = false;
int len = rv.Count();
for (int i = 0; i < len; ++i) {
@ -81,8 +82,10 @@ public class Xog_startup_tabs_ {
break;
}
}
if (!xowa_home_exists)
if (!xowa_home_exists) {
rv.Add(xowa_home);
app.Cfg().Set_int_app(Cfg__prev_selected, rv.Len());
}
}
}
private static final String
@ -92,4 +95,5 @@ public class Xog_startup_tabs_ {
, Cfg__prev_selected = "xowa.app.startup.tabs.previous_selected"
, Opt__tabs_type__previous = "previous"
;
public static final String Cfg__prev_version = "xowa.app.session.version";
}

@ -81,8 +81,8 @@ 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();
cfg_mgr2.Set_by_app("xowa.api.app.env.version_previous" , Xoa_app_.Version);
app.Api_root().Html().Page().Toggle_mgr().Save(cfg_mgr2);
cfg_mgr2.Db_save_txt();
}

Loading…
Cancel
Save