[Git][java-team/sweethome3d-furniture-editor][master] 8 commits: Switch to debhelper-compat = 13.
Markus Koschany
gitlab at salsa.debian.org
Mon Apr 20 00:26:26 BST 2020
Markus Koschany pushed to branch master at Debian Java Maintainers / sweethome3d-furniture-editor
Commits:
bca75310 by Markus Koschany at 2020-04-20T00:49:22+02:00
Switch to debhelper-compat = 13.
- - - - -
d568d97c by Markus Koschany at 2020-04-20T00:49:35+02:00
Declare compliance with Debian Policy 4.5.0.
- - - - -
e233fb5c by Markus Koschany at 2020-04-20T00:50:22+02:00
Update copyright years.
- - - - -
188d67a0 by Markus Koschany at 2020-04-20T00:50:52+02:00
Remove get-orig-source target
- - - - -
3e24daf7 by Markus Koschany at 2020-04-20T00:51:05+02:00
New upstream version 1.25
- - - - -
fafc4247 by Markus Koschany at 2020-04-20T00:51:06+02:00
Update upstream source from tag 'upstream/1.25'
Update to upstream version '1.25'
with Debian dir c579b3a917a7e67227f99a5db18aa9ec391568c5
- - - - -
a8f58c06 by Markus Koschany at 2020-04-20T00:52:23+02:00
Update changelog
- - - - -
500143ba by Markus Koschany at 2020-04-20T01:22:20+02:00
Refresh build.patch
- - - - -
14 changed files:
- LICENSE.TXT
- README.TXT
- build.xml
- debian/changelog
- − debian/compat
- debian/control
- debian/copyright
- debian/patches/build.patch
- debian/rules
- src/com/eteks/furniturelibraryeditor/io/FurnitureLibraryFileRecorder.java
- src/com/eteks/furniturelibraryeditor/swing/package.properties
- src/com/eteks/furniturelibraryeditor/swing/package_fr.properties
- src/com/eteks/furniturelibraryeditor/viewcontroller/DefaultCategories_vi.properties
- src/com/eteks/furniturelibraryeditor/viewcontroller/DefaultCategories_zh_TW.properties
Changes:
=====================================
LICENSE.TXT
=====================================
@@ -1,4 +1,4 @@
-Furniture Library Editor, Copyright (c) 2010-2018 Emmanuel PUYBARET / eTeks
+Furniture Library Editor, Copyright (c) 2010-2020 Emmanuel PUYBARET / eTeks
This software is licensed by eTeks under GNU General Public License.
Please, read COPYING.TXT file for more details about GNU General Public License.
=====================================
README.TXT
=====================================
@@ -1,18 +1,18 @@
-FURNITURE LIBRARY EDITOR v 1.24
+FURNITURE LIBRARY EDITOR v 1.25
-------------------------------
This archive contains source code of the Furniture Library Editor for Sweet Home 3D.
You may also download this source code with the following SVN command:
-svn checkout https://svn.code.sf.net/p/sweethome3d/code/tags/V_1_24/FurnitureLibraryEditor FurnitureLibraryEditor
+svn checkout https://svn.code.sf.net/p/sweethome3d/code/tags/V_1_25/FurnitureLibraryEditor FurnitureLibraryEditor
As this project depends on Sweet Home 3D, download and install also Sweet Home 3D source code from
-http://prdownloads.sourceforge.net/sweethome3d/SweetHome3D-6.1-src.zip
+http://prdownloads.sourceforge.net/sweethome3d/SweetHome3D-6.3-src.zip
or with the following SVN command:
-svn checkout https://svn.code.sf.net/p/sweethome3d/code/tags/V_6_1/SweetHome3D SweetHome3D
+svn checkout https://svn.code.sf.net/p/sweethome3d/code/tags/V_6_3/SweetHome3D SweetHome3D
HOW TO USE THIS SOURCE CODE
@@ -61,4 +61,4 @@ Read LICENSE.TXT file for more details about licenses applicable to this softwar
and included materials developed by third parties.
-Copyright (c) 2010-2018 Emmanuel Puybaret / eTeks. Distributed under GNU General Public License
\ No newline at end of file
+Copyright (c) 2010-2020 Emmanuel Puybaret / eTeks. Distributed under GNU General Public License
\ No newline at end of file
=====================================
build.xml
=====================================
@@ -10,7 +10,7 @@
-->
<project basedir="." default="furnitureLibraryEditorJarExecutable" name="FurnitureLibraryEditor">
<!-- The current version of the Furniture Library Editor -->
- <property name="version" value="1.24"/>
+ <property name="version" value="1.25"/>
<target name="furnitureLibraryEditor"
description="Builds build/FurnitureLibraryEditor.jar with all its classes">
@@ -24,6 +24,7 @@
</extdirs>
<classpath>
<pathelement location="../SweetHome3D/libtest/AppleJavaExtensions.jar"/>
+ <pathelement location="../SweetHome3D/libtest/javaAwtDesktop.jar"/>
<pathelement location="../SweetHome3D/libtest/jnlp.jar"/>
</classpath>
</javac>
=====================================
debian/changelog
=====================================
@@ -1,3 +1,12 @@
+sweethome3d-furniture-editor (1.25-1) unstable; urgency=medium
+
+ * New upstream version 1.25.
+ * Switch to debhelper-compat = 13.
+ * Declare compliance with Debian Policy 4.5.0.
+ * Remove get-orig-source target.
+
+ -- Markus Koschany <apo at debian.org> Mon, 20 Apr 2020 00:52:03 +0200
+
sweethome3d-furniture-editor (1.24-2) unstable; urgency=medium
* Depend on icedtea-netx instead of icedtea-netx-common.
=====================================
debian/compat deleted
=====================================
@@ -1 +0,0 @@
-11
=====================================
debian/control
=====================================
@@ -7,12 +7,12 @@ Uploaders:
Markus Koschany <apo at debian.org>
Build-Depends:
ant,
- debhelper (>= 11),
+ debhelper-compat (= 13),
default-jdk,
imagemagick,
sweethome3d (>= 5.7),
unzip
-Standards-Version: 4.3.0
+Standards-Version: 4.5.0
Homepage: http://www.sweethome3d.com
Vcs-Git: https://salsa.debian.org/java-team/sweethome3d-furniture-editor.git
Vcs-Browser: https://salsa.debian.org/java-team/sweethome3d-furniture-editor
=====================================
debian/copyright
=====================================
@@ -3,7 +3,7 @@ Upstream-Name: Sweet Home 3D Furniture Library Editor
Source: http://www.sweethome3d.com
Files: *
-Copyright: 2010-2019, Emmanuel Puybaret, eTeks <info at eteks.com>
+Copyright: 2010-2020, Emmanuel Puybaret, eTeks <info at eteks.com>
License: GPL-2+
Files: src/com/eteks/sweethome3d/swing/resources/icons/tango/*
@@ -16,7 +16,7 @@ License: public-domain
Files: debian/*
Copyright: 2012, Gabriele Giacone <1o5g4r8o at gmail.com>
- 2016-2019, Markus Koschany <apo at debian.org>
+ 2016-2020, Markus Koschany <apo at debian.org>
License: GPL-2+
License: GPL-2+
=====================================
debian/patches/build.patch
=====================================
@@ -26,8 +26,8 @@ Forwarded: not-needed
<extdirs>
<pathelement location="../SweetHome3D/lib"/>
</extdirs>
-@@ -26,7 +28,7 @@
- <pathelement location="../SweetHome3D/libtest/AppleJavaExtensions.jar"/>
+@@ -27,7 +29,7 @@
+ <pathelement location="../SweetHome3D/libtest/javaAwtDesktop.jar"/>
<pathelement location="../SweetHome3D/libtest/jnlp.jar"/>
</classpath>
- </javac>
@@ -35,7 +35,7 @@ Forwarded: not-needed
<!-- Compile Furniture Library Editor -->
<javac srcdir="src" destdir="build/classes"
encoding="ISO-8859-1" target="1.5">
-@@ -35,7 +37,10 @@
+@@ -36,7 +38,10 @@
</extdirs>
<classpath>
<pathelement location="build/classes"/>
@@ -47,7 +47,7 @@ Forwarded: not-needed
<pathelement location="../SweetHome3D/libtest/AppleJavaExtensions.jar"/>
</classpath>
</javac>
-@@ -48,12 +53,12 @@
+@@ -49,12 +54,12 @@
</fileset>
</copy>
<copy todir="build/classes">
@@ -62,7 +62,7 @@ Forwarded: not-needed
<exclude name="com/eteks/sweethome3d/io/Contributed*.*"/>
<exclude name="com/eteks/sweethome3d/io/DefaultTextures*.*"/>
<exclude name="com/eteks/sweethome3d/io/resources/**"/>
-@@ -62,10 +67,10 @@
+@@ -63,10 +68,10 @@
</fileset>
</copy>
<copy todir="build/classes">
@@ -75,7 +75,7 @@ Forwarded: not-needed
<exclude name="com/eteks/sweethome3d/io/Contributed*.*"/>
<exclude name="com/eteks/sweethome3d/io/DefaultTextures*.*"/>
</fileset>
-@@ -134,15 +139,16 @@
+@@ -135,15 +140,16 @@
</zip>
</target>
@@ -94,7 +94,7 @@ Forwarded: not-needed
<fileset dir="../SweetHome3D/lib">
<include name="*.jar"/>
<include name="macosx/*.jar"/>
-@@ -173,7 +179,7 @@
+@@ -174,7 +180,7 @@
<include name="THIRDPARTY-LICENSE-JAVA3D.TXT"/>
<include name="THIRDPARTY-LICENSE-TANGO.TXT"/>
<include name="THIRDPARTY-LICENSE-CONTRIBUTIONS.TXT"/>
=====================================
debian/rules
=====================================
@@ -31,12 +31,3 @@ override_dh_auto_clean:
rm -rf debian/icons
dh_clean
-TXZ=$(NAME)_$(VERS).orig.tar.xz
-TMPDIR=_tmpdir
-get-orig-source:
- rm -f ../$(TXZ)
- mkdir -p $(TMPDIR)
- uscan --verbose --download-version $(VERS) --force-download --destdir $(TMPDIR)
- unzip -q $(TMPDIR)/*.zip -d $(TMPDIR)
- cd $(TMPDIR)/*-src; tar Jcvf ../../../$(TXZ) .
- rm -rf $(TMPDIR)
=====================================
src/com/eteks/furniturelibraryeditor/io/FurnitureLibraryFileRecorder.java
=====================================
@@ -40,7 +40,6 @@ import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
@@ -52,7 +51,6 @@ import java.util.Map;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import java.util.Set;
-import java.util.TreeSet;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
@@ -80,26 +78,26 @@ import com.eteks.sweethome3d.tools.URLContent;
* @author Emmanuel Puybaret
*/
public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
- private static final String [] IGNORED_EXTENSIONS = {".max", ".lwo", ".dxf"};
+ private static final String [] IGNORED_EXTENSIONS = {".gsm", ".max", ".lwo", ".dxf"};
private static final Locale DEFAULT_LOCALE = new Locale("");
private static final NumberFormat DECIMAL_FORMAT = new DecimalFormat("0.#####", DecimalFormatSymbols.getInstance(Locale.ENGLISH));
-
- private static final String ID = "id";
- private static final String NAME = "name";
- private static final String DESCRIPTION = "description";
- private static final String VERSION = "version";
- private static final String LICENSE = "license";
+
+ private static final String ID = "id";
+ private static final String NAME = "name";
+ private static final String DESCRIPTION = "description";
+ private static final String VERSION = "version";
+ private static final String LICENSE = "license";
private static final String PROVIDER = "provider";
-
+
/**
* Reads a furniture library from the given file, after clearing the given library.
*/
- public void readFurnitureLibrary(final FurnitureLibrary furnitureLibrary,
+ public void readFurnitureLibrary(final FurnitureLibrary furnitureLibrary,
String furnitureLibraryLocation,
FurnitureLibraryUserPreferences preferences) throws RecorderException {
readFurnitureLibrary(furnitureLibrary, furnitureLibraryLocation, preferences, false);
}
-
+
/**
* Merges a furniture library with one in the given file.
*/
@@ -112,12 +110,12 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
/**
* Reads a furniture library from the given file.
*/
- private void readFurnitureLibrary(final FurnitureLibrary furnitureLibrary,
- String furnitureLibraryLocation,
- FurnitureLibraryUserPreferences preferences,
+ private void readFurnitureLibrary(final FurnitureLibrary furnitureLibrary,
+ String furnitureLibraryLocation,
+ FurnitureLibraryUserPreferences preferences,
final boolean mergeLibrary) throws RecorderException {
try {
- // Retrieve furniture library with default reader and locale
+ // Retrieve furniture library with default reader and locale
Locale defaultLocale = Locale.getDefault();
Locale.setDefault(DEFAULT_LOCALE);
File furnitureLibraryFile = File.createTempFile("furniture", ".sh3f");
@@ -152,7 +150,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
}
return piece;
}
-
+
private String getOptionalString(ResourceBundle resource, String propertyKey) {
try {
return resource.getString(propertyKey);
@@ -161,10 +159,10 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
}
}
};
-
+
// Search which locales are supported
List<ZipEntry> zipEntries = getZipEntries(furnitureLibraryUrl);
- Set<Locale> supportedLocales = new HashSet<Locale>();
+ Set<Locale> supportedLocales = new HashSet<Locale>();
for (ZipEntry zipEntry : zipEntries) {
String entryName = zipEntry.getName();
if (entryName.startsWith(DefaultFurnitureCatalog.PLUGIN_FURNITURE_CATALOG_FAMILY)
@@ -185,7 +183,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
// Get furniture name, description, information, tags and category name in each supported locale
for (Locale locale : supportedLocales) {
- if (!FurnitureLibrary.DEFAULT_LANGUAGE.equals(locale.toString())) {
+ if (!FurnitureLibrary.DEFAULT_LANGUAGE.equals(locale.toString())) {
Locale.setDefault(locale);
final String language = locale.toString();
new DefaultFurnitureCatalog(new URL [] {furnitureLibraryUrl}, furnitureResourcesUrlBase) {
@@ -198,15 +196,15 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
if (piece != null) {
FurnitureCategory category = super.readFurnitureCategory(resource, index);
CatalogPieceOfFurniture furnitureLibraryPiece = furniture.get(index - 1);
- furnitureLibrary.setPieceOfFurnitureLocalizedData(furnitureLibraryPiece, language,
+ furnitureLibrary.setPieceOfFurnitureLocalizedData(furnitureLibraryPiece, language,
FurnitureLibrary.FURNITURE_NAME_PROPERTY, piece.getName());
- furnitureLibrary.setPieceOfFurnitureLocalizedData(furnitureLibraryPiece, language,
+ furnitureLibrary.setPieceOfFurnitureLocalizedData(furnitureLibraryPiece, language,
FurnitureLibrary.FURNITURE_DESCRIPTION_PROPERTY, piece.getDescription());
- furnitureLibrary.setPieceOfFurnitureLocalizedData(furnitureLibraryPiece, language,
+ furnitureLibrary.setPieceOfFurnitureLocalizedData(furnitureLibraryPiece, language,
FurnitureLibrary.FURNITURE_INFORMATION_PROPERTY, piece.getInformation());
- furnitureLibrary.setPieceOfFurnitureLocalizedData(furnitureLibraryPiece, language,
+ furnitureLibrary.setPieceOfFurnitureLocalizedData(furnitureLibraryPiece, language,
FurnitureLibrary.FURNITURE_TAGS_PROPERTY, piece.getTags());
- furnitureLibrary.setPieceOfFurnitureLocalizedData(furnitureLibraryPiece, language,
+ furnitureLibrary.setPieceOfFurnitureLocalizedData(furnitureLibraryPiece, language,
FurnitureLibrary.FURNITURE_CATEGORY_PROPERTY, category.getName());
}
return piece;
@@ -214,7 +212,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
};
}
}
-
+
Locale.setDefault(defaultLocale);
} catch (IOException ex) {
throw new RecorderException("Invalid furniture library file " + furnitureLibraryLocation, ex);
@@ -235,32 +233,32 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
return new Locale(localeString.substring(1, 3), localeString.substring(4));
} else {
return DEFAULT_LOCALE;
- }
+ }
}
-
+
/**
- * Writes furniture library in the <code>furnitureLibraryName</code> file.
+ * Writes furniture library in the <code>furnitureLibraryName</code> file.
*/
public void writeFurnitureLibrary(FurnitureLibrary furnitureLibrary,
String furnitureLibraryName,
FurnitureLibraryUserPreferences userPreferences) throws RecorderException {
- writeFurnitureLibrary(furnitureLibrary, furnitureLibraryName,
- userPreferences.isFurnitureLibraryOffline(),
+ writeFurnitureLibrary(furnitureLibrary, furnitureLibraryName,
+ userPreferences.isFurnitureLibraryOffline(),
userPreferences.isContentMatchingFurnitureName(),
- userPreferences.getFurnitureResourcesLocalDirectory(),
+ userPreferences.getFurnitureResourcesLocalDirectory(),
userPreferences.getFurnitureResourcesRemoteURLBase());
}
/**
- * Writes furniture library .properties files in the <code>furnitureLibraryName</code> file.
- * @param offlineFurnitureLibrary if <code>offlineFurnitureLibrary</code> is <code>true</code> content
+ * Writes furniture library .properties files in the <code>furnitureLibraryName</code> file.
+ * @param offlineFurnitureLibrary if <code>offlineFurnitureLibrary</code> is <code>true</code> content
* referenced by furniture is always embedded in the file
- * @param contentMatchingFurnitureName <code>true</code> if the furniture content saved with the library
- * should be named from the furniture name in the default language
+ * @param contentMatchingFurnitureName <code>true</code> if the furniture content saved with the library
+ * should be named from the furniture name in the default language
* @param furnitureResourcesLocalDirectory directory where content referenced by furniture will be saved
* if it isn't <code>null</code>
- * @param furnitureResourcesRemoteUrlBase URL base used for content referenced by furniture in .properties file
- * if <code>furnitureResourcesLocalDirectory</code> isn't <code>null</code>
+ * @param furnitureResourcesRemoteUrlBase URL base used for content referenced by furniture in .properties file
+ * if <code>furnitureResourcesLocalDirectory</code> isn't <code>null</code>
*/
private void writeFurnitureLibrary(FurnitureLibrary furnitureLibrary,
String furnitureLibraryLocation,
@@ -270,7 +268,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
String furnitureResourcesRemoteUrlBase) throws RecorderException {
URL furnitureResourcesRemoteAbsoluteUrlBase = null;
String furnitureResourcesRemoteRelativeUrlBase = null;
- if (!offlineFurnitureLibrary
+ if (!offlineFurnitureLibrary
&& furnitureResourcesLocalDirectory != null
&& furnitureResourcesRemoteUrlBase != null) {
try {
@@ -286,22 +284,22 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
}
}
}
-
+
ZipOutputStream zipOut = null;
Map<Content, String> contentEntries = new HashMap<Content, String>();
File furnitureLibraryFile = new File(furnitureLibraryLocation);
File tmpFile = null;
try {
- tmpFile = File.createTempFile("temp", ".sh3f");
+ tmpFile = File.createTempFile("temp", ".sh3f");
OutputStream out = new FileOutputStream(tmpFile);
if (out != null) {
- // Create a zip output on file
+ // Create a zip output on file
zipOut = new ZipOutputStream(out);
- // Write furniture description file in first entry
+ // Write furniture description file in first entry
zipOut.putNextEntry(new ZipEntry(DefaultFurnitureCatalog.PLUGIN_FURNITURE_CATALOG_FAMILY + ".properties"));
- writeFurnitureLibraryProperties(zipOut, furnitureLibrary, furnitureLibraryFile,
+ writeFurnitureLibraryProperties(zipOut, furnitureLibrary, furnitureLibraryFile,
offlineFurnitureLibrary, contentMatchingFurnitureName,
- furnitureResourcesRemoteAbsoluteUrlBase, furnitureResourcesRemoteRelativeUrlBase,
+ furnitureResourcesRemoteAbsoluteUrlBase, furnitureResourcesRemoteRelativeUrlBase,
contentEntries);
zipOut.closeEntry();
// Write supported languages description files
@@ -311,7 +309,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
writeFurnitureLibraryLocalizedProperties(zipOut, furnitureLibrary, language);
zipOut.closeEntry();
}
- }
+ }
// Write Content objects in files
writeContents(zipOut, offlineFurnitureLibrary, furnitureResourcesLocalDirectory, contentEntries);
// Finish zip writing
@@ -337,25 +335,25 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
/**
* Writes in <code>output</code> the given furniture library
- * with properties as defined as in <code>DefaultFurnitureCatalog</code>.
+ * with properties as defined as in <code>DefaultFurnitureCatalog</code>.
*/
private void writeFurnitureLibraryProperties(OutputStream output,
FurnitureLibrary furnitureLibrary,
File furnitureLibraryFile,
- boolean offlineFurnitureLibrary,
+ boolean offlineFurnitureLibrary,
boolean contentMatchingFurnitureName,
URL furnitureResourcesRemoteAbsoluteUrlBase,
- String furnitureResourcesRemoteRelativeUrlBase,
+ String furnitureResourcesRemoteRelativeUrlBase,
Map<Content, String> contentEntries) throws IOException {
boolean keepURLContentUnchanged = !offlineFurnitureLibrary
- && furnitureResourcesRemoteAbsoluteUrlBase == null
+ && furnitureResourcesRemoteAbsoluteUrlBase == null
&& furnitureResourcesRemoteRelativeUrlBase == null;
DateFormat creationDateFormat = new SimpleDateFormat("yyyy-MM-dd");
// Store existing entries in lower case to be able to compare their names ignoring case
Set<String> existingEntryNamesLowerCase = new HashSet<String>();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(output, "ISO-8859-1"));
- final String CATALOG_FILE_HEADER = "#\n# "
- + DefaultFurnitureCatalog.PLUGIN_FURNITURE_CATALOG_FAMILY + ".properties %tc\n"
+ final String CATALOG_FILE_HEADER = "#\n# "
+ + DefaultFurnitureCatalog.PLUGIN_FURNITURE_CATALOG_FAMILY + ".properties %tc\n"
+ "# Generated by Furniture Library Editor\n#\n";
writer.write(String.format(CATALOG_FILE_HEADER, new Date()));
writer.newLine();
@@ -365,7 +363,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
writeProperty(writer, VERSION, furnitureLibrary.getVersion());
writeProperty(writer, LICENSE, furnitureLibrary.getLicense());
writeProperty(writer, PROVIDER, furnitureLibrary.getProvider());
-
+
int i = 1;
for (CatalogPieceOfFurniture piece : furnitureLibrary.getFurniture()) {
writer.newLine();
@@ -380,7 +378,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
}
Long creationDate = piece.getCreationDate();
if (creationDate != null) {
- writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.CREATION_DATE, i,
+ writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.CREATION_DATE, i,
creationDateFormat.format(new Date(piece.getCreationDate())));
}
if (piece.getGrade() != null) {
@@ -407,29 +405,29 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
contentBaseName = contentBaseName.replace('%', '_').replace('#', '_');
Content pieceIcon = piece.getIcon();
String iconContentEntryName = contentEntries.get(pieceIcon);
- // If piece icon content not referenced yet among saved content
+ // If piece icon content not referenced yet among saved content
if (iconContentEntryName == null) {
- iconContentEntryName = getContentEntry(pieceIcon, contentBaseName + ".png",
+ iconContentEntryName = getContentEntry(pieceIcon, contentBaseName + ".png",
keepURLContentUnchanged, existingEntryNamesLowerCase);
if (iconContentEntryName != null) {
contentEntries.put(pieceIcon, iconContentEntryName);
}
}
- writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.ICON, i,
- getContentProperty(pieceIcon, iconContentEntryName, offlineFurnitureLibrary,
+ writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.ICON, i,
+ getContentProperty(pieceIcon, iconContentEntryName, offlineFurnitureLibrary,
furnitureResourcesRemoteAbsoluteUrlBase, furnitureResourcesRemoteRelativeUrlBase));
Content piecePlanIcon = piece.getPlanIcon();
if (piecePlanIcon != null) {
String planIconContentEntryName = contentEntries.get(piecePlanIcon);
// If plan icon content not referenced yet among saved content
if (planIconContentEntryName == null) {
- planIconContentEntryName = getContentEntry(piecePlanIcon, contentBaseName + "PlanIcon.png",
+ planIconContentEntryName = getContentEntry(piecePlanIcon, contentBaseName + "PlanIcon.png",
keepURLContentUnchanged, existingEntryNamesLowerCase);
if (planIconContentEntryName != null) {
contentEntries.put(piecePlanIcon, planIconContentEntryName);
}
}
- writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.PLAN_ICON, i,
+ writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.PLAN_ICON, i,
getContentProperty(piecePlanIcon, planIconContentEntryName, offlineFurnitureLibrary,
furnitureResourcesRemoteAbsoluteUrlBase, furnitureResourcesRemoteRelativeUrlBase));
}
@@ -445,19 +443,19 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
String jarEntryName = ((URLContent)pieceModel).getJAREntryName();
modelContentEntryName = getContentEntry(pieceModel,
pieceModel instanceof TemporaryURLContent
- ? contentBaseName + "/" + jarEntryName
- : contentBaseName + "/" + jarEntryName.substring(jarEntryName.lastIndexOf('/') + 1),
+ ? contentBaseName + "/" + jarEntryName
+ : contentBaseName + "/" + jarEntryName.substring(jarEntryName.lastIndexOf('/') + 1),
keepURLContentUnchanged, existingEntryNamesLowerCase);
} else {
- modelContentEntryName = getContentEntry(pieceModel,
+ modelContentEntryName = getContentEntry(pieceModel,
contentBaseName + ".obj", keepURLContentUnchanged, existingEntryNamesLowerCase);
}
if (modelContentEntryName != null) {
contentEntries.put(pieceModel, modelContentEntryName);
}
}
- writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.MODEL, i,
- getContentProperty(pieceModel, modelContentEntryName, offlineFurnitureLibrary,
+ writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.MODEL, i,
+ getContentProperty(pieceModel, modelContentEntryName, offlineFurnitureLibrary,
furnitureResourcesRemoteAbsoluteUrlBase, furnitureResourcesRemoteRelativeUrlBase));
if (multipart) {
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.MULTI_PART_MODEL, i, "true");
@@ -466,7 +464,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DEPTH, i, piece.getDepth());
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.HEIGHT, i, piece.getHeight());
if (Math.abs(piece.getDropOnTopElevation() - 1f) > 1E-6f) {
- writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DROP_ON_TOP_ELEVATION, i,
+ writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DROP_ON_TOP_ELEVATION, i,
piece.getDropOnTopElevation() * piece.getHeight());
}
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.MOVABLE, i, piece.isMovable());
@@ -475,23 +473,23 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
// Write properties specific to doors and windows
DoorOrWindow doorOrWindow = (DoorOrWindow)piece;
if (doorOrWindow.getCutOutShape() != null) {
- writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_CUT_OUT_SHAPE, i,
+ writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_CUT_OUT_SHAPE, i,
doorOrWindow.getCutOutShape());
}
if (doorOrWindow.getWallThickness() != 1) {
- writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_WALL_THICKNESS, i,
+ writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_WALL_THICKNESS, i,
doorOrWindow.getWallThickness() * doorOrWindow.getDepth());
}
if (doorOrWindow.getWallDistance() != 0) {
- writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_WALL_DISTANCE, i,
+ writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_WALL_DISTANCE, i,
doorOrWindow.getWallDistance() * doorOrWindow.getDepth());
}
if (!doorOrWindow.isWallCutOutOnBothSides()) {
- writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_WALL_CUT_OUT_ON_BOTH_SIDES, i,
+ writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_WALL_CUT_OUT_ON_BOTH_SIDES, i,
doorOrWindow.isWallCutOutOnBothSides());
}
if (!doorOrWindow.isWidthDepthDeformable()) {
- writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_WIDTH_DEPTH_DEFORMABLE, i,
+ writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_WIDTH_DEPTH_DEFORMABLE, i,
doorOrWindow.isWidthDepthDeformable());
}
Sash [] sashes = doorOrWindow.getSashes();
@@ -514,7 +512,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
sashWidth += DECIMAL_FORMAT.format(sashes [sashIndex].getWidth() * doorOrWindow.getWidth());
sashStartAngle += Math.round(Math.toDegrees(sashes [sashIndex].getStartAngle()) * 100) / 100;
sashEndAngle += Math.round(Math.toDegrees(sashes [sashIndex].getEndAngle()) * 100) / 100;
- }
+ }
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_SASH_X_AXIS, i, sashXAxis);
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_SASH_Y_AXIS, i, sashYAxis);
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.DOOR_OR_WINDOW_SASH_WIDTH, i, sashWidth);
@@ -552,7 +550,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
}
lightSourceDiameter += DECIMAL_FORMAT.format(lightSources [lightIndex].getDiameter() * light.getWidth());
}
- }
+ }
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.LIGHT_SOURCE_X, i, lightSourceX);
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.LIGHT_SOURCE_Y, i, lightSourceY);
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.LIGHT_SOURCE_Z, i, lightSourceZ);
@@ -564,7 +562,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
writeProperty(writer, DefaultFurnitureCatalog.PropertyKey.ELEVATION, i, piece.getElevation());
}
float [][] modelRotation = piece.getModelRotation();
- String modelRotationString =
+ String modelRotationString =
floatToString(modelRotation[0][0]) + " " + floatToString(modelRotation[0][1]) + " " + floatToString(modelRotation[0][2]) + " "
+ floatToString(modelRotation[1][0]) + " " + floatToString(modelRotation[1][1]) + " " + floatToString(modelRotation[1][2]) + " "
+ floatToString(modelRotation[2][0]) + " " + floatToString(modelRotation[2][1]) + " " + floatToString(modelRotation[2][2]);
@@ -602,7 +600,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
}
writer.flush();
}
-
+
/**
* Returns the string value of the given float, except for -1.0, 1.0 or 0.0 where -1, 1 and 0 is returned.
*/
@@ -617,28 +615,28 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
return String.valueOf(f);
}
}
-
+
/**
* Writes in <code>output</code> the given furniture library
- * with properties as defined as in <code>DefaultFurnitureCatalog</code>.
+ * with properties as defined as in <code>DefaultFurnitureCatalog</code>.
*/
private void writeFurnitureLibraryLocalizedProperties(OutputStream output,
FurnitureLibrary furnitureLibrary,
String language) throws IOException {
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(output, "ISO-8859-1"));
- final String CATALOG_FILE_HEADER = "#\n# "
- + DefaultFurnitureCatalog.PLUGIN_FURNITURE_CATALOG_FAMILY + "_" + language + ".properties %tc\n"
+ final String CATALOG_FILE_HEADER = "#\n# "
+ + DefaultFurnitureCatalog.PLUGIN_FURNITURE_CATALOG_FAMILY + "_" + language + ".properties %tc\n"
+ "# Generated by Furniture Library Editor\n#\n";
writer.write(String.format(CATALOG_FILE_HEADER, new Date()));
-
+
Map<String, DefaultFurnitureCatalog.PropertyKey> localizedProperties = new LinkedHashMap<String, DefaultFurnitureCatalog.PropertyKey>();
localizedProperties.put(FurnitureLibrary.FURNITURE_NAME_PROPERTY, DefaultFurnitureCatalog.PropertyKey.NAME);
localizedProperties.put(FurnitureLibrary.FURNITURE_DESCRIPTION_PROPERTY, DefaultFurnitureCatalog.PropertyKey.DESCRIPTION);
localizedProperties.put(FurnitureLibrary.FURNITURE_INFORMATION_PROPERTY, DefaultFurnitureCatalog.PropertyKey.INFORMATION);
localizedProperties.put(FurnitureLibrary.FURNITURE_TAGS_PROPERTY, DefaultFurnitureCatalog.PropertyKey.TAGS);
localizedProperties.put(FurnitureLibrary.FURNITURE_CATEGORY_PROPERTY, DefaultFurnitureCatalog.PropertyKey.CATEGORY);
-
- int i = 1;
+
+ int i = 1;
for (CatalogPieceOfFurniture piece : furnitureLibrary.getFurniture()) {
writer.newLine();
for (Map.Entry<String, DefaultFurnitureCatalog.PropertyKey> localizedPropertyEntry : localizedProperties.entrySet()) {
@@ -652,17 +650,17 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
}
writer.flush();
}
-
+
/**
* Returns the entry name of a <code>content</code>.
*/
private String getContentEntry(Content content,
String entryName,
- boolean keepURLContentUnchanged,
+ boolean keepURLContentUnchanged,
Set<String> existingEntryNamesLowerCase) throws IOException {
if (content instanceof TemporaryURLContent
|| content instanceof ResourceURLContent) {
- int slashIndex = entryName.indexOf('/');
+ int slashIndex = entryName.indexOf('/');
if (slashIndex == -1) {
if (existingEntryNamesLowerCase.contains(entryName.toLowerCase())) {
// Search an unexisting entry name
@@ -670,8 +668,8 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
String defaultEntryName = entryName;
do {
int dotIndex = defaultEntryName.lastIndexOf('.');
- entryName = defaultEntryName.substring(0, dotIndex)
- + i++ + defaultEntryName.substring(dotIndex);
+ entryName = defaultEntryName.substring(0, dotIndex)
+ + i++ + defaultEntryName.substring(dotIndex);
} while (existingEntryNamesLowerCase.contains(entryName.toLowerCase()));
}
} else {
@@ -690,7 +688,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
}
if (entryDirectoryExists) {
entryDirectory = entryName.substring(0, slashIndex) + i++ + "/";
- } else {
+ } else {
entryName = entryDirectory + entryName.substring(slashIndex + 1);
break;
}
@@ -730,8 +728,8 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
* Returns the property value saved for a resource <code>content</code>.
*/
private String getContentProperty(Content content,
- String entryName,
- boolean offlineFurnitureLibrary,
+ String entryName,
+ boolean offlineFurnitureLibrary,
URL furnitureResourcesRemoteAbsoluteUrlBase,
String furnitureResourcesRemoteRelativeUrlBase) throws IOException {
if (offlineFurnitureLibrary
@@ -752,10 +750,10 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
} else {
String encodedEntry = URLEncoder.encode(entryName.substring(slashIndex + 1), "UTF-8").replace("+", "%20").replace("%2F", "/");
if (furnitureResourcesRemoteAbsoluteUrlBase != null) {
- return "jar:" + new URL(furnitureResourcesRemoteAbsoluteUrlBase, entryName.substring(0, slashIndex) + ".zip")
+ return "jar:" + new URL(furnitureResourcesRemoteAbsoluteUrlBase, entryName.substring(0, slashIndex) + ".zip")
+ "!/" + encodedEntry;
} else {
- return furnitureResourcesRemoteRelativeUrlBase + entryName.substring(0, slashIndex) + ".zip"
+ return furnitureResourcesRemoteRelativeUrlBase + entryName.substring(0, slashIndex) + ".zip"
+ "!/" + encodedEntry;
}
}
@@ -763,13 +761,13 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
return ((URLContent)content).getURL().toString();
}
}
-
+
/**
* Writes the (<code>key</code>, <code>value</code>) of a property
* in <code>writer</code>.
*/
- private void writeProperty(BufferedWriter writer,
- DefaultFurnitureCatalog.PropertyKey key,
+ private void writeProperty(BufferedWriter writer,
+ DefaultFurnitureCatalog.PropertyKey key,
int index, Object value) throws IOException {
writeProperty(writer, key.getKey(index), value);
}
@@ -778,12 +776,13 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
* Writes the (<code>key</code>, <code>value</code>) of a property
* in <code>writer</code>, if the <code>value</code> isn't <code>null</code>.
*/
- private void writeProperty(BufferedWriter writer,
- String key,
+ private void writeProperty(BufferedWriter writer,
+ String key,
Object value) throws IOException {
if (value != null) {
- writer.write(key);
- writer.write("=");
+ // Write key, escaping the characters : = and space
+ writer.write(key.replace(":", "\\:").replace("=", "\\=").replace(" ", "\\ "));
+ writer.write("=");
String s;
if (value.getClass().isArray()) {
s = Arrays.toString((Object [])value);
@@ -795,7 +794,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
}
CharsetEncoder encoder = Charset.forName("ISO-8859-1").newEncoder();
for (int i = 0; i < s.length(); i++) {
- char c = s.charAt(i);
+ char c = s.charAt(i);
switch (c) {
case '\\':
writer.write('\\');
@@ -826,8 +825,8 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
* Writes in <code>zipOut</code> stream the given contents.
*/
private void writeContents(ZipOutputStream zipOut,
- boolean offlineFurnitureLibrary,
- String furnitureResourcesLocalDirectory,
+ boolean offlineFurnitureLibrary,
+ String furnitureResourcesLocalDirectory,
Map<Content, String> contentEntries) throws IOException, InterruptedRecorderException {
if (!offlineFurnitureLibrary && furnitureResourcesLocalDirectory != null) {
// Check local directory
@@ -840,15 +839,15 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
throw new IOException(directory + " isn't a directory");
}
}
-
+
Map<String, List<ZipEntry>> zipUrlsEntries = new HashMap<String, List<ZipEntry>>();
for (Map.Entry<Content, String> contentEntry : contentEntries.entrySet()) {
Content content = contentEntry.getKey();
if (content instanceof URLContent) {
URLContent urlContent = (URLContent)content;
String entryName = contentEntry.getValue();
- if (entryName.indexOf('/') != -1) {
- writeZipEntries(zipOut, offlineFurnitureLibrary, furnitureResourcesLocalDirectory,
+ if (entryName.indexOf('/') != -1) {
+ writeZipEntries(zipOut, offlineFurnitureLibrary, furnitureResourcesLocalDirectory,
urlContent, entryName, zipUrlsEntries);
} else if (offlineFurnitureLibrary || furnitureResourcesLocalDirectory == null) {
writeZipEntry(zipOut, urlContent, entryName);
@@ -862,20 +861,20 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
if (Thread.interrupted()) {
throw new InterruptedRecorderException();
}
- }
+ }
}
-
+
/**
- * Writes in <code>zipOut</code> stream all the sibling files of the zipped
+ * Writes in <code>zipOut</code> stream all the sibling files of the zipped
* <code>content</code>.
*/
private void writeZipEntries(ZipOutputStream zipOut,
boolean offlineFurnitureLibrary,
- String furnitureResourcesLocalDirectory,
- URLContent content,
- String mainEntryName,
+ String furnitureResourcesLocalDirectory,
+ URLContent content,
+ String mainEntryName,
Map<String, List<ZipEntry>> zipUrlsEntries) throws IOException {
- String mainEntryDirectory = mainEntryName.substring(0, mainEntryName.indexOf('/'));
+ String mainEntryDirectory = mainEntryName.substring(0, mainEntryName.indexOf('/'));
if (!offlineFurnitureLibrary && furnitureResourcesLocalDirectory != null) {
// Write content entries in a separate zipped file, if the file doesn't exist
File file = new File(furnitureResourcesLocalDirectory, mainEntryDirectory + ".zip");
@@ -887,25 +886,25 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
} else {
mainEntryDirectory += "/";
}
-
+
String contentDirectory = "";
if (content instanceof ResourceURLContent) {
contentDirectory = URLDecoder.decode(content.getJAREntryName().replace("+", "%2B"), "UTF-8");
- int slashIndex = contentDirectory.lastIndexOf('/');
+ int slashIndex = contentDirectory.lastIndexOf('/');
if (slashIndex != -1) {
contentDirectory = contentDirectory.substring(0, slashIndex + 1);
}
}
-
+
URL zipUrl = content.getJAREntryURL();
- // Keep in cache the entries of the read zip files to speed up save process
+ // Keep in cache the entries of the read zip files to speed up save process
List<ZipEntry> entries = zipUrlsEntries.get(zipUrl.toString());
if (entries == null) {
zipUrlsEntries.put(zipUrl.toString(), entries = getZipEntries(zipUrl));
}
for (ZipEntry entry : entries) {
String zipEntryName = entry.getName();
- URLContent siblingContent = new URLContent(new URL("jar:" + zipUrl + "!/" +
+ URLContent siblingContent = new URLContent(new URL("jar:" + zipUrl + "!/" +
URLEncoder.encode(zipEntryName, "UTF-8").replace("+", "%20")));
if (contentDirectory.length() == 0) {
boolean saveEntry = true;
@@ -916,11 +915,11 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
}
}
if (saveEntry) {
- // Write each zipped stream entry that is stored in content except useless content
+ // Write each zipped stream entry that is stored in content except useless content
writeZipEntry(zipOut, siblingContent, mainEntryDirectory + zipEntryName);
}
} else if (zipEntryName.startsWith(contentDirectory)) {
- // Write each zipped stream entry that is stored in the same directory as content
+ // Write each zipped stream entry that is stored in the same directory as content
writeZipEntry(zipOut, siblingContent, mainEntryDirectory + zipEntryName.substring(contentDirectory.length()));
}
}
@@ -952,24 +951,24 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
}
/**
- * Writes in <code>zipOut</code> stream a new entry named <code>entryName</code> that
+ * Writes in <code>zipOut</code> stream a new entry named <code>entryName</code> that
* contains a given <code>content</code>.
*/
- private void writeZipEntry(ZipOutputStream zipOut,
- URLContent content,
+ private void writeZipEntry(ZipOutputStream zipOut,
+ URLContent content,
String entryName) throws IOException {
byte [] buffer = new byte [8096];
InputStream contentIn = null;
try {
zipOut.putNextEntry(new ZipEntry(entryName));
- contentIn = content.openStream();
- int size;
+ contentIn = content.openStream();
+ int size;
while ((size = contentIn.read(buffer)) != -1) {
zipOut.write(buffer, 0, size);
}
- zipOut.closeEntry();
+ zipOut.closeEntry();
} finally {
- if (contentIn != null) {
+ if (contentIn != null) {
contentIn.close();
}
}
@@ -983,11 +982,11 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
try {
in = content.openStream();
copyContentToFile(in, file);
- } catch (IOException ex) {
+ } catch (IOException ex) {
throw new IOException("Can't copy content " + content + " to " + file);
} finally {
try {
- if (in != null) {
+ if (in != null) {
in.close();
}
} catch (IOException ex) {
@@ -1004,11 +1003,11 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
try {
in = new FileInputStream(file1);
copyContentToFile(in, file2);
- } catch (IOException ex) {
+ } catch (IOException ex) {
throw new IOException("Can't copy file " + file1 + " to " + file2);
} finally {
try {
- if (in != null) {
+ if (in != null) {
in.close();
}
} catch (IOException ex) {
@@ -1016,7 +1015,7 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
}
}
}
-
+
/**
* Copy the content of <code>in</code> stream to <code>file</code>.
*/
@@ -1025,13 +1024,13 @@ public class FurnitureLibraryFileRecorder implements FurnitureLibraryRecorder {
OutputStream out = null;
try {
out = new FileOutputStream(file);
- int size;
+ int size;
while ((size = in.read(buffer)) != -1) {
out.write(buffer, 0, size);
}
} finally {
try {
- if (out != null) {
+ if (out != null) {
out.close();
}
} catch (IOException ex) {
=====================================
src/com/eteks/furniturelibraryeditor/swing/package.properties
=====================================
@@ -1,6 +1,6 @@
# package.properties
#
-# Furniture Library Editor, Copyright (c) 2009-2018 Emmanuel PUYBARET / eTeks <info at eteks.com>
+# Furniture Library Editor, Copyright (c) 2009-2020 Emmanuel PUYBARET / eTeks <info at eteks.com>
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
@@ -119,10 +119,10 @@ EditorPane.about.message=<html><font face="sanssherif"><center><font size="+2"><
<br><font size="-1">SVG path compilation provided by Batik</font>\
<p>Please, visit http://www.sweethome3d.com/\
<br>for software updates and bug report.\
- </p><p><font size="-2">\u00a9 Copyrights 2010-2019 eTeks info at eteks.com\
+ </p><p><font size="-2">\u00a9 Copyrights 2010-2020 eTeks info at eteks.com\
<br>Distributed under GNU General Public License</font>
# Note to translators: dot not copy the 2 following keys in localized file
-EditorPane.about.version=1.24
+EditorPane.about.version=1.25
EditorPane.about.icon=/com/eteks/furniturelibraryeditor/swing/resources/aboutIcon.png
=====================================
src/com/eteks/furniturelibraryeditor/swing/package_fr.properties
=====================================
@@ -1,6 +1,6 @@
# package_fr.properties
#
-# Furniture Library Editor, Copyright (c) 2009-2018 Emmanuel PUYBARET / eTeks <info at eteks.com>
+# Furniture Library Editor, Copyright (c) 2009-2020 Emmanuel PUYBARET / eTeks <info at eteks.com>
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
@@ -79,7 +79,7 @@ EditorPane.about.message=<html><font face="sanssherif"><center><font size="+2"><
<br><font size="-1">Compilation SVG path fournie par Batik</font>\
<p>Rendez-vous sur http://www.sweethome3d.com/fr/\
<br>pour mettre jour ce logiciel ou faire des suggestions.\
- </p><p><font size="-2">\u00a9 Copyrights 2010-2019 eTeks info at eteks.com\
+ </p><p><font size="-2">\u00a9 Copyrights 2010-2020 eTeks info at eteks.com\
<br>Distribu sous licence GNU General Public License</font>
FurnitureLanguageComboBox.defaultLanguage=Langue par dfaut
=====================================
src/com/eteks/furniturelibraryeditor/viewcontroller/DefaultCategories_vi.properties
=====================================
@@ -26,4 +26,5 @@ defaultFurnitureCategory#7=Ph\u00f2ng kh\u00e1ch
defaultFurnitureCategory#8=C\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng kh\u00e1c
defaultFurnitureCategory#9=V\u0103n ph\u00f2ng
defaultFurnitureCategory#10=Xe c\u1ed9
+defaultFurnitureCategory#11=Nhn v\u1eadt
defaultFurnitureCategory#12=C\u1ea7u thang
=====================================
src/com/eteks/furniturelibraryeditor/viewcontroller/DefaultCategories_zh_TW.properties
=====================================
@@ -17,7 +17,7 @@
# Place, Suite 330, Boston, MA 02111-1307 USA
defaultFurnitureCategory#1=3\u6d74\u5ba4
-defaultFurnitureCategory#2=5\u5367\u5ba4
+defaultFurnitureCategory#2=5\u81e5\u5ba4
defaultFurnitureCategory#3=2\u9580\u548c\u7a97
defaultFurnitureCategory#4=9\u6236\u5916
defaultFurnitureCategory#5=4\u5eda\u623f
View it on GitLab: https://salsa.debian.org/java-team/sweethome3d-furniture-editor/-/compare/7ea1ca5b8e3dd9c95611bb0dd167115909e11050...500143ba3e10867aa6afb39918aed1da25024083
--
View it on GitLab: https://salsa.debian.org/java-team/sweethome3d-furniture-editor/-/compare/7ea1ca5b8e3dd9c95611bb0dd167115909e11050...500143ba3e10867aa6afb39918aed1da25024083
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20200419/289c3f9e/attachment.html>
More information about the pkg-java-commits
mailing list