aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/plugin/spellcheck/SpellCheckerConfigDialog.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/java/sip/communicator/plugin/spellcheck/SpellCheckerConfigDialog.java')
-rw-r--r--src/net/java/sip/communicator/plugin/spellcheck/SpellCheckerConfigDialog.java842
1 files changed, 421 insertions, 421 deletions
diff --git a/src/net/java/sip/communicator/plugin/spellcheck/SpellCheckerConfigDialog.java b/src/net/java/sip/communicator/plugin/spellcheck/SpellCheckerConfigDialog.java
index 35ef36b..6882d36 100644
--- a/src/net/java/sip/communicator/plugin/spellcheck/SpellCheckerConfigDialog.java
+++ b/src/net/java/sip/communicator/plugin/spellcheck/SpellCheckerConfigDialog.java
@@ -1,4 +1,4 @@
-/*
+/*
* Jitsi, the OpenSource Java VoIP and Instant Messaging client.
*
* Copyright @ 2015 Atlassian Pty Ltd
@@ -15,423 +15,423 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package net.java.sip.communicator.plugin.spellcheck;
-
-import java.awt.*;
-import java.awt.event.*;
-import java.util.List;
-
-import javax.swing.*;
-import javax.swing.event.*;
-import javax.swing.text.*;
-
-import net.java.sip.communicator.service.gui.*;
-import net.java.sip.communicator.util.*;
-import net.java.sip.communicator.plugin.desktoputil.*;
-
-import org.dts.spell.dictionary.*;
-import org.jitsi.service.resources.*;
-
-/**
- * The spell check dialog that would be opened from the right click menu in the
- * chat window.
- *
- * @author Purvesh Sahoo
- */
-public class SpellCheckerConfigDialog
- extends SIPCommDialog
- implements ActionListener
-{
- /**
- * Serial version UID.
- */
- private static final long serialVersionUID = 0L;
-
- private static final Logger logger = Logger
- .getLogger(SpellCheckerConfigDialog.class);
-
- /**
- * UI Components
- */
- private JTextComponent currentWord;
-
- private JList suggestionList;
-
- private JScrollPane suggestionScroll;
-
- private JButton changeButton;
-
- private JButton nextButton;
-
- private JButton addButton;
-
- private JPanel checkPanel;
-
- private JPanel buttonsPanel;
-
- private JPanel topPanel;
-
- private JPanel suggestionPanel;
-
- private SpellDictionary dict;
-
- private Chat chat;
-
- private final ResourceManagementService resources = Resources
- .getResources();
-
- private String word;
-
- private int index;
-
- private Word clickedWord;
-
- public SpellCheckerConfigDialog(Chat chat, Word clickedWord,
- SpellDictionary dict)
- {
-
- super(false);
-
- this.dict = dict;
- this.chat = chat;
-
- initComponents(clickedWord);
-
- this.setTitle(resources.getI18NString("plugin.spellcheck.TITLE"));
- this.setMinimumSize(new Dimension(450, 320));
- this.setPreferredSize(new Dimension(450, 320));
- this.setResizable(false);
-
- JPanel mainPanel = new JPanel(new BorderLayout(10, 10));
- mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
-
- mainPanel.add(topPanel);
-
- this.getContentPane().add(mainPanel);
-
- this.pack();
- Toolkit toolkit = Toolkit.getDefaultToolkit();
- Dimension screenSize = toolkit.getScreenSize();
-
- int x = (screenSize.width - this.getWidth()) / 2;
- int y = (screenSize.height - this.getHeight()) / 2;
-
- this.setLocation(x, y);
-
- if (!currentWord.getText().equals(" ")
- && this.dict.isCorrect(currentWord.getText()))
- {
- nextButton.doClick();
- }
- }
-
- /**
- * Initialises the UI components.
- */
- private void initComponents(final Word clickWord)
- {
-
- clickedWord =
- (clickWord == null) ? Word.getWord(" ", 1, false) : clickWord;
-
- topPanel = new TransparentPanel(new BorderLayout());
- topPanel.setBorder(BorderFactory.createEmptyBorder(0, 8, 0, 8));
- topPanel.setLayout(new BoxLayout(topPanel, BoxLayout.Y_AXIS));
-
- checkPanel = new TransparentPanel(new BorderLayout(10, 10));
- checkPanel.setBorder(BorderFactory.createEmptyBorder(0, 8, 0, 8));
- checkPanel.setLayout(new BoxLayout(checkPanel, BoxLayout.X_AXIS));
-
- currentWord = new JTextField(clickedWord.getText());
-
- currentWord.setAlignmentX(LEFT_ALIGNMENT);
- currentWord.setMaximumSize(new Dimension(550, 30));
-
- currentWord.setText(clickedWord.getText());
- currentWord.selectAll();
-
- // JPanel wordPanel = new TransparentPanel(new BorderLayout());
- // wordPanel.setBorder(BorderFactory.createEmptyBorder(0, 8, 0, 8));
- // wordPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 5));
- // wordPanel.add(currentWord);
-
- buttonsPanel =
- new TransparentPanel(new FlowLayout(FlowLayout.RIGHT, 0, 10));
- changeButton =
- new JButton(
- resources.getI18NString("plugin.spellcheck.dialog.REPLACE"));
- changeButton.setMnemonic(resources
- .getI18nMnemonic("plugin.spellcheck.dialog.REPLACE"));
-
- changeButton.addActionListener(new ActionListener()
- {
-
- public void actionPerformed(ActionEvent e)
- {
- if (suggestionList.getSelectedValue() != null)
- {
-
- StringBuffer newMessage =
- new StringBuffer(chat.getMessage());
- int endIndex;
-
- if (word != null)
- {
- endIndex = index + currentWord.getText().length();
- newMessage.replace(index, endIndex,
- (String) suggestionList.getSelectedValue());
- word = (String) suggestionList.getSelectedValue();
- }
- else
- {
- endIndex =
- clickedWord.getStart()
- + clickedWord.getText().length();
- newMessage.replace(clickedWord.getStart(), endIndex,
- (String) suggestionList.getSelectedValue());
- }
- currentWord.setText((String) suggestionList
- .getSelectedValue());
- chat.setMessage(newMessage.toString());
-
- }
- }
- });
- changeButton.setEnabled(false);
-
- nextButton =
- new JButton(
- resources.getI18NString("plugin.spellcheck.dialog.FIND"));
- nextButton.setMnemonic(resources
- .getI18nMnemonic("plugin.spellcheck.dialog.FIND"));
-
- nextButton.addActionListener(new ActionListener()
- {
-
- public Word getNextWord()
- {
-
- Word nextWord;
- int wordIndex;
-
- if (word == null)
- {
- if (currentWord.getText().equals(" "))
- {
- String words[] = chat.getMessage().split(" ");
- currentWord.setText(words[0]);
-
- }
-
- wordIndex =
- chat.getMessage().indexOf(currentWord.getText());
- if (dict.isCorrect(currentWord.getText()))
- currentWord.setText("");
- }
- else
- {
- wordIndex = chat.getMessage().indexOf(word, index);
- }
-
- Word presentWord =
- Word.getWord(chat.getMessage(), wordIndex, false);
-
- if (presentWord.getEnd() == chat.getMessage().length())
- {
- nextWord = Word.getWord(chat.getMessage(), 0, false);
-
- }
- else
- {
- nextWord =
- Word.getWord(chat.getMessage(),
- presentWord.getEnd() + 1, false);
- }
-
- index = nextWord.getStart();
- word = nextWord.getText();
-
- return nextWord;
- }
-
- public void actionPerformed(ActionEvent e)
- {
- Word nextWord = getNextWord();
- int breakIndex = nextWord.getStart();
- if(breakIndex == 0)
- breakIndex = nextWord.getEnd() + 1;
-
- if(nextWord.getText().length() == 0)
- {
- breakIndex++;
- nextWord = getNextWord();
- }
-
- while (dict.isCorrect(nextWord.getText())
- && nextWord.getEnd() + 1 != breakIndex)
- {
- nextWord = getNextWord();
-
- }
-
- if (!dict.isCorrect(nextWord.getText()))
- {
- word = nextWord.getText();
- currentWord.setText(nextWord.getText());
-
- String clickedWord = currentWord.getText();
- setSuggestionModel(clickedWord);
- }
-
- }
- });
-
- buttonsPanel.setLayout(new BoxLayout(buttonsPanel, BoxLayout.Y_AXIS));
- buttonsPanel.add(changeButton);
- buttonsPanel.add(nextButton);
-
- checkPanel.add(currentWord, BorderLayout.NORTH);
- checkPanel.add(Box.createHorizontalStrut(10));
- checkPanel.add(buttonsPanel, BorderLayout.EAST);
-
- topPanel.add(checkPanel, BorderLayout.NORTH);
- topPanel.add(Box.createVerticalStrut(10));
-
- DefaultListModel dataModel = new DefaultListModel();
- suggestionList = new JList(dataModel);
-
- suggestionScroll = new JScrollPane(suggestionList);
- suggestionScroll.setAlignmentX(LEFT_ALIGNMENT);
-
- if (!dict.isCorrect(clickedWord.getText()))
- setSuggestionModel(clickedWord.getText());
-
- suggestionList.addListSelectionListener(new ListSelectionListener()
- {
-
- public void valueChanged(ListSelectionEvent e)
- {
-
- if (!e.getValueIsAdjusting())
- {
- changeButton.setEnabled(true);
- }
- }
- });
-
- MouseListener clickListener = new MouseAdapter()
- {
- @Override
- public void mouseClicked(MouseEvent e)
- {
- if (e.getClickCount() == 2)
- {
-
- StringBuffer newMessage =
- new StringBuffer(chat.getMessage());
- int endIndex;
-
- if (word != null)
- {
- endIndex = index + currentWord.getText().length();
- newMessage.replace(index, endIndex,
- (String) suggestionList.getSelectedValue());
- word = (String) suggestionList.getSelectedValue();
- }
- else
- {
- endIndex =
- clickedWord.getStart()
- + clickedWord.getText().length();
- newMessage.replace(clickedWord.getStart(), endIndex,
- (String) suggestionList.getSelectedValue());
- }
- currentWord.setText((String) suggestionList
- .getSelectedValue());
- chat.setMessage(newMessage.toString());
-
- }
- }
- };
-
- suggestionList.addMouseListener(clickListener);
-
- addButton =
- new JButton(resources.getI18NString("plugin.spellcheck.dialog.ADD"));
- addButton.setMnemonic(resources
- .getI18nMnemonic("plugin.spellcheck.dialog.ADD"));
-
- addButton.addActionListener(new ActionListener()
- {
-
- public void actionPerformed(ActionEvent e)
- {
-
- try
- {
- dict.addWord(currentWord.getText());
- chat.promptRepaint();
- }
- catch (SpellDictionaryException exc)
- {
- String msg = "Unable to add word to personal dictionary";
- logger.error(msg, exc);
- }
- }
- });
-
- suggestionPanel = new TransparentPanel(new BorderLayout(10, 10));
- suggestionPanel.setBorder(BorderFactory.createEmptyBorder(0, 8, 0, 8));
- suggestionPanel.setLayout(new BoxLayout(suggestionPanel,
- BoxLayout.X_AXIS));
- suggestionPanel.add(suggestionScroll);
- suggestionPanel.add(Box.createHorizontalStrut(10));
- suggestionPanel.add(addButton);
-
- topPanel.add(suggestionPanel, BorderLayout.SOUTH);
-
- }
-
- /**
- * Sets the model for the suggestion list
- *
- * @param clickedWord
- */
- private void setSuggestionModel(String clickedWord)
- {
-
- DefaultListModel dataModel = new DefaultListModel();
- List<String> corrections = this.dict.getSuggestions(clickedWord);
- for (String correction : corrections)
- {
- dataModel.addElement(correction);
- }
-
- suggestionList.setModel(dataModel);
- }
-
- /**
- * Returns the selected correction value
- *
- * @return selected value from suggestion list
- */
- public Object getCorrection()
- {
-
- return suggestionList.getSelectedValue();
- }
-
- public void actionPerformed(ActionEvent e)
- {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- protected void close(boolean escaped)
- {
- // TODO Auto-generated method stub
-
- }
-
-}
+package net.java.sip.communicator.plugin.spellcheck;
+
+import java.awt.*;
+import java.awt.event.*;
+import java.util.List;
+
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.text.*;
+
+import net.java.sip.communicator.service.gui.*;
+import net.java.sip.communicator.util.*;
+import net.java.sip.communicator.plugin.desktoputil.*;
+
+import org.dts.spell.dictionary.*;
+import org.jitsi.service.resources.*;
+
+/**
+ * The spell check dialog that would be opened from the right click menu in the
+ * chat window.
+ *
+ * @author Purvesh Sahoo
+ */
+public class SpellCheckerConfigDialog
+ extends SIPCommDialog
+ implements ActionListener
+{
+ /**
+ * Serial version UID.
+ */
+ private static final long serialVersionUID = 0L;
+
+ private static final Logger logger = Logger
+ .getLogger(SpellCheckerConfigDialog.class);
+
+ /**
+ * UI Components
+ */
+ private JTextComponent currentWord;
+
+ private JList suggestionList;
+
+ private JScrollPane suggestionScroll;
+
+ private JButton changeButton;
+
+ private JButton nextButton;
+
+ private JButton addButton;
+
+ private JPanel checkPanel;
+
+ private JPanel buttonsPanel;
+
+ private JPanel topPanel;
+
+ private JPanel suggestionPanel;
+
+ private SpellDictionary dict;
+
+ private Chat chat;
+
+ private final ResourceManagementService resources = Resources
+ .getResources();
+
+ private String word;
+
+ private int index;
+
+ private Word clickedWord;
+
+ public SpellCheckerConfigDialog(Chat chat, Word clickedWord,
+ SpellDictionary dict)
+ {
+
+ super(false);
+
+ this.dict = dict;
+ this.chat = chat;
+
+ initComponents(clickedWord);
+
+ this.setTitle(resources.getI18NString("plugin.spellcheck.TITLE"));
+ this.setMinimumSize(new Dimension(450, 320));
+ this.setPreferredSize(new Dimension(450, 320));
+ this.setResizable(false);
+
+ JPanel mainPanel = new JPanel(new BorderLayout(10, 10));
+ mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
+
+ mainPanel.add(topPanel);
+
+ this.getContentPane().add(mainPanel);
+
+ this.pack();
+ Toolkit toolkit = Toolkit.getDefaultToolkit();
+ Dimension screenSize = toolkit.getScreenSize();
+
+ int x = (screenSize.width - this.getWidth()) / 2;
+ int y = (screenSize.height - this.getHeight()) / 2;
+
+ this.setLocation(x, y);
+
+ if (!currentWord.getText().equals(" ")
+ && this.dict.isCorrect(currentWord.getText()))
+ {
+ nextButton.doClick();
+ }
+ }
+
+ /**
+ * Initialises the UI components.
+ */
+ private void initComponents(final Word clickWord)
+ {
+
+ clickedWord =
+ (clickWord == null) ? Word.getWord(" ", 1, false) : clickWord;
+
+ topPanel = new TransparentPanel(new BorderLayout());
+ topPanel.setBorder(BorderFactory.createEmptyBorder(0, 8, 0, 8));
+ topPanel.setLayout(new BoxLayout(topPanel, BoxLayout.Y_AXIS));
+
+ checkPanel = new TransparentPanel(new BorderLayout(10, 10));
+ checkPanel.setBorder(BorderFactory.createEmptyBorder(0, 8, 0, 8));
+ checkPanel.setLayout(new BoxLayout(checkPanel, BoxLayout.X_AXIS));
+
+ currentWord = new JTextField(clickedWord.getText());
+
+ currentWord.setAlignmentX(LEFT_ALIGNMENT);
+ currentWord.setMaximumSize(new Dimension(550, 30));
+
+ currentWord.setText(clickedWord.getText());
+ currentWord.selectAll();
+
+ // JPanel wordPanel = new TransparentPanel(new BorderLayout());
+ // wordPanel.setBorder(BorderFactory.createEmptyBorder(0, 8, 0, 8));
+ // wordPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 5));
+ // wordPanel.add(currentWord);
+
+ buttonsPanel =
+ new TransparentPanel(new FlowLayout(FlowLayout.RIGHT, 0, 10));
+ changeButton =
+ new JButton(
+ resources.getI18NString("plugin.spellcheck.dialog.REPLACE"));
+ changeButton.setMnemonic(resources
+ .getI18nMnemonic("plugin.spellcheck.dialog.REPLACE"));
+
+ changeButton.addActionListener(new ActionListener()
+ {
+
+ public void actionPerformed(ActionEvent e)
+ {
+ if (suggestionList.getSelectedValue() != null)
+ {
+
+ StringBuffer newMessage =
+ new StringBuffer(chat.getMessage());
+ int endIndex;
+
+ if (word != null)
+ {
+ endIndex = index + currentWord.getText().length();
+ newMessage.replace(index, endIndex,
+ (String) suggestionList.getSelectedValue());
+ word = (String) suggestionList.getSelectedValue();
+ }
+ else
+ {
+ endIndex =
+ clickedWord.getStart()
+ + clickedWord.getText().length();
+ newMessage.replace(clickedWord.getStart(), endIndex,
+ (String) suggestionList.getSelectedValue());
+ }
+ currentWord.setText((String) suggestionList
+ .getSelectedValue());
+ chat.setMessage(newMessage.toString());
+
+ }
+ }
+ });
+ changeButton.setEnabled(false);
+
+ nextButton =
+ new JButton(
+ resources.getI18NString("plugin.spellcheck.dialog.FIND"));
+ nextButton.setMnemonic(resources
+ .getI18nMnemonic("plugin.spellcheck.dialog.FIND"));
+
+ nextButton.addActionListener(new ActionListener()
+ {
+
+ public Word getNextWord()
+ {
+
+ Word nextWord;
+ int wordIndex;
+
+ if (word == null)
+ {
+ if (currentWord.getText().equals(" "))
+ {
+ String words[] = chat.getMessage().split(" ");
+ currentWord.setText(words[0]);
+
+ }
+
+ wordIndex =
+ chat.getMessage().indexOf(currentWord.getText());
+ if (dict.isCorrect(currentWord.getText()))
+ currentWord.setText("");
+ }
+ else
+ {
+ wordIndex = chat.getMessage().indexOf(word, index);
+ }
+
+ Word presentWord =
+ Word.getWord(chat.getMessage(), wordIndex, false);
+
+ if (presentWord.getEnd() == chat.getMessage().length())
+ {
+ nextWord = Word.getWord(chat.getMessage(), 0, false);
+
+ }
+ else
+ {
+ nextWord =
+ Word.getWord(chat.getMessage(),
+ presentWord.getEnd() + 1, false);
+ }
+
+ index = nextWord.getStart();
+ word = nextWord.getText();
+
+ return nextWord;
+ }
+
+ public void actionPerformed(ActionEvent e)
+ {
+ Word nextWord = getNextWord();
+ int breakIndex = nextWord.getStart();
+ if(breakIndex == 0)
+ breakIndex = nextWord.getEnd() + 1;
+
+ if(nextWord.getText().length() == 0)
+ {
+ breakIndex++;
+ nextWord = getNextWord();
+ }
+
+ while (dict.isCorrect(nextWord.getText())
+ && nextWord.getEnd() + 1 != breakIndex)
+ {
+ nextWord = getNextWord();
+
+ }
+
+ if (!dict.isCorrect(nextWord.getText()))
+ {
+ word = nextWord.getText();
+ currentWord.setText(nextWord.getText());
+
+ String clickedWord = currentWord.getText();
+ setSuggestionModel(clickedWord);
+ }
+
+ }
+ });
+
+ buttonsPanel.setLayout(new BoxLayout(buttonsPanel, BoxLayout.Y_AXIS));
+ buttonsPanel.add(changeButton);
+ buttonsPanel.add(nextButton);
+
+ checkPanel.add(currentWord, BorderLayout.NORTH);
+ checkPanel.add(Box.createHorizontalStrut(10));
+ checkPanel.add(buttonsPanel, BorderLayout.EAST);
+
+ topPanel.add(checkPanel, BorderLayout.NORTH);
+ topPanel.add(Box.createVerticalStrut(10));
+
+ DefaultListModel dataModel = new DefaultListModel();
+ suggestionList = new JList(dataModel);
+
+ suggestionScroll = new JScrollPane(suggestionList);
+ suggestionScroll.setAlignmentX(LEFT_ALIGNMENT);
+
+ if (!dict.isCorrect(clickedWord.getText()))
+ setSuggestionModel(clickedWord.getText());
+
+ suggestionList.addListSelectionListener(new ListSelectionListener()
+ {
+
+ public void valueChanged(ListSelectionEvent e)
+ {
+
+ if (!e.getValueIsAdjusting())
+ {
+ changeButton.setEnabled(true);
+ }
+ }
+ });
+
+ MouseListener clickListener = new MouseAdapter()
+ {
+ @Override
+ public void mouseClicked(MouseEvent e)
+ {
+ if (e.getClickCount() == 2)
+ {
+
+ StringBuffer newMessage =
+ new StringBuffer(chat.getMessage());
+ int endIndex;
+
+ if (word != null)
+ {
+ endIndex = index + currentWord.getText().length();
+ newMessage.replace(index, endIndex,
+ (String) suggestionList.getSelectedValue());
+ word = (String) suggestionList.getSelectedValue();
+ }
+ else
+ {
+ endIndex =
+ clickedWord.getStart()
+ + clickedWord.getText().length();
+ newMessage.replace(clickedWord.getStart(), endIndex,
+ (String) suggestionList.getSelectedValue());
+ }
+ currentWord.setText((String) suggestionList
+ .getSelectedValue());
+ chat.setMessage(newMessage.toString());
+
+ }
+ }
+ };
+
+ suggestionList.addMouseListener(clickListener);
+
+ addButton =
+ new JButton(resources.getI18NString("plugin.spellcheck.dialog.ADD"));
+ addButton.setMnemonic(resources
+ .getI18nMnemonic("plugin.spellcheck.dialog.ADD"));
+
+ addButton.addActionListener(new ActionListener()
+ {
+
+ public void actionPerformed(ActionEvent e)
+ {
+
+ try
+ {
+ dict.addWord(currentWord.getText());
+ chat.promptRepaint();
+ }
+ catch (SpellDictionaryException exc)
+ {
+ String msg = "Unable to add word to personal dictionary";
+ logger.error(msg, exc);
+ }
+ }
+ });
+
+ suggestionPanel = new TransparentPanel(new BorderLayout(10, 10));
+ suggestionPanel.setBorder(BorderFactory.createEmptyBorder(0, 8, 0, 8));
+ suggestionPanel.setLayout(new BoxLayout(suggestionPanel,
+ BoxLayout.X_AXIS));
+ suggestionPanel.add(suggestionScroll);
+ suggestionPanel.add(Box.createHorizontalStrut(10));
+ suggestionPanel.add(addButton);
+
+ topPanel.add(suggestionPanel, BorderLayout.SOUTH);
+
+ }
+
+ /**
+ * Sets the model for the suggestion list
+ *
+ * @param clickedWord
+ */
+ private void setSuggestionModel(String clickedWord)
+ {
+
+ DefaultListModel dataModel = new DefaultListModel();
+ List<String> corrections = this.dict.getSuggestions(clickedWord);
+ for (String correction : corrections)
+ {
+ dataModel.addElement(correction);
+ }
+
+ suggestionList.setModel(dataModel);
+ }
+
+ /**
+ * Returns the selected correction value
+ *
+ * @return selected value from suggestion list
+ */
+ public Object getCorrection()
+ {
+
+ return suggestionList.getSelectedValue();
+ }
+
+ public void actionPerformed(ActionEvent e)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void close(boolean escaped)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+}