OSDN Git Service

ver0.96リリース候補#2
authorseraphy <seraphy@5b6e9025-a2e8-4882-b233-f889982098c5>
Sun, 27 Mar 2011 19:37:55 +0000 (19:37 +0000)
committerseraphy <seraphy@5b6e9025-a2e8-4882-b233-f889982098c5>
Sun, 27 Mar 2011 19:37:55 +0000 (19:37 +0000)
・about修正
・「browse this parts data」に改め。
・デシリアライズの旧バージョンのコンストラスト未指定時のデフォルト値が1.0fのままだったので0.fに訂正。
・Linuxのインポート画面の編集不可テキストボックスのディセーブル表示
・Mac OS Xのクリップボードコピー

git-svn-id: https://svn.sourceforge.jp/svnroot/charactermanaj/trunk@22 5b6e9025-a2e8-4882-b233-f889982098c5

13 files changed:
CharacterManaJ.app/Contents/Resources/Java/CharacterManaJ.jar
CharacterManaJ.jar
build.xml
charactermanaj.exe
resources/appinfo/about.html
resources/appinfo/about_ja.html
resources/languages/colordialog.xml
resources/languages/colordialog_ja.xml
resources/menu/menu.xml
resources/version.properties [moved from version.properties with 100% similarity]
src/charactermanaj/clipboardSupport/ImageSelection.java
src/charactermanaj/graphics/filters/ColorConvertParameter.java
src/charactermanaj/ui/ImportWizardDialog.java

index a9acb99..0bc542d 100644 (file)
Binary files a/CharacterManaJ.app/Contents/Resources/Java/CharacterManaJ.jar and b/CharacterManaJ.app/Contents/Resources/Java/CharacterManaJ.jar differ
index a9acb99..0bc542d 100644 (file)
Binary files a/CharacterManaJ.jar and b/CharacterManaJ.jar differ
index d33ccd0..b75a641 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -7,7 +7,7 @@
        <property name="jarName" value="CharacterManaJ.jar"/>
 
        <!-- ビルド日時とバージョン、ベンダー -->
-       <property file="version.properties"/>
+       <property file="resources/version.properties"/>
        <tstamp prefix="build-info">
                <format property="current-date" pattern="yyyy-MM-dd" locale="en" />
                <format property="current-time" pattern="hh:mm:ss a z" locale="en" />
index 8b4d0b4..0a23a75 100644 (file)
Binary files a/charactermanaj.exe and b/charactermanaj.exe differ
index 5dc43d7..331dbdb 100644 (file)
@@ -40,7 +40,7 @@ h2 {
        <li>Linux\r
                <ul>\r
                        <li>Ubuntu 10.04 sun-java-jdk6</li>\r
-                       <li>Fedora 14 Desktop openjdk-1.6.0</li>\r
+                       <li>Fedora 14 Desktop openjdk-1.6.0 or sun-java-jdk6(recommended)</li>\r
                </ul>\r
        </li>\r
 </ul>\r
index 24c7dc6..bdee0f2 100644 (file)
@@ -73,7 +73,7 @@ h2 {
        <li>Linux\r
                <ul>\r
                        <li>Ubuntu 10.04 sun-java-jdk6</li>\r
-                       <li>Fedora 14 Desktop openjdk-1.6.0</li>\r
+                       <li>Fedora 14 Desktop openjdk-1.6.0/sun-java-jdk6 (sun-javaを推奨)</li>\r
                </ul>\r
        </li>\r
 </ul>\r
@@ -83,6 +83,7 @@ h2 {
 <p>実行可能JAR形式ではJREのデフォルトのサイズが使われます。これは搭載している物理メモリによって割り当てられるサイズが64MBあるいは256MBのように変わります。</p>\r
 <p>おそらく通常の利用方法において64MBの割り当てでは、やや不足する感があると思いますが、一応、動作はすると思います。</p>\r
 <p>実際のメモリ使用状況については Aboutメニューからシステム情報タブの中で確認することができます。</p>\r
+<p>Linuxをお使いの場合は、sun-javaを推奨します。(基本的にはopenjdkでも動作しますが、クリップボードが機能しません。)</p>\r
 \r
 <h2>[利用コンポーネントについて]</h2>\r
 <p>J2SE5の標準APIの他、Apache Antの一部(The Apache License Version 2.0)をライブラリとして使用しています。</p>\r
index a9544d7..4b8e632 100644 (file)
@@ -16,7 +16,7 @@
        <entry key="offset">Offset</entry>\r
        <entry key="factor">Factor</entry>\r
        <entry key="gamma">Gamma</entry>\r
-       <entry key="group.hsb.caption">HSB</entry>\r
+       <entry key="group.hsb.caption">HSB + Contrast</entry>\r
        <entry key="hue">Hue</entry>\r
        <entry key="saturation">Saturation</entry>\r
        <entry key="brightness">Brightness</entry>\r
index 18f45c1..2c188a3 100644 (file)
@@ -16,7 +16,7 @@
        <entry key="offset">オフセット</entry>\r
        <entry key="factor">倍率</entry>\r
        <entry key="gamma">ガンマ補正</entry>\r
-       <entry key="group.hsb.caption">HSB</entry>\r
+       <entry key="group.hsb.caption">HSB + コントラスト</entry>\r
        <entry key="hue">色相</entry>\r
        <entry key="saturation">彩度</entry>\r
        <entry key="brightness">明度</entry>\r
index dd15392..9c86f2a 100644 (file)
@@ -33,7 +33,7 @@
        <entry key="file.savePicture.ignoreMacOSX">false</entry>\r
        <entry key="file.savePicture.shortcut-key">? S</entry>\r
 \r
-       <entry key="file.opendir.text">Browse the parts data</entry>\r
+       <entry key="file.opendir.text">Browse this parts data</entry>\r
        <entry key="file.opendir.mnemonic">B</entry>\r
        <entry key="file.opendir.mnemonicDisp"></entry>\r
        <entry key="file.opendir.ignoreMacOSX">false</entry>\r
@@ -91,7 +91,7 @@
        <entry key="edit.copy.mnemonic">C</entry>\r
        <entry key="edit.copy.mnemonicDisp"></entry>\r
        <entry key="edit.copy.ignoreMacOSX">false</entry>\r
-       <entry key="edit.copy.shortcut-key">? C</entry>\r
+       <entry key="edit.copy.shortcut-key">control C</entry>\r
        \r
        <entry key="edit.flipHorizontal.text">Flip Horizontal</entry>\r
        <entry key="edit.flipHorizontal.mnemonic">H</entry>\r
index 8e07869..1ca2312 100644 (file)
@@ -34,6 +34,11 @@ public class ImageSelection implements Transferable {
        private static final Logger logger = Logger.getLogger(ImageSelection.class.getName());\r
 \r
        /**\r
+        * 実行環境がWindowsであるか?\r
+        */\r
+       private static final boolean platformWindows;\r
+       \r
+       /**\r
         * 対象となるイメージ\r
         */\r
        private BufferedImage img;\r
@@ -70,19 +75,20 @@ public class ImageSelection implements Transferable {
      */\r
     static {\r
        String lcOS = System.getProperty("os.name").toLowerCase(); \r
-       if (lcOS.indexOf("linux") >= 0) {\r
-               // Linuxの場合\r
+       platformWindows = lcOS.indexOf("windows") >= 0;\r
+       if (platformWindows) {\r
+               // Windowsの場合\r
                SUPPORTED_FLAVORS = Arrays.asList(new DataFlavor[] {\r
                                PNG_FLAVOR,\r
-                               JPEG_FLAVOR,\r
-                               BMP_FLAVOR,\r
                                DataFlavor.imageFlavor,\r
                });\r
 \r
        } else {\r
-               // Linux以外 (Windows/Mac OS Xを想定)\r
+               // Linux, Mac OS Xの場合を想定\r
                SUPPORTED_FLAVORS = Arrays.asList(new DataFlavor[] {\r
                                PNG_FLAVOR,\r
+                               JPEG_FLAVOR,\r
+                               BMP_FLAVOR,\r
                                DataFlavor.imageFlavor,\r
                });\r
        }\r
@@ -94,8 +100,7 @@ public class ImageSelection implements Transferable {
      */\r
     public static boolean setupSystemFlavorMap() {\r
        try {\r
-               String lcOS = System.getProperty("os.name").toLowerCase(); \r
-               if (lcOS.indexOf("windows") >= 0) {\r
+               if (platformWindows) {\r
                        AppConfig appConfig = AppConfig.getInstance();\r
                        if (appConfig.isEnablePNGSupportForWindows()) {\r
                                // Windowsの場合、PNGへのマップを明示的に設定する.\r
@@ -106,8 +111,9 @@ public class ImageSelection implements Transferable {
                                        List<String> natives = sysFlavorMap.getNativesForFlavor(null);\r
                                        if (natives.contains("PNG")) {\r
                                                sysFlavorMap.setNativesForFlavor(PNG_FLAVOR, new String[] {"PNG"});\r
+\r
                                        } else {\r
-                                               logger.log(Level.INFO, "unsupported PNG flavor.");\r
+                                               logger.log(Level.INFO, "PNG flavor is not supported.");\r
                                        }\r
                        }\r
                        }\r
@@ -139,34 +145,34 @@ public class ImageSelection implements Transferable {
                        try {\r
                                ImageSaveHelper imageSaveHelper = new ImageSaveHelper();\r
        \r
-                               if (flavor.equals(DataFlavor.imageFlavor)) {\r
-                               String lcOS = System.getProperty("os.name").toLowerCase(); \r
-                               AppConfig appConfig = AppConfig.getInstance();\r
-                               if (lcOS.indexOf("windows") >= 0 || !appConfig.isEnablePNGSupportForWindows()) {\r
-                                               // Windowsの場合は、背景色で塗りつぶしたJPEG互換画像に変換して返す. \r
-                                               // JDK5/6のシステムクリップボードへのコピーでは透過画像をサポートしておらず透過部分が黒色になるため.\r
-                                       // ネイティブPNGとのマッピングが有効であれば、Windowsでは、そちらで対応する.\r
-                                               return imageSaveHelper.createBMPFormatPicture(img, bgColor);\r
-\r
-                               } else {\r
-                                       // Windows以外、且つ、透過サポートが有効の場合\r
-                                       return img;\r
-                               }\r
-                               }\r
-       \r
                                if (flavor.equals(PNG_FLAVOR) || flavor.equals(JPEG_FLAVOR) || flavor.equals(BMP_FLAVOR)) {\r
                                        // image/png, image/jpeg, image/bmpの場合は、\r
                                        // そのファイル形式のデータを生成して、それを返す.\r
                                    ByteArrayOutputStream bos = new ByteArrayOutputStream();\r
                                    try {\r
                                        imageSaveHelper.savePicture(img, bgColor, bos, flavor.getMimeType(), null);\r
-                                       //ImageIO.write(img, flavor.getSubType(), bos);\r
+\r
                                    } finally {\r
                                        bos.close();\r
                                    }\r
                                return new ByteArrayInputStream(bos.toByteArray());\r
                                }\r
 \r
+                               if (flavor.equals(DataFlavor.imageFlavor)) {\r
+                                       // "image/x-java-image"の場合\r
+                               AppConfig appConfig = AppConfig.getInstance();\r
+                               if (platformWindows || !appConfig.isEnablePNGSupportForWindows()) {\r
+                                               // Windowsの場合は、背景色で塗りつぶしたBMP画像に変換して返す. \r
+                                               // JDK5/6のシステムクリップボードへのコピーでは透過画像をサポートしておらず透過部分が黒色になるため.\r
+                                       // ネイティブPNGとのマッピングが有効であれば、Windowsでは、そちらで対応する.\r
+                                               return imageSaveHelper.createBMPFormatPicture(img, bgColor);\r
+\r
+                               } else {\r
+                                       // Windows以外、且つ、透過サポートが有効の場合\r
+                                       return img;\r
+                               }\r
+                               }\r
+       \r
                        } catch (RuntimeException ex) {\r
                                logger.log(Level.WARNING, "The exception occurred during the data transfer of a clipboard.", ex);\r
                                throw ex;\r
index 4a32d99..d9ed20d 100644 (file)
@@ -63,7 +63,7 @@ public final class ColorConvertParameter implements Serializable, Cloneable {
                this.hue = fields.get("hue", 0.f);\r
                this.saturation = fields.get("saturation", 0.f);\r
                this.brightness = fields.get("brightness", 0.f);\r
-               this.contrast = fields.get("contrast", 1.f);\r
+               this.contrast = fields.get("contrast", 0.f);\r
                this.offsetR = fields.get("offsetR", 0);\r
                this.offsetG = fields.get("offsetG", 0);\r
                this.offsetB = fields.get("offsetB", 0);\r
index 2bba6bd..b1a8e8b 100644 (file)
@@ -1277,6 +1277,7 @@ class ImportTypeSelectPanel extends ImportWizardCardPanel {
                gbc.weighty = 0.;\r
                txtCharacterId = new JTextField();\r
                txtCharacterId.setEditable(false); // 読み取り専用\r
+               txtCharacterId.setEnabled(false);\r
                archiveInfoPanel.add(txtCharacterId, gbc);\r
                \r
                gbc.gridx = 0;\r
@@ -1295,6 +1296,7 @@ class ImportTypeSelectPanel extends ImportWizardCardPanel {
                gbc.weighty = 0.;\r
                txtCharacterRev = new JTextField();\r
                txtCharacterRev.setEditable(false); // 読み取り専用\r
+               txtCharacterRev.setEnabled(false);\r
                archiveInfoPanel.add(txtCharacterRev, gbc);\r
 \r
                gbc.gridx = 0;\r
@@ -1440,7 +1442,9 @@ class ImportTypeSelectPanel extends ImportWizardCardPanel {
                \r
                // 新規作成の場合はキャラクター定義名と作者名を更新可能とする\r
                txtCharacterName.setEnabled(current == null);\r
+               txtCharacterName.setEditable(current == null);\r
                txtAuthor.setEditable(current == null);\r
+               txtAuthor.setEnabled(current == null);\r
                \r
                // ID、REVが一致するか?\r
                boolean matchID = false;\r