diff --git a/400_xowa/src/gplx/xowa/Xoa_app_.java b/400_xowa/src/gplx/xowa/Xoa_app_.java
index 80fd58a90..d74daf496 100644
--- a/400_xowa/src/gplx/xowa/Xoa_app_.java
+++ b/400_xowa/src/gplx/xowa/Xoa_app_.java
@@ -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 = "";
diff --git a/400_xowa/src/gplx/xowa/apps/apis/xowa/Xoapi_app.java b/400_xowa/src/gplx/xowa/apps/apis/xowa/Xoapi_app.java
index 2abc2c184..c4599e451 100644
--- a/400_xowa/src/gplx/xowa/apps/apis/xowa/Xoapi_app.java
+++ b/400_xowa/src/gplx/xowa/apps/apis/xowa/Xoapi_app.java
@@ -17,7 +17,7 @@ along with this program. If not, see .
*/
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";
}
diff --git a/400_xowa/src/gplx/xowa/apps/apis/xowa/envs/Xoapi_env.java b/400_xowa/src/gplx/xowa/apps/apis/xowa/envs/Xoapi_env.java
deleted file mode 100644
index b640381dc..000000000
--- a/400_xowa/src/gplx/xowa/apps/apis/xowa/envs/Xoapi_env.java
+++ /dev/null
@@ -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 .
-*/
-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_";
-}
diff --git a/400_xowa/src/gplx/xowa/apps/setups/Xoa_setup_mgr.java b/400_xowa/src/gplx/xowa/apps/setups/Xoa_setup_mgr.java
index 7de91997c..727996509 100644
--- a/400_xowa/src/gplx/xowa/apps/setups/Xoa_setup_mgr.java
+++ b/400_xowa/src/gplx/xowa/apps/setups/Xoa_setup_mgr.java
@@ -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;
diff --git a/400_xowa/src/gplx/xowa/guis/views/Xog_startup_tabs_.java b/400_xowa/src/gplx/xowa/guis/views/Xog_startup_tabs_.java
index c3da511a4..5e28d4955 100644
--- a/400_xowa/src/gplx/xowa/guis/views/Xog_startup_tabs_.java
+++ b/400_xowa/src/gplx/xowa/guis/views/Xog_startup_tabs_.java
@@ -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";
}
diff --git a/400_xowa/src/gplx/xowa/guis/views/Xog_startup_win_.java b/400_xowa/src/gplx/xowa/guis/views/Xog_startup_win_.java
index fa80243b9..cccbf5219 100644
--- a/400_xowa/src/gplx/xowa/guis/views/Xog_startup_win_.java
+++ b/400_xowa/src/gplx/xowa/guis/views/Xog_startup_win_.java
@@ -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();
}