Windows fixes in update dialog, Version 1.9.3 beta

This commit is contained in:
mmk2410 2015-07-30 15:50:40 +02:00
parent 5854c86ca3
commit b549c99096
9 changed files with 560 additions and 837 deletions

View file

@ -9,11 +9,15 @@
</artifacts-to-build>
</component>
<component name="ChangeListManager">
<list default="true" id="1951d34a-0996-4ab0-85f5-7d06399bd374" name="Default" comment="&quot;Germanization&quot;">
<list default="true" id="1951d34a-0996-4ab0-85f5-7d06399bd374" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java" afterPath="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeNormalMorseManager.java" afterPath="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeNormalMorseManager.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java" afterPath="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/META-INF/MANIFEST.MF" afterPath="$PROJECT_DIR$/src/META-INF/MANIFEST.MF" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/Main.java" afterPath="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/Main.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/misc.xml" afterPath="$PROJECT_DIR$/.idea/misc.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/update/UpdateDialog.java" afterPath="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/update/UpdateDialog.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/text.properties" afterPath="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/text.properties" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/text_de.properties" afterPath="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/text_de.properties" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
</list>
<ignored path="de.marcelkapfer.c.morseconverter.iws" />
@ -49,16 +53,12 @@
</provider>
</entry>
</file>
<file leaf-file-name="Main.java" pinned="false" current-in-tab="false">
<file leaf-file-name="Main.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="71" column="9" selection-start-line="71" selection-start-column="9" selection-end-line="71" selection-end-column="9" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#3271#3272#0" expanded="true" />
<element signature="e#3331#3332#0" expanded="true" />
</folding>
<caret line="32" column="21" selection-start-line="32" selection-start-column="21" selection-end-line="32" selection-end-column="21" />
<folding />
</state>
</provider>
</entry>
@ -76,11 +76,21 @@
</provider>
</entry>
</file>
<file leaf-file-name="UpdateDialog.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/update/UpdateDialog.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="81" column="107" selection-start-line="81" selection-start-column="107" selection-end-line="81" selection-end-column="107" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="DecodeNormalMorseManager.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeNormalMorseManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="238" column="59" selection-start-line="238" selection-start-column="59" selection-end-line="238" selection-end-column="59" />
<caret line="202" column="8" selection-start-line="202" selection-start-column="8" selection-end-line="202" selection-end-column="8" />
<folding />
</state>
</provider>
@ -90,17 +100,17 @@
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="237" column="49" selection-start-line="237" selection-start-column="49" selection-end-line="237" selection-end-column="49" />
<caret line="21" column="3" selection-start-line="21" selection-start-column="3" selection-end-line="21" selection-end-column="3" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="EncodeNormalMorseManager.java" pinned="false" current-in-tab="true">
<file leaf-file-name="EncodeNormalMorseManager.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeNormalMorseManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.2625216">
<caret line="50" column="20" selection-start-line="50" selection-start-column="20" selection-end-line="50" selection-end-column="20" />
<state vertical-scroll-proportion="0.0">
<caret line="44" column="48" selection-start-line="44" selection-start-column="48" selection-end-line="44" selection-end-column="48" />
<folding />
</state>
</provider>
@ -110,7 +120,7 @@
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="57" column="29" selection-start-line="57" selection-start-column="29" selection-end-line="57" selection-end-column="29" />
<caret line="40" column="59" selection-start-line="40" selection-start-column="59" selection-end-line="43" selection-end-column="48" />
<folding />
</state>
</provider>
@ -136,19 +146,6 @@
</provider>
</entry>
</file>
<file leaf-file-name="text.properties" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/text.properties">
<provider editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
<provider selected="true" editor-type-id="ResourceBundle">
<state />
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
@ -183,16 +180,16 @@
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/update/Update.form" />
<option value="$PROJECT_DIR$/README.md" />
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/update/Update.java" />
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/text_de.properties" />
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/update/UpdateDialog.form" />
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/update/UpdateDialog.java" />
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java" />
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeNormalMorseManager.java" />
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/text.properties" />
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/Main.form" />
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/Main.java" />
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java" />
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeNormalMorseManager.java" />
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/update/UpdateDialog.java" />
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/text_de.properties" />
<option value="$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/Main.java" />
</list>
</option>
</component>
@ -210,10 +207,8 @@
<order />
</component>
<component name="ProjectFrameBounds">
<option name="x" value="-8" />
<option name="y" value="-8" />
<option name="width" value="1928" />
<option name="height" value="994" />
<option name="width" value="1920" />
<option name="height" value="1080" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
<OptionsSetting value="true" id="Add" />
@ -238,7 +233,7 @@
<sortByType />
</navigator>
<panes>
<pane id="Scope" />
<pane id="Scratches" />
<pane id="ProjectPane">
<subPane>
<PATH>
@ -253,7 +248,7 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="morse-converter" />
<option name="myItemId" value="de.marcelkapfer.c.morseconverter" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
@ -262,26 +257,8 @@
<option name="myItemId" value="de.marcelkapfer.c.morseconverter" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="morse-converter" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="res" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="de.marcelkapfer.c.morseconverter" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="morse-converter" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
@ -295,7 +272,7 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="morse-converter" />
<option name="myItemId" value="de.marcelkapfer.c.morseconverter" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
@ -313,7 +290,7 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="morse-converter" />
<option name="myItemId" value="de.marcelkapfer.c.morseconverter" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
@ -325,14 +302,40 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="engine" />
<option name="myItemId" value="update" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="UpdateDialog" />
<option name="myItemType" value="com.intellij.uiDesigner.projectView.FormNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="de.marcelkapfer.c.morseconverter" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="de.marcelkapfer.c.morseconverter" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="morseconverter" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="update" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="PackagesPane" />
<pane id="Scratches" />
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
@ -580,32 +583,32 @@
<servers />
</component>
<component name="ToolWindowManager">
<frame x="-8" y="-8" width="1928" height="994" extended-state="0" />
<editor active="true" />
<frame x="0" y="0" width="1920" height="1080" extended-state="0" />
<editor active="false" />
<layout>
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.2909232" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Palette&#9;" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="11" side_tool="true" content_ui="tabs" />
<window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32985973" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32967836" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.31489843" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.16108787" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.16075157" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.28216705" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.2909232" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3212121" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32967836" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.28216705" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="Vcs.Log.UiProperties">
@ -650,222 +653,6 @@
<properties />
<option name="timeStamp" value="153" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/Main.java</url>
<line>130</line>
<properties />
<option name="timeStamp" value="158" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/Main.java</url>
<line>132</line>
<properties />
<option name="timeStamp" value="159" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/Main.java</url>
<line>134</line>
<properties />
<option name="timeStamp" value="160" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/Main.java</url>
<line>135</line>
<properties />
<option name="timeStamp" value="161" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/Main.java</url>
<line>137</line>
<properties />
<option name="timeStamp" value="162" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>57</line>
<properties />
<option name="timeStamp" value="165" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>58</line>
<properties />
<option name="timeStamp" value="166" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>60</line>
<properties />
<option name="timeStamp" value="167" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>61</line>
<properties />
<option name="timeStamp" value="168" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>62</line>
<properties />
<option name="timeStamp" value="169" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>63</line>
<properties />
<option name="timeStamp" value="170" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>64</line>
<properties />
<option name="timeStamp" value="171" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>65</line>
<properties />
<option name="timeStamp" value="172" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>66</line>
<properties />
<option name="timeStamp" value="173" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>67</line>
<properties />
<option name="timeStamp" value="174" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>68</line>
<properties />
<option name="timeStamp" value="175" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>69</line>
<properties />
<option name="timeStamp" value="176" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>70</line>
<properties />
<option name="timeStamp" value="177" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>71</line>
<properties />
<option name="timeStamp" value="178" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>30</line>
<properties />
<option name="timeStamp" value="179" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>31</line>
<properties />
<option name="timeStamp" value="180" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>32</line>
<properties />
<option name="timeStamp" value="181" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>34</line>
<properties />
<option name="timeStamp" value="182" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>35</line>
<properties />
<option name="timeStamp" value="183" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>36</line>
<properties />
<option name="timeStamp" value="184" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>38</line>
<properties />
<option name="timeStamp" value="185" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>37</line>
<properties />
<option name="timeStamp" value="186" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>236</line>
<properties />
<option name="timeStamp" value="188" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>235</line>
<properties />
<option name="timeStamp" value="189" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>237</line>
<properties />
<option name="timeStamp" value="190" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>238</line>
<properties />
<option name="timeStamp" value="191" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>240</line>
<properties />
<option name="timeStamp" value="192" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>241</line>
<properties />
<option name="timeStamp" value="194" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>242</line>
<properties />
<option name="timeStamp" value="195" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>243</line>
<properties />
<option name="timeStamp" value="196" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java</url>
<line>244</line>
<properties />
<option name="timeStamp" value="197" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java</url>
<line>198</line>
@ -902,59 +689,11 @@
<properties />
<option name="timeStamp" value="203" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java</url>
<line>49</line>
<properties />
<option name="timeStamp" value="208" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java</url>
<line>50</line>
<properties />
<option name="timeStamp" value="210" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java</url>
<line>47</line>
<properties />
<option name="timeStamp" value="211" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java</url>
<line>44</line>
<properties />
<option name="timeStamp" value="212" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java</url>
<line>40</line>
<properties />
<option name="timeStamp" value="213" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java</url>
<line>45</line>
<properties />
<option name="timeStamp" value="214" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java</url>
<line>73</line>
<properties />
<option name="timeStamp" value="215" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java</url>
<line>76</line>
<properties />
<option name="timeStamp" value="218" />
</line-breakpoint>
</breakpoints>
<breakpoints-dialog>
<breakpoints-dialog />
</breakpoints-dialog>
<option name="time" value="222" />
<option name="time" value="225" />
</breakpoint-manager>
<watches-manager>
<configuration name="Application">
@ -998,11 +737,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="90" column="25" selection-start-line="90" selection-start-column="25" selection-end-line="90" selection-end-column="25" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#3271#3272#0" expanded="true" />
<element signature="e#3331#3332#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -1064,11 +799,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#3271#3272#0" expanded="true" />
<element signature="e#3331#3332#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -1133,11 +864,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="23" column="72" selection-start-line="23" selection-start-column="72" selection-end-line="23" selection-end-column="72" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#3271#3272#0" expanded="true" />
<element signature="e#3331#3332#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -1199,11 +926,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#3271#3272#0" expanded="true" />
<element signature="e#3331#3332#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -1267,21 +990,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/update/UpdateDialog.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="102" column="5" selection-start-line="102" selection-start-column="5" selection-end-line="102" selection-end-column="5" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/intelligentCodeRecognization/NormalMorseCodeRecognization.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="26" column="13" selection-start-line="26" selection-start-column="13" selection-end-line="26" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/text.properties">
<provider editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
@ -1293,30 +1001,67 @@
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeNormalMorseManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="238" column="59" selection-start-line="238" selection-start-column="59" selection-end-line="238" selection-end-column="59" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/Main.form">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
<provider editor-type-id="ui-designer">
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/res/icon-xxxhdpi.png">
<provider selected="true" editor-type-id="images">
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/intelligentCodeRecognization/WrittenMorseCodeRecognization.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="59" column="0" selection-start-line="59" selection-start-column="0" selection-end-line="59" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/intelligentCodeRecognization/NormalMorseCodeRecognization.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="26" column="13" selection-start-line="26" selection-start-column="13" selection-end-line="26" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="40" column="59" selection-start-line="40" selection-start-column="59" selection-end-line="43" selection-end-column="48" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeNormalMorseManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="44" column="48" selection-start-line="44" selection-start-column="48" selection-end-line="44" selection-end-column="48" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="21" column="3" selection-start-line="21" selection-start-column="3" selection-end-line="21" selection-end-column="3" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeNormalMorseManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="202" column="8" selection-start-line="202" selection-start-column="8" selection-end-line="202" selection-end-column="8" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/update/UpdateDialog.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="81" column="107" selection-start-line="81" selection-start-column="107" selection-end-line="81" selection-end-column="107" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/text_de.properties">
<provider editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
@ -1328,46 +1073,21 @@
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java">
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/Main.form">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="237" column="49" selection-start-line="237" selection-start-column="49" selection-end-line="237" selection-end-column="49" />
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/intelligentCodeRecognization/WrittenMorseCodeRecognization.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="59" column="0" selection-start-line="59" selection-start-column="0" selection-end-line="59" selection-end-column="0" />
<folding />
</state>
<provider editor-type-id="ui-designer">
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="71" column="9" selection-start-line="71" selection-start-column="9" selection-end-line="71" selection-end-column="9" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#3271#3272#0" expanded="true" />
<element signature="e#3331#3332#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="57" column="29" selection-start-line="57" selection-start-column="29" selection-end-line="57" selection-end-column="29" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/de/marcelkapfer/c/morseconverter/engine/EncodeNormalMorseManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.2625216">
<caret line="50" column="20" selection-start-line="50" selection-start-column="20" selection-end-line="50" selection-end-column="20" />
<caret line="32" column="21" selection-start-line="32" selection-start-column="21" selection-end-line="32" selection-end-column="21" />
<folding />
</state>
</provider>

