Revision: 7412
          
http://languagetool.svn.sourceforge.net/languagetool/?rev=7412&view=rev
Author:   milek_pl
Date:     2012-06-19 11:01:16 +0000 (Tue, 19 Jun 2012)
Log Message:
-----------
some work in the language manager - add a warning dialog (including strings to 
translate) and a TODO; LanguageBuilder supports variants now as well

Modified Paths:
--------------
    trunk/JLanguageTool/src/java/org/languagetool/MessagesBundle.properties
    trunk/JLanguageTool/src/java/org/languagetool/MessagesBundle_en.properties
    trunk/JLanguageTool/src/java/org/languagetool/gui/LanguageManagerDialog.java
    trunk/JLanguageTool/src/java/org/languagetool/language/LanguageBuilder.java

Modified: 
trunk/JLanguageTool/src/java/org/languagetool/MessagesBundle.properties
===================================================================
--- trunk/JLanguageTool/src/java/org/languagetool/MessagesBundle.properties     
2012-06-19 10:14:23 UTC (rev 7411)
+++ trunk/JLanguageTool/src/java/org/languagetool/MessagesBundle.properties     
2012-06-19 11:01:16 UTC (rev 7412)
@@ -246,3 +246,7 @@
 pt-BR = Portuguese (Brazil)
 
 pt-PT = Portuguese (Portugal) 
+
+guiWarning = Warning
+
+guiDuplicate = Duplicate rule file!
\ No newline at end of file

Modified: 
trunk/JLanguageTool/src/java/org/languagetool/MessagesBundle_en.properties
===================================================================
--- trunk/JLanguageTool/src/java/org/languagetool/MessagesBundle_en.properties  
2012-06-19 10:14:23 UTC (rev 7411)
+++ trunk/JLanguageTool/src/java/org/languagetool/MessagesBundle_en.properties  
2012-06-19 11:01:16 UTC (rev 7412)
@@ -245,4 +245,8 @@
 
 pt-BR = Portuguese (Brazil)
 
-pt-PT = Portuguese (Portugal)
\ No newline at end of file
+pt-PT = Portuguese (Portugal)
+
+guiWarning = Warning
+
+guiDuplicate = Duplicate rule file!
\ No newline at end of file

Modified: 
trunk/JLanguageTool/src/java/org/languagetool/gui/LanguageManagerDialog.java
===================================================================
--- 
trunk/JLanguageTool/src/java/org/languagetool/gui/LanguageManagerDialog.java    
    2012-06-19 10:14:23 UTC (rev 7411)
+++ 
trunk/JLanguageTool/src/java/org/languagetool/gui/LanguageManagerDialog.java    
    2012-06-19 11:01:16 UTC (rev 7412)
@@ -36,6 +36,7 @@
 import javax.swing.JComponent;
 import javax.swing.JDialog;
 import javax.swing.JList;
+import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.JRootPane;
 import javax.swing.JScrollPane;
@@ -146,9 +147,14 @@
   public void actionPerformed(ActionEvent e) {
     if (e.getSource() == addButton) {
       final File ruleFile = Tools.openFileDialog(null, new XMLFileFilter());
-      // TODO: avoid duplicate files!
-      ruleFiles.add(ruleFile);
-      list.setListData(ruleFiles.toArray(new File[]{}));
+      if (!isOnList(ruleFile)) {
+          ruleFiles.add(ruleFile);      
+          list.setListData(ruleFiles.toArray(new File[]{}));
+      } else {
+         JOptionPane jop = new JOptionPane();         
+          JOptionPane.showMessageDialog(jop, 
Messages.getString("guiDuplicate"), 
+                  Messages.getString("guiWarning"), 
JOptionPane.WARNING_MESSAGE);          
+      }
     } else if (e.getSource() == removeButton) {
       if (list.getSelectedIndex() != -1) {
         ruleFiles.remove(list.getSelectedIndex());
@@ -161,6 +167,15 @@
     }
   }
   
+  private boolean isOnList(final File file) {
+      for (File f : ruleFiles) {
+          if (f.equals(file)) {
+              return true;
+          }
+      }
+      return false;
+  }
+  
   /**
    * Return all external Languages.
    */

Modified: 
trunk/JLanguageTool/src/java/org/languagetool/language/LanguageBuilder.java
===================================================================
--- trunk/JLanguageTool/src/java/org/languagetool/language/LanguageBuilder.java 
2012-06-19 10:14:23 UTC (rev 7411)
+++ trunk/JLanguageTool/src/java/org/languagetool/language/LanguageBuilder.java 
2012-06-19 11:01:16 UTC (rev 7412)
@@ -53,12 +53,16 @@
     if (!file.getName().endsWith(".xml")) {
       throw new RuleFilenameException(file);
     }
-    final String[] parts = file.getName().split("-");
+    final String[] parts = file.getName().split("-");    
     final boolean startsWithRules = parts[0].equals("rules");
-    final boolean secondPartHasCorrectLength = parts[1].length() == 2 || 
parts[1].length() == 3;
+    final boolean secondPartHasCorrectLength = 
+            (parts[1].length() == 2 || parts[1].length() == 5) || 
parts[1].length() == 3;
     if (parts.length != 3 || !startsWithRules || !secondPartHasCorrectLength) {
       throw new RuleFilenameException(file);
     }
+    //TODO: when the Language already exists, and the XML file is mergeable 
with
+    // other rules (need to add a parameter for this?), subclass the existing 
language,
+    //and adjust the settings if any are set in the rule file default 
configuration set
     
     final Language newLanguage = new Language() {
       @Override
@@ -71,11 +75,15 @@
       }
       @Override
       public String getShortName() {
-        return parts[1];
+        if (parts[1].length() == 2)
+            return parts[1];
+        return  parts[1].split("_")[0]; //en as in en_US
       }
       @Override
       public String[] getCountryVariants() {
-        return new String[] {""};
+        if (parts[1].length() == 2)
+            return new String[] {""};
+        return new String[] {parts[1].split("_")[1]}; //US as in en_US
       }
       @Override
       public String getName() {

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Languagetool-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-cvs

Reply via email to