From 6ea9e8b78331c33d18f3855f5cf531e3abd4299f Mon Sep 17 00:00:00 2001 From: Vhati Date: Sat, 14 Sep 2013 22:06:15 -0400 Subject: [PATCH] Added 'notice' string to auto-update info --- skel_common/readme_changelog.txt | 3 ++ .../net/vhati/modmanager/FTLModManager.java | 2 +- .../vhati/modmanager/core/AutoUpdateInfo.java | 11 +++++++ .../json/JacksonAutoUpdateReader.java | 2 ++ .../net/vhati/modmanager/ui/ManagerFrame.java | 33 ++++++++++++------- 5 files changed, 39 insertions(+), 12 deletions(-) diff --git a/skel_common/readme_changelog.txt b/skel_common/readme_changelog.txt index 685df55..e8a11d4 100644 --- a/skel_common/readme_changelog.txt +++ b/skel_common/readme_changelog.txt @@ -1,5 +1,8 @@ Changelog +???: +- Added "Return FTL to an unmodded state before switching to a new version" + 1.2: - Added a commandline interface - Incorporated strict-then-sloppy XML parsing into the patch process diff --git a/src/main/java/net/vhati/modmanager/FTLModManager.java b/src/main/java/net/vhati/modmanager/FTLModManager.java index 99d3381..61d4666 100644 --- a/src/main/java/net/vhati/modmanager/FTLModManager.java +++ b/src/main/java/net/vhati/modmanager/FTLModManager.java @@ -25,7 +25,7 @@ public class FTLModManager { private static final Logger log = LogManager.getLogger(FTLModManager.class); public static final String APP_NAME = "Slipstream Mod Manager"; - public static final ComparableVersion APP_VERSION = new ComparableVersion( "1.2" ); + public static final ComparableVersion APP_VERSION = new ComparableVersion( "???" ); public static final String APP_URL = "http://www.ftlgame.com/forum/viewtopic.php?f=12&t=17102"; public static final String APP_AUTHOR = "Vhati"; diff --git a/src/main/java/net/vhati/modmanager/core/AutoUpdateInfo.java b/src/main/java/net/vhati/modmanager/core/AutoUpdateInfo.java index 65006f7..1c3b1ca 100644 --- a/src/main/java/net/vhati/modmanager/core/AutoUpdateInfo.java +++ b/src/main/java/net/vhati/modmanager/core/AutoUpdateInfo.java @@ -14,6 +14,7 @@ import net.vhati.modmanager.core.ComparableVersion; public class AutoUpdateInfo { private ComparableVersion latestVersion = null; private Map latestURLs = new TreeMap(); + private String notice = null; private Map> changelog = new TreeMap>( Collections.reverseOrder() ); @@ -26,6 +27,15 @@ public class AutoUpdateInfo { } + public void setNotice( String s ) { + notice = s; + } + + public String getNotice() { + return notice; + } + + public void putLatestURL( String os, String url ) { latestURLs.put( os, url ); } @@ -35,6 +45,7 @@ public class AutoUpdateInfo { } + public Map getLatestURLs() { return latestURLs; } diff --git a/src/main/java/net/vhati/modmanager/json/JacksonAutoUpdateReader.java b/src/main/java/net/vhati/modmanager/json/JacksonAutoUpdateReader.java index 8b9dd62..247e5e8 100644 --- a/src/main/java/net/vhati/modmanager/json/JacksonAutoUpdateReader.java +++ b/src/main/java/net/vhati/modmanager/json/JacksonAutoUpdateReader.java @@ -49,6 +49,8 @@ public class JacksonAutoUpdateReader { aui.putLatestURL( entry.getKey(), entry.getValue().textValue() ); } + aui.setNotice( latestNode.get( "notice" ).textValue() ); + JsonNode changelogNode = historyNode.get( "changelog" ); for ( JsonNode releaseNode : changelogNode ) { diff --git a/src/main/java/net/vhati/modmanager/ui/ManagerFrame.java b/src/main/java/net/vhati/modmanager/ui/ManagerFrame.java index 60bb32c..14d346b 100644 --- a/src/main/java/net/vhati/modmanager/ui/ManagerFrame.java +++ b/src/main/java/net/vhati/modmanager/ui/ManagerFrame.java @@ -679,20 +679,11 @@ public class ManagerFrame extends JFrame implements ActionListener, HashObserver public void showAppUpdateInfo() { StringBuilder buf = new StringBuilder(); - for ( Map.Entry> entry : appUpdateInfo.getChangelog().entrySet() ) { - if ( appVersion.compareTo( entry.getKey() ) >= 0 ) break; - - if ( buf.length() > 0 ) buf.append( "\n" ); - buf.append( entry.getKey() ).append( ":\n" ); - - for ( String change : entry.getValue() ) { - buf.append( " - " ).append( change ).append( "\n" ); - } - } - try { infoArea.clear(); infoArea.appendTitleText( "What's New\n" ); + + // Links. infoArea.appendRegularText( String.format( "Version %s: ", appUpdateInfo.getLatestVersion().toString() ) ); boolean first = true; for ( Map.Entry entry : appUpdateInfo.getLatestURLs().entrySet() ) { @@ -704,7 +695,27 @@ public class ManagerFrame extends JFrame implements ActionListener, HashObserver } infoArea.appendRegularText( "\n" ); infoArea.appendRegularText( "\n" ); + + // Notice. + if ( appUpdateInfo.getNotice() != null && appUpdateInfo.getNotice().length() > 0 ) { + infoArea.appendRegularText( appUpdateInfo.getNotice() ); + infoArea.appendRegularText( "\n" ); + infoArea.appendRegularText( "\n" ); + } + + // Changelog. + for ( Map.Entry> entry : appUpdateInfo.getChangelog().entrySet() ) { + if ( appVersion.compareTo( entry.getKey() ) >= 0 ) break; + + if ( buf.length() > 0 ) buf.append( "\n" ); + buf.append( entry.getKey() ).append( ":\n" ); + + for ( String change : entry.getValue() ) { + buf.append( " - " ).append( change ).append( "\n" ); + } + } infoArea.appendRegularText( buf.toString() ); + infoArea.setCaretPosition( 0 ); } catch ( Exception e ) {