View file

@ -1,3 +1,3 @@
Manifest-Version: 1.0
Main-Class: de.marcelkapfer.c.morseconverter.Main
Manifest-Version: 1.0
Main-Class: de.marcelkapfer.c.morseconverter.Main

View file

@ -1,161 +1,161 @@
package de.marcelkapfer.c.morseconverter;
/*
This is a Java application for converting writtenMorse and normal morse code.
Copyright (C) 2014-2015 Marcel Michael Kapfer
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 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Marcel Michael Kapfer
marcelmichaelkapfer@yahoo.co.nz
*/
import de.marcelkapfer.c.morseconverter.engine.DecodeNormalMorseManager;
import de.marcelkapfer.c.morseconverter.engine.DecodeWrittenMorseManager;
import de.marcelkapfer.c.morseconverter.engine.EncodeNormalMorseManager;
import de.marcelkapfer.c.morseconverter.engine.EncodeWrittenMorseManager;
import de.marcelkapfer.c.morseconverter.intelligentCodeRecognization.NormalMorseCodeRecognization;
import de.marcelkapfer.c.morseconverter.intelligentCodeRecognization.WrittenMorseCodeRecognization;
import de.marcelkapfer.c.morseconverter.update.Update;
import de.marcelkapfer.c.morseconverter.update.UpdateDialog;
import javax.swing.*;
import javax.swing.text.BadLocationException;
import javax.swing.text.Element;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.HTMLEditorKit;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.IOException;
import java.util.ResourceBundle;
public class Main extends JFrame {
// Version numbers for update check
public static final int currentVersion = 191;
public static int latestVersion = currentVersion;
public static ResourceBundle resourceBundle = ResourceBundle.getBundle("de.marcelkapfer.c.morseconverter.text");
public JTabbedPane morseConverterPane;
private JPanel panel1;
private JTextArea inputAreaWrittenMorse;
private JTextArea outputAreaWrittenMorse;
private JTextArea inputAreaNormalMorse;
private JTextArea outputAreaNormalMorse;
private JButton updateDialogButton;
private JLabel updateAvailable;
private JTextPane aboutText;
// Contains mainly listeners
public Main() {
HTMLEditorKit htmlEditorKit = new HTMLEditorKit();
HTMLDocument htmlDocument = (HTMLDocument) htmlEditorKit.createDefaultDocument();
Element element = htmlDocument.getDefaultRootElement();
try {
htmlDocument.setInnerHTML(element, resourceBundle.getString("about"));
} catch (BadLocationException | IOException e) {
e.printStackTrace();
}
aboutText.setDocument(htmlDocument);
// Listener for the writtenMorse input field
inputAreaWrittenMorse.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
instantWrittenMorseConvert();
}
});
// Listener for the normal Morse input field
inputAreaNormalMorse.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
instantNormalMorseConvert();
}
});
// Trying to read a file from a server
latestVersion = Update.getLatestVersion("http://lab.marcel-kapfer.de/writtenmorse/desktop/version.txt", currentVersion);
if (currentVersion < latestVersion){
JOptionPane.showMessageDialog(null, resourceBundle.getString("updateAvailable"));
updateAvailable.setVisible(true);
updateDialogButton.setText(resourceBundle.getString("aboutUpdateAvailableButton"));
}
updateDialogButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
updateDialog();
}
});
}
// The holy main method
public static void main(String[] args){
// Tries to present the app in an native look
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e){
e.printStackTrace();
}
// Starting the application
JFrame main = new JFrame("Main");
main.setContentPane(new Main().morseConverterPane);
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Title
main.setTitle(resourceBundle.getString("title"));
main.pack();
// Window position and Size
main.setBounds(100, 100, 800, 400);
main.setIconImage(Toolkit.getDefaultToolkit().getImage(Main.class.getResource("/res/icon-xxxhdpi.png")));
// MAKE IT HAPPEN :D
main.setVisible(true);
System.out.print(System.lineSeparator());
}
// Method for converting writtenMorse
private void instantWrittenMorseConvert(){
// Gets the text from the input field
String input = inputAreaWrittenMorse.getText();
// checks if the code is a writtenMorse code
if(WrittenMorseCodeRecognization.isCode(input)) {
// converts the code into normal letters
outputAreaWrittenMorse.setText(EncodeWrittenMorseManager.getEncodedString(input));
} else {
// converts the code into writtenMorse
outputAreaWrittenMorse.setText(DecodeWrittenMorseManager.getDecodedString(input));
}
}
// Method for converting normal Morse
private void instantNormalMorseConvert(){
// Gets the text from the input field
String input = inputAreaNormalMorse.getText();
// checks if the code is a normal Morse code
if(NormalMorseCodeRecognization.isCode(input)){
// converts the code into normal letters
outputAreaNormalMorse.setText(EncodeNormalMorseManager.getEncodedString(input));
} else {
// converts the code into writtenMorse
outputAreaNormalMorse.setText(DecodeNormalMorseManager.getDecodedString(input));
}
}
private void updateDialog() {
UpdateDialog.main(null);
}
}
package de.marcelkapfer.c.morseconverter;
/*
This is a Java application for converting writtenMorse and normal morse code.
Copyright (C) 2014-2015 Marcel Michael Kapfer
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 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Marcel Michael Kapfer
marcelmichaelkapfer@yahoo.co.nz
*/
import de.marcelkapfer.c.morseconverter.engine.DecodeNormalMorseManager;
import de.marcelkapfer.c.morseconverter.engine.DecodeWrittenMorseManager;
import de.marcelkapfer.c.morseconverter.engine.EncodeNormalMorseManager;
import de.marcelkapfer.c.morseconverter.engine.EncodeWrittenMorseManager;
import de.marcelkapfer.c.morseconverter.intelligentCodeRecognization.NormalMorseCodeRecognization;
import de.marcelkapfer.c.morseconverter.intelligentCodeRecognization.WrittenMorseCodeRecognization;
import de.marcelkapfer.c.morseconverter.update.Update;
import de.marcelkapfer.c.morseconverter.update.UpdateDialog;
import javax.swing.*;
import javax.swing.text.BadLocationException;
import javax.swing.text.Element;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.HTMLEditorKit;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.IOException;
import java.util.ResourceBundle;
public class Main extends JFrame {
// Version numbers for update check
public static final int currentVersion = 193;
public static int latestVersion = currentVersion;
public static ResourceBundle resourceBundle = ResourceBundle.getBundle("de.marcelkapfer.c.morseconverter.text");
public JTabbedPane morseConverterPane;
private JPanel panel1;
private JTextArea inputAreaWrittenMorse;
private JTextArea outputAreaWrittenMorse;
private JTextArea inputAreaNormalMorse;
private JTextArea outputAreaNormalMorse;
private JButton updateDialogButton;
private JLabel updateAvailable;
private JTextPane aboutText;
// Contains mainly listeners
public Main() {
HTMLEditorKit htmlEditorKit = new HTMLEditorKit();
HTMLDocument htmlDocument = (HTMLDocument) htmlEditorKit.createDefaultDocument();
Element element = htmlDocument.getDefaultRootElement();
try {
htmlDocument.setInnerHTML(element, resourceBundle.getString("about"));
} catch (BadLocationException | IOException e) {
e.printStackTrace();
}
aboutText.setDocument(htmlDocument);
// Listener for the writtenMorse input field
inputAreaWrittenMorse.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
instantWrittenMorseConvert();
}
});
// Listener for the normal Morse input field
inputAreaNormalMorse.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
instantNormalMorseConvert();
}
});
// Trying to read a file from a server
latestVersion = Update.getLatestVersion("http://lab.marcel-kapfer.de/writtenmorse/desktop/version.txt", currentVersion);
if (currentVersion < latestVersion){
JOptionPane.showMessageDialog(null, resourceBundle.getString("updateAvailable"));
updateAvailable.setVisible(true);
updateDialogButton.setText(resourceBundle.getString("aboutUpdateAvailableButton"));
}
updateDialogButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
updateDialog();
}
});
}
// The holy main method
public static void main(String[] args){
// Tries to present the app in an native look
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e){
e.printStackTrace();
}
// Starting the application
JFrame main = new JFrame("Main");
main.setContentPane(new Main().morseConverterPane);
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Title
main.setTitle(resourceBundle.getString("title"));
main.pack();
// Window position and Size
main.setBounds(100, 100, 800, 400);
main.setIconImage(Toolkit.getDefaultToolkit().getImage(Main.class.getResource("/res/icon-xxxhdpi.png")));
// MAKE IT HAPPEN :D
main.setVisible(true);
System.out.print(System.lineSeparator());
}
// Method for converting writtenMorse
private void instantWrittenMorseConvert(){
// Gets the text from the input field
String input = inputAreaWrittenMorse.getText();
// checks if the code is a writtenMorse code
if(WrittenMorseCodeRecognization.isCode(input)) {
// converts the code into normal letters
outputAreaWrittenMorse.setText(EncodeWrittenMorseManager.getEncodedString(input));
} else {
// converts the code into writtenMorse
outputAreaWrittenMorse.setText(DecodeWrittenMorseManager.getDecodedString(input));
}
}
// Method for converting normal Morse
private void instantNormalMorseConvert(){
// Gets the text from the input field
String input = inputAreaNormalMorse.getText();
// checks if the code is a normal Morse code
if(NormalMorseCodeRecognization.isCode(input)){
// converts the code into normal letters
outputAreaNormalMorse.setText(EncodeNormalMorseManager.getEncodedString(input));
} else {
// converts the code into writtenMorse
outputAreaNormalMorse.setText(DecodeNormalMorseManager.getDecodedString(input));
}
}
private void updateDialog() {
UpdateDialog.main(null);
}
}

View file

@ -1,254 +1,254 @@
package de.marcelkapfer.c.morseconverter.engine;
/*
This is a Java application for converting writtenMorse and normal morse code.
Copyright (C) 2014-2015 Marcel Michael Kapfer
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 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Marcel Michael Kapfer
marcelmichaelkapfer@yahoo.co.nz
*/
public class DecodeWrittenMorseManager {
public static String getDecodedString(String inputMessage) {
if(inputMessage.equals("")){
return "Please enter at least one character";
} else {
StringBuffer message = new StringBuffer(inputMessage);
if (message.toString().endsWith(" ")) {
message = message.deleteCharAt(message.length() - 1);
}
// Variables
StringBuffer input = new StringBuffer();
input = input.replace(0, input.length(), message.toString().toUpperCase());
StringBuffer output = new StringBuffer();
if (input.toString().equals("LETTERSPACE")) {
output.replace(0, output.length(), "#");
} else if (input.toString().equals("END OF WORK")) {
output.replace(0, output.length(), "000101");
} else if (input.toString().equals("ERROR")) {
output.replace(0, output.length(), "00000000");
} else if (input.toString().equals("STARTING SIGNAL")) {
output.replace(0, output.length(), "10101");
} else if (input.toString().equals("ENDING SIGNAL")) {
output.replace(0, output.length(), "01010");
} else if (input.toString().equals("UNDERSTOOD")) {
output.replace(0, output.length(), "00010");
} else if (input.toString().equals("WAIT")) {
output.replace(0, output.length(), "01000");
} else if (input.toString().equals("SOS")) {
output.replace(0, output.length(), "000111000");
} else if (input.toString().equals("LETTER SPACE")) {
output.replace(0, output.length(), "##");
} else if (input.toString().equals("WORD SPACE")) {
output.replace(0, output.length(), "+");
} else {
while (input.length() > 0) {
if (input.toString().startsWith(" ")) {
if (output.toString().endsWith("#")) {
output.delete(output.length() - 1, output.length());
}
output.append("+");
input.delete(0, 1);
} else if (input.toString().startsWith(System.lineSeparator())) {
output.append(System.lineSeparator());
int indexLineSeparator = input.indexOf(System.lineSeparator());
input.delete(indexLineSeparator, indexLineSeparator + System.lineSeparator().length());
} else if (input.toString().startsWith("\n")) {
output.append(System.lineSeparator());
int indexLineSeparator = input.indexOf("\n");
input.deleteCharAt(indexLineSeparator);
} else if (input.toString().startsWith("A")) {
output.append("01#");
input.delete(0, 1);
} else if (input.toString().startsWith("B")) {
output.append("1000#");
input.delete(0, 1);
} else if (input.toString().startsWith("C")) {
output.append("1010#");
input.delete(0, 1);
} else if (input.toString().startsWith("D")) {
output.append("100#");
input.delete(0, 1);
} else if (input.toString().startsWith("E")) {
output.append("0#");
input.delete(0, 1);
} else if (input.toString().startsWith("F")) {
output.append("0010#");
input.delete(0, 1);
} else if (input.toString().startsWith("G")) {
output.append("110#");
input.delete(0, 1);
} else if (input.toString().startsWith("H")) {
output.append("0000#");
input.delete(0, 1);
} else if (input.toString().startsWith("I")) {
output.append("00#");
input.delete(0, 1);
} else if (input.toString().startsWith("J")) {
output.append("0111#");
input.delete(0, 1);
} else if (input.toString().startsWith("K")) {
output.append("101#");
input.delete(0, 1);
} else if (input.toString().startsWith("L")) {
output.append("0100#");
input.delete(0, 1);
} else if (input.toString().startsWith("M")) {
output.append("11#");
input.delete(0, 1);
} else if (input.toString().startsWith("N")) {
output.append("10#");
input.delete(0, 1);
} else if (input.toString().startsWith("O")) {
output.append("111#");
input.delete(0, 1);
} else if (input.toString().startsWith("P")) {
output.append("0110#");
input.delete(0, 1);
} else if (input.toString().startsWith("Q")) {
output.append("1101#");
input.delete(0, 1);
} else if (input.toString().startsWith("R")) {
output.append("010#");
input.delete(0, 1);
} else if (input.toString().startsWith("S")) {
output.append("000#");
input.delete(0, 1);
} else if (input.toString().startsWith("T")) {
output.append("1#");
input.delete(0, 1);
} else if (input.toString().startsWith("U")) {
output.append("001#");
input.delete(0, 1);
} else if (input.toString().startsWith("V")) {
output.append("0001#");
input.delete(0, 1);
} else if (input.toString().startsWith("W")) {
output.append("011#");
input.delete(0, 1);
} else if (input.toString().startsWith("X")) {
output.append("1001#");
input.delete(0, 1);
} else if (input.toString().startsWith("Y")) {
output.append("1011#");
input.delete(0, 1);
} else if (input.toString().startsWith("Z")) {
output.append("1100#");
input.delete(0, 1);
} else if (input.toString().startsWith("0")) {
output.append("11111#");
input.delete(0, 1);
} else if (input.toString().startsWith("1")) {
output.append("01111#");
input.delete(0, 1);
} else if (input.toString().startsWith("2")) {
output.append("00111#");
input.delete(0, 1);
} else if (input.toString().startsWith("3")) {
output.append("00011#");
input.delete(0, 1);
} else if (input.toString().startsWith("4")) {
output.append("00001#");
input.delete(0, 1);
} else if (input.toString().startsWith("5")) {
output.append("00000#");
input.delete(0, 1);
} else if (input.toString().startsWith("6")) {
output.append("10000#");
input.delete(0, 1);
} else if (input.toString().startsWith("7")) {
output.append("11000#");
input.delete(0, 1);
} else if (input.toString().startsWith("8")) {
output.append("11100#");
input.delete(0, 1);
} else if (input.toString().startsWith("9")) {
output.append("11110#");
input.delete(0, 1);
} else if (input.toString().startsWith("Ä")) {
output.append("0101#");
input.delete(0, 1);
} else if (input.toString().startsWith("Ö")) {
output.append("1110#");
input.delete(0, 1);
} else if (input.toString().startsWith("Ü")) {
output.append("0011#");
input.delete(0, 1);
} else if (input.toString().startsWith("ß")) {
output.append("00011000#");
input.delete(0, 1);
} else if (input.toString().startsWith(".")) {
output.append("010101#");
input.delete(0, 1);
} else if (input.toString().startsWith(",")) {
output.append("110011#");
input.delete(0, 1);
} else if (input.toString().startsWith(":")) {
output.append("111000#");
input.delete(0, 1);
} else if (input.toString().startsWith(";")) {
output.append("101010#");
input.delete(0, 1);
} else if (input.toString().startsWith("?")) {
output.append("001100#");
input.delete(0, 1);
} else if (input.toString().startsWith("!")) {
output.append("101011#");
input.delete(0, 1);
} else if (input.toString().startsWith("-")) {
output.append("100001#");
input.delete(0, 1);
} else if (input.toString().startsWith("_")) {
output.append("001101#");
input.delete(0, 1);
} else if (input.toString().startsWith("(")) {
output.append("10110#");
input.delete(0, 1);
} else if (input.toString().startsWith(")")) {
output.append("101101#");
input.delete(0, 1);
} else if (input.toString().startsWith("=")) {
output.append("10001#");
input.delete(0, 1);
} else if (input.toString().startsWith("+")) {
output.append("01010#");
input.delete(0, 1);
} else if (input.toString().startsWith("/")) {
output.append("10010#");
input.delete(0, 1);
} else if (input.toString().startsWith("@")) {
output.append("011010#");
input.delete(0, 1);
} else if (input.toString().startsWith("'")) {
output.append("011110#");
input.delete(0, 1);
} else if (input.toString().startsWith("$")) {
output.append("0001001#");
input.delete(0, 1);
} else {
return "Code not listed or wrong.";
}
}
if (output.toString().endsWith("#")) {
output.delete(output.length() - 1, output.length());
}
}
return output.toString();
}
}
package de.marcelkapfer.c.morseconverter.engine;
/*
This is a Java application for converting writtenMorse and normal morse code.
Copyright (C) 2014-2015 Marcel Michael Kapfer
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 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Marcel Michael Kapfer
marcelmichaelkapfer@yahoo.co.nz
*/
public class DecodeWrittenMorseManager {
public static String getDecodedString(String inputMessage) {
if(inputMessage.equals("")){
return "Please enter at least one character";
} else {
StringBuffer message = new StringBuffer(inputMessage);
if (message.toString().endsWith(" ")) {
message = message.deleteCharAt(message.length() - 1);
}
// Variables
StringBuffer input = new StringBuffer();
input = input.replace(0, input.length(), message.toString().toUpperCase());
StringBuffer output = new StringBuffer();
if (input.toString().equals("LETTERSPACE")) {
output.replace(0, output.length(), "#");
} else if (input.toString().equals("END OF WORK")) {
output.replace(0, output.length(), "000101");
} else if (input.toString().equals("ERROR")) {
output.replace(0, output.length(), "00000000");
} else if (input.toString().equals("STARTING SIGNAL")) {
output.replace(0, output.length(), "10101");
} else if (input.toString().equals("ENDING SIGNAL")) {
output.replace(0, output.length(), "01010");
} else if (input.toString().equals("UNDERSTOOD")) {
output.replace(0, output.length(), "00010");
} else if (input.toString().equals("WAIT")) {
output.replace(0, output.length(), "01000");
} else if (input.toString().equals("SOS")) {
output.replace(0, output.length(), "000111000");
} else if (input.toString().equals("LETTER SPACE")) {
output.replace(0, output.length(), "##");
} else if (input.toString().equals("WORD SPACE")) {
output.replace(0, output.length(), "+");
} else {
while (input.length() > 0) {
if (input.toString().startsWith(" ")) {
if (output.toString().endsWith("#")) {
output.delete(output.length() - 1, output.length());
}
output.append("+");
input.delete(0, 1);
} else if (input.toString().startsWith(System.lineSeparator())) {
output.append(System.lineSeparator());
int indexLineSeparator = input.indexOf(System.lineSeparator());
input.delete(indexLineSeparator, indexLineSeparator + System.lineSeparator().length());
} else if (input.toString().startsWith("\n")) {
output.append(System.lineSeparator());
int indexLineSeparator = input.indexOf("\n");
input.deleteCharAt(indexLineSeparator);
} else if (input.toString().startsWith("A")) {
output.append("01#");
input.delete(0, 1);
} else if (input.toString().startsWith("B")) {
output.append("1000#");
input.delete(0, 1);
} else if (input.toString().startsWith("C")) {
output.append("1010#");
input.delete(0, 1);
} else if (input.toString().startsWith("D")) {
output.append("100#");
input.delete(0, 1);
} else if (input.toString().startsWith("E")) {
output.append("0#");
input.delete(0, 1);
} else if (input.toString().startsWith("F")) {
output.append("0010#");
input.delete(0, 1);
} else if (input.toString().startsWith("G")) {
output.append("110#");
input.delete(0, 1);
} else if (input.toString().startsWith("H")) {
output.append("0000#");
input.delete(0, 1);
} else if (input.toString().startsWith("I")) {
output.append("00#");
input.delete(0, 1);
} else if (input.toString().startsWith("J")) {
output.append("0111#");
input.delete(0, 1);
} else if (input.toString().startsWith("K")) {
output.append("101#");
input.delete(0, 1);
} else if (input.toString().startsWith("L")) {
output.append("0100#");
input.delete(0, 1);
} else if (input.toString().startsWith("M")) {
output.append("11#");
input.delete(0, 1);
} else if (input.toString().startsWith("N")) {
output.append("10#");
input.delete(0, 1);
} else if (input.toString().startsWith("O")) {
output.append("111#");
input.delete(0, 1);
} else if (input.toString().startsWith("P")) {
output.append("0110#");
input.delete(0, 1);
} else if (input.toString().startsWith("Q")) {
output.append("1101#");
input.delete(0, 1);
} else if (input.toString().startsWith("R")) {
output.append("010#");
input.delete(0, 1);
} else if (input.toString().startsWith("S")) {
output.append("000#");
input.delete(0, 1);
} else if (input.toString().startsWith("T")) {
output.append("1#");
input.delete(0, 1);
} else if (input.toString().startsWith("U")) {
output.append("001#");
input.delete(0, 1);
} else if (input.toString().startsWith("V")) {
output.append("0001#");
input.delete(0, 1);
} else if (input.toString().startsWith("W")) {
output.append("011#");
input.delete(0, 1);
} else if (input.toString().startsWith("X")) {
output.append("1001#");
input.delete(0, 1);
} else if (input.toString().startsWith("Y")) {
output.append("1011#");
input.delete(0, 1);
} else if (input.toString().startsWith("Z")) {
output.append("1100#");
input.delete(0, 1);
} else if (input.toString().startsWith("0")) {
output.append("11111#");
input.delete(0, 1);
} else if (input.toString().startsWith("1")) {
output.append("01111#");
input.delete(0, 1);
} else if (input.toString().startsWith("2")) {
output.append("00111#");
input.delete(0, 1);
} else if (input.toString().startsWith("3")) {
output.append("00011#");
input.delete(0, 1);
} else if (input.toString().startsWith("4")) {
output.append("00001#");
input.delete(0, 1);
} else if (input.toString().startsWith("5")) {
output.append("00000#");
input.delete(0, 1);
} else if (input.toString().startsWith("6")) {
output.append("10000#");
input.delete(0, 1);
} else if (input.toString().startsWith("7")) {
output.append("11000#");
input.delete(0, 1);
} else if (input.toString().startsWith("8")) {
output.append("11100#");
input.delete(0, 1);
} else if (input.toString().startsWith("9")) {
output.append("11110#");
input.delete(0, 1);
} else if (input.toString().startsWith("Ä")) {
output.append("0101#");
input.delete(0, 1);
} else if (input.toString().startsWith("Ö")) {
output.append("1110#");
input.delete(0, 1);
} else if (input.toString().startsWith("Ü")) {
output.append("0011#");
input.delete(0, 1);
} else if (input.toString().startsWith("ß")) {
output.append("00011000#");
input.delete(0, 1);
} else if (input.toString().startsWith(".")) {
output.append("010101#");
input.delete(0, 1);
} else if (input.toString().startsWith(",")) {
output.append("110011#");
input.delete(0, 1);
} else if (input.toString().startsWith(":")) {
output.append("111000#");
input.delete(0, 1);
} else if (input.toString().startsWith(";")) {
output.append("101010#");
input.delete(0, 1);
} else if (input.toString().startsWith("?")) {
output.append("001100#");
input.delete(0, 1);
} else if (input.toString().startsWith("!")) {
output.append("101011#");
input.delete(0, 1);
} else if (input.toString().startsWith("-")) {
output.append("100001#");
input.delete(0, 1);
} else if (input.toString().startsWith("_")) {
output.append("001101#");
input.delete(0, 1);
} else if (input.toString().startsWith("(")) {
output.append("10110#");
input.delete(0, 1);
} else if (input.toString().startsWith(")")) {
output.append("101101#");
input.delete(0, 1);
} else if (input.toString().startsWith("=")) {
output.append("10001#");
input.delete(0, 1);
} else if (input.toString().startsWith("+")) {
output.append("01010#");
input.delete(0, 1);
} else if (input.toString().startsWith("/")) {
output.append("10010#");
input.delete(0, 1);
} else if (input.toString().startsWith("@")) {
output.append("011010#");
input.delete(0, 1);
} else if (input.toString().startsWith("'")) {
output.append("011110#");
input.delete(0, 1);
} else if (input.toString().startsWith("$")) {
output.append("0001001#");
input.delete(0, 1);
} else {
return "Code not listed or wrong.";
}
}
if (output.toString().endsWith("#")) {
output.delete(output.length() - 1, output.length());
}
}
return output.toString();
}
}
}

View file

@ -40,6 +40,9 @@ public class EncodeNormalMorseManager {
String input;
StringBuffer output = new StringBuffer();
input = message.toString() + " ";
input = input.replace(System.lineSeparator(), "\n");
input = input.replace("\r", "\n");
input = input.replace("\r\n", "\n");
StringBuffer inputToSign = new StringBuffer(input);
while (!inputToSign.toString().equals(" ")) {
int d = 0;

View file

@ -39,9 +39,9 @@ public class EncodeWrittenMorseManager {
String input;
StringBuffer output = new StringBuffer();
input = message.toString().toUpperCase() + "#";
input.replace(System.lineSeparator(), "\n");
input.replace("\r", "\n");
input.replace("\r\n", "\n");
input = input.replace(System.lineSeparator(), "\n");
input = input.replace("\r", "\n");
input = input.replace("\r\n", "\n");
StringBuffer inputToSign = new StringBuffer(input);
while (!inputToSign.toString().equals("#")) {
int d = 0;

View file

@ -1,4 +1,4 @@
about=<body style\="font-family\: sans-serif">\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Version</b><br>1.9.1 alpha\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Developer</b><br>Marcel Michael Kapfer\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Website</b><br>marcel-kapfer.de/writtenmorse\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Contact</b><br>marcelmichaelkapfer@yahoo.co.nz\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>License</b><br>GNU GPL v3.0\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Bug</b><br>If you found a bug, please write me a mail to marcelmichaelkapfer@yahoo.co.nz with a short description of the problem.\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>How to</b><br>You can find a detailed guide on marcel-kapfer.de/writtenmorse/\#howto_desktop\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Missing Code</b><br>If you discovered, that a code is missing, then write me a mail to marcelmichaelkapfer@yahoo.co.nz and tell me about it.\n</p>\n</p>\n</body>
about=<body style\="font-family\: sans-serif">\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Version</b><br>1.9.3 beta\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Developer</b><br>Marcel Michael Kapfer\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Website</b><br>marcel-kapfer.de/writtenmorse\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Contact</b><br>marcelmichaelkapfer@yahoo.co.nz\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>License</b><br>GNU GPL v3.0\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Bug</b><br>If you found a bug, please write me a mail to marcelmichaelkapfer@yahoo.co.nz with a short description of the problem.\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>How to</b><br>You can find a detailed guide on marcel-kapfer.de/writtenmorse/\#howto_desktop\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Missing Code</b><br>If you discovered, that a code is missing, then write me a mail to marcelmichaelkapfer@yahoo.co.nz and tell me about it.\n</p>\n</p>\n</body>
aboutUpdateAvailable=Update available
aboutUpdateAvailableButton=Install Update
inputText=Enter your text

View file

@ -1,4 +1,4 @@
about=<body style\="font-family\: sans-serif">\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Version</b><br>1.9.1 alpha\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Entwickler</b><br>Marcel Michael Kapfer\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Website</b><br>marcel-kapfer.de/writtenmorse\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Kontakt</b><br>marcelmichaelkapfer@yahoo.co.nz\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Lizenz</b><br>GNU GPL v3.0\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Fehler</b><br>Wenn Du einen Fehler gefunden hast, schreibe mir bitte ein E-Mail an marcelmichaelkapfer@yahoo.co.nz\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>How to</b><br>Du kannst eine ausführliche Anleitung auf marcel-kapfer.de/writtenmorse/\#howto_android finden.\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Fehlender Code</b><br>Wenn Du auf einen fehlenden Code aufmerksam geworden bist, dann schreibe eine E-Mail an marcelmichaelkapfer@yahoo.co.nz.\n</p>\n</p>\n</body>
about=<body style\="font-family\: sans-serif">\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Version</b><br>1.9.3 beta\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Entwickler</b><br>Marcel Michael Kapfer\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Website</b><br>marcel-kapfer.de/writtenmorse\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Kontakt</b><br>marcelmichaelkapfer@yahoo.co.nz\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Lizenz</b><br>GNU GPL v3.0\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Fehler</b><br>Wenn Du einen Fehler gefunden hast, schreibe mir bitte ein E-Mail an marcelmichaelkapfer@yahoo.co.nz\n</p>\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>How to</b><br>Du kannst eine ausführliche Anleitung auf marcel-kapfer.de/writtenmorse/\#howto_android finden.\n<p style\="margin-top\: 5px; margin-right\: 5px; margin-bottom\: 5px; margin-left\: 5px">\n<b>Fehlender Code</b><br>Wenn Du auf einen fehlenden Code aufmerksam geworden bist, dann schreibe eine E-Mail an marcelmichaelkapfer@yahoo.co.nz.\n</p>\n</p>\n</body>
aboutUpdateAvailable=Update verfügbar
aboutUpdateAvailableButton=Update installieren
inputText=Geben Sie einen Text ein

View file

@ -80,7 +80,7 @@ public class UpdateDialog extends JDialog {
// add your code here
try {
String path = Main.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();
path = path.substring(0, path.lastIndexOf(File.separator));
path = path.substring(0, path.lastIndexOf("/"));
if(Update.isConnected("http://lab.marcel-kapfer.de/writtenmorse/desktop/morseconverter.jar")){
if(Update.update(path + File.separator, "morseconverter.jar")){
JOptionPane.showMessageDialog(null, resourceBundle.getString("update-successful"));