From: <jde...@us...> - 2008-08-03 02:38:23
|
Revision: 7310 http://pcgen.svn.sourceforge.net/pcgen/?rev=7310&view=rev Author: jdempsey Date: 2008-08-03 02:38:32 +0000 (Sun, 03 Aug 2008) Log Message: ----------- FReq: REFRESH Button Should Reload All PCCs Issue#: 1733856 Modified Paths: -------------- Trunk/pcgen/code/src/java/pcgen/gui/MainSource.java Trunk/pcgen/code/src/java/pcgen/persistence/lst/LstSystemLoader.java Modified: Trunk/pcgen/code/src/java/pcgen/gui/MainSource.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/gui/MainSource.java 2008-08-03 02:19:08 UTC (rev 7309) +++ Trunk/pcgen/code/src/java/pcgen/gui/MainSource.java 2008-08-03 02:38:32 UTC (rev 7310) @@ -319,6 +319,20 @@ public void refreshCampaigns() { PersistenceManager.getInstance().refreshCampaigns(); + + // After the refresh the selected campaigns list needs to be updated with the new campaigns + List<Campaign> refreshedCamps = new ArrayList<Campaign>(); + for (Campaign oldCamp : selectedCampaigns) + { + Campaign newCamp = Globals.getCampaignKeyed(oldCamp.getKeyName()); + if (newCamp != null) + { + refreshedCamps.add(newCamp); + } + } + selectedCampaigns.clear(); + selectedCampaigns.addAll(refreshedCamps); + updateModels(); } Modified: Trunk/pcgen/code/src/java/pcgen/persistence/lst/LstSystemLoader.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/persistence/lst/LstSystemLoader.java 2008-08-03 02:19:08 UTC (rev 7309) +++ Trunk/pcgen/code/src/java/pcgen/persistence/lst/LstSystemLoader.java 2008-08-03 02:38:32 UTC (rev 7310) @@ -630,6 +630,18 @@ .getAbsolutePath()); loadPCCFilesInDirectory(SettingsHandler.getPcgenVendorDataDir() .getAbsolutePath()); + + // Now that those are loaded, make sure to initialize the recursive campaigns + try + { + campaignLoader.initRecursivePccFiles(); + } + catch (PersistenceLayerException e) + { + Logging.errorPrint("Failed to refresh campaigns", e); + } + + Globals.sortPObjectListByName(Globals.getCampaignList()); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |