From fb49b73b7e8a66b5d81581a1858961c50582d45d Mon Sep 17 00:00:00 2001 From: mmk2410 Date: Thu, 4 Jun 2015 10:39:07 +0200 Subject: [PATCH] Added line break support --- .../marcelkapfer/c/morseconverter/Main.form | 25 ++++++++++++++++--- .../marcelkapfer/c/morseconverter/Main.java | 2 +- .../engine/DecodeNormalMorseManager.java | 3 +++ .../engine/DecodeWrittenMorseManager.java | 5 +++- .../engine/EncodeNormalMorseManager.java | 5 +++- .../engine/EncodeWrittenMorseManager.java | 6 ++++- 6 files changed, 39 insertions(+), 7 deletions(-) diff --git a/src/de/marcelkapfer/c/morseconverter/Main.form b/src/de/marcelkapfer/c/morseconverter/Main.form index b12763b..c5c8d54 100644 --- a/src/de/marcelkapfer/c/morseconverter/Main.form +++ b/src/de/marcelkapfer/c/morseconverter/Main.form @@ -120,11 +120,30 @@ - + - + - + + + + + + + + + + + + + + + + + + + + diff --git a/src/de/marcelkapfer/c/morseconverter/Main.java b/src/de/marcelkapfer/c/morseconverter/Main.java index 5227658..1f07c94 100644 --- a/src/de/marcelkapfer/c/morseconverter/Main.java +++ b/src/de/marcelkapfer/c/morseconverter/Main.java @@ -73,7 +73,7 @@ public class Main extends JFrame { //TODO To be also shown in the about view if (currentVersion < latestVersion){ - JOptionPane.showMessageDialog(null, "An Update is available!"); + JOptionPane.showMessageDialog(null, "An Update is available!\nGo to the 'About' section for more."); } updateDialogButton.addActionListener(new ActionListener() { diff --git a/src/de/marcelkapfer/c/morseconverter/engine/DecodeNormalMorseManager.java b/src/de/marcelkapfer/c/morseconverter/engine/DecodeNormalMorseManager.java index c5c76bc..32a292a 100644 --- a/src/de/marcelkapfer/c/morseconverter/engine/DecodeNormalMorseManager.java +++ b/src/de/marcelkapfer/c/morseconverter/engine/DecodeNormalMorseManager.java @@ -63,6 +63,9 @@ public class DecodeNormalMorseManager { } output.append(" "); input.delete(0, 1); + } else if(input.toString().startsWith(System.lineSeparator())) { + output.append(System.lineSeparator()); + input.deleteCharAt(input.indexOf(System.lineSeparator())); } else if (input.toString().startsWith("A")) { output.append(".- "); input.delete(0, 1); diff --git a/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java b/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java index 0c82cb0..c681e29 100644 --- a/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java +++ b/src/de/marcelkapfer/c/morseconverter/engine/DecodeWrittenMorseManager.java @@ -56,7 +56,7 @@ public class DecodeWrittenMorseManager { } else if (input.toString().equals("WORD SPACE")) { output.replace(0, output.length(), "+"); } else { - for (int c = input.length(); c > 0; c--) { + while (input.length() > 0) { if (input.toString().startsWith(" ")) { if (output.toString().endsWith("#")) { @@ -64,6 +64,9 @@ public class DecodeWrittenMorseManager { } output.append("+"); input.delete(0, 1); + } else if(input.toString().startsWith(System.lineSeparator())) { + output.append(System.lineSeparator()); + input.deleteCharAt(input.indexOf(System.lineSeparator())); } else if (input.toString().startsWith("A")) { output.append("01#"); input.delete(0, 1); diff --git a/src/de/marcelkapfer/c/morseconverter/engine/EncodeNormalMorseManager.java b/src/de/marcelkapfer/c/morseconverter/engine/EncodeNormalMorseManager.java index b0a97ee..a304081 100644 --- a/src/de/marcelkapfer/c/morseconverter/engine/EncodeNormalMorseManager.java +++ b/src/de/marcelkapfer/c/morseconverter/engine/EncodeNormalMorseManager.java @@ -49,6 +49,9 @@ public class EncodeNormalMorseManager { if (inputToSign.toString().startsWith(" ")) { output.append(" "); inputToSign.delete(d, d + 7); + } else if(inputToSign.toString().startsWith(System.lineSeparator())){ + output.append(System.lineSeparator()); + inputToSign.deleteCharAt(0); } else if (inputToSign.toString().substring(d, d + 3).equals(" ")) { if (d == 0) { inputToSign.delete(0, 3); @@ -62,7 +65,7 @@ public class EncodeNormalMorseManager { d++; } } - if (sign.toString().equals(".-")) { + if(sign.toString().equals(".-")) { output.append("A"); } else if (sign.toString().equals("-...")) { output.append("B"); diff --git a/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java b/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java index 131fea0..e2fe380 100644 --- a/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java +++ b/src/de/marcelkapfer/c/morseconverter/engine/EncodeWrittenMorseManager.java @@ -46,11 +46,15 @@ public class EncodeWrittenMorseManager { StringBuffer sign = new StringBuffer(); while (signFull) { if (inputToSign.toString().charAt(d) == '+' - || inputToSign.toString().charAt(d) == '#') { + || inputToSign.toString().charAt(d) == '#' + || inputToSign.toString().startsWith(System.lineSeparator())) { if (d == 0) { if (inputToSign.toString().startsWith("+")) { output.append(" "); } + if (inputToSign.toString().startsWith(System.lineSeparator())){ + output.append(System.lineSeparator()); + } inputToSign.deleteCharAt(0); } else { sign.replace(0, sign.length(), inputToSign