Author: jerome
Date: 2009-01-21 13:18:35 +0100 (Wed, 21 Jan 2009)
New Revision: 3514

Modified:
   
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterface.java
   
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterfaceFunctions.java
   
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/XMLWriter.java
Log:
* Fixed : #47 ?\226?\128?\148 Remplacement de (favorites copy) (favorites copy) 
by (favorite copy 2)

Modified: 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterface.java
===================================================================
--- 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterface.java
     2009-01-21 10:03:55 UTC (rev 3513)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterface.java
     2009-01-21 12:18:35 UTC (rev 3514)
@@ -2439,65 +2439,7 @@
                CcCommons.isFrameworkBusy = busy;
        }
        
-       /**
-        * Rename alert/favorites in case of one has the same name.
-        * @param newDatas
-        * @param datas
-        * @return
-        */
-       private Object[] rename(Object[] newDatas, Object[][] datas)
-       {
-               if((datas == null) || (datas.length <= 0)){
-                       return newDatas;
-               }
-               
-               Vector<String> names = new Vector<String>();
-               String name = newDatas[0].toString();
-               //Changing object[][] to a vector.
-               for(Object[] obj : datas)
-               {
-                       names.add(obj[0].toString());
-               }
-               
-               if(!names.contains(name))
-               {
-                       return newDatas;
-               }
-               
-               // Generate a single name
-               String absoluteItemName;
-               if (name.toLowerCase().contains("(copy"))
-               {
-                       absoluteItemName = name.substring(0, 
name.indexOf("(copy") - 1);
-               }
-               else
-               {
-                       absoluteItemName = name;
-               }
-               
-               int i = 0;
-               String proposedItemName;
-               while (true)
-               {
-                       if (i == 0)
-                       {
-                               proposedItemName = String.format("%s (copy)", 
absoluteItemName);
-                       }
-                       else
-                       {
-                               proposedItemName = String.format("%s (copy 
%d)", absoluteItemName, i);
-                       }
-                       if (!names.contains(proposedItemName))
-                       {
-                               newDatas[0] = proposedItemName;
-                               break;
-                       }
-                       i++;
-               }
-               return newDatas;
-       }
        
-       
        /**
         * Add a favorites or an alert.
         * @param name
@@ -2516,7 +2458,7 @@
                                else
                                        datas = 
fileBrowser.getAttituneDatasRemoteStruct(name).toArray();
                                        
-                               datas = rename(datas, 
alertPlaylist.datasToDisplay);
+                               datas = CcInterfaceFunctions.rename(datas, 
alertPlaylist.datasToDisplay);
                                CcCommons.settings.addToAlertList(datas, null);
                                
alertPlaylist.setDatas(CcCommons.settings.getAlertListDatas());
                                this.showPlaylist(0);
@@ -2528,7 +2470,7 @@
                                        datas = 
fileBrowser.getDatasAsRemoteStruct(CcConstants.TYPE_ATTITUNES, CcCommons.view);
                                else
                                        datas = 
fileBrowser.getAttituneDatasRemoteStruct(name).toArray();
-                               datas = rename(datas, 
remotePlaylist.datasToDisplay);
+                               datas = CcInterfaceFunctions.rename(datas, 
remotePlaylist.datasToDisplay);
                                CcCommons.settings.addToRemoteList(datas);
                                
remotePlaylist.setDatas(CcCommons.settings.getRemoteListDatas());
                                this.showPlaylist(1);
@@ -2540,7 +2482,7 @@
                else if(CcCommons.type == CcConstants.TYPE_GADGETS){
                        if(this.playlistDragToIndex == 0){
                                Object[] datas = 
fileBrowser.getDatasAsRemoteStruct(CcConstants.TYPE_GADGETS, CcCommons.view);
-                               datas = rename(datas, 
alertPlaylist.datasToDisplay);
+                               datas = CcInterfaceFunctions.rename(datas, 
alertPlaylist.datasToDisplay);
                                CcCommons.settings.addToAlertList(datas, null);
                                
alertPlaylist.setDatas(CcCommons.settings.getAlertListDatas());
                                this.showPlaylist(0);
@@ -2548,7 +2490,7 @@
                        
                        else if(this.playlistDragToIndex == 1){
                                Object[] datas = 
fileBrowser.getDatasAsRemoteStruct(CcConstants.TYPE_GADGETS, CcCommons.view);
-                               datas = rename(datas, 
remotePlaylist.datasToDisplay);
+                               datas = CcInterfaceFunctions.rename(datas, 
remotePlaylist.datasToDisplay);
                                CcCommons.settings.addToRemoteList(datas);
                                
remotePlaylist.setDatas(CcCommons.settings.getRemoteListDatas());
                                this.showPlaylist(1);
@@ -2569,12 +2511,14 @@
                }
                
                else if(CcCommons.type == CcConstants.TYPE_REMOTELIST){
-                       if(this.playlistDragToIndex == 0){
+                       if(this.playlistDragToIndex == 0)
+                       {
                                
CcCommons.settings.registerRemoteAsAlert(remotePlaylist.getSelectedName());
                                
alertPlaylist.setDatas(CcCommons.settings.getAlertListDatas());
                                alertPlaylist.refresh();
                                this.showPlaylist(0);
-                       }else{ //simple copy.
+                       }
+                       else{ //simple copy.
                                
CcCommons.settings.copyRemote(remotePlaylist.getSelectedName());
                                
remotePlaylist.setDatas(CcCommons.settings.getRemoteListDatas());
                                remotePlaylist.refresh();

Modified: 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterfaceFunctions.java
===================================================================
--- 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterfaceFunctions.java
    2009-01-21 10:03:55 UTC (rev 3513)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterfaceFunctions.java
    2009-01-21 12:18:35 UTC (rev 3514)
@@ -22,6 +22,8 @@
 
 package com.tuxdroid.cc;
 
+import java.util.Vector;
+
 import javax.swing.JMenuItem;
 import javax.swing.JTabbedPane;
 
@@ -74,4 +76,63 @@
                        item.setIcon(CcCommons.tray_hide);
                }
        }
+       
+       
+       /**
+        * Rename alert/favorites in case of one has the same name.
+        * @param newDatas
+        * @param datas
+        * @return
+        */
+       public static Object[] rename(Object[] newDatas, Object[][] datas)
+       {
+               if((datas == null) || (datas.length <= 0)){
+                       return newDatas;
+               }
+               
+               Vector<String> names = new Vector<String>();
+               String name = newDatas[0].toString();
+               //Changing object[][] to a vector.
+               for(Object[] obj : datas)
+               {
+                       names.add(obj[0].toString());
+               }
+               
+               if(!names.contains(name))
+               {
+                       return newDatas;
+               }
+               
+               // Generate a single name
+               String absoluteItemName;
+               if (name.toLowerCase().contains("(copy"))
+               {
+                       absoluteItemName = name.substring(0, 
name.indexOf("(copy") - 1);
+               }
+               else
+               {
+                       absoluteItemName = name;
+               }
+               
+               int i = 0;
+               String proposedItemName;
+               while (true)
+               {
+                       if (i == 0)
+                       {
+                               proposedItemName = String.format("%s (copy)", 
absoluteItemName);
+                       }
+                       else
+                       {
+                               proposedItemName = String.format("%s (copy 
%d)", absoluteItemName, (i + 1));
+                       }
+                       if (!names.contains(proposedItemName))
+                       {
+                               newDatas[0] = proposedItemName;
+                               break;
+                       }
+                       i++;
+               }
+               return newDatas;
+       }
 }

Modified: 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/XMLWriter.java
===================================================================
--- 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/XMLWriter.java
      2009-01-21 10:03:55 UTC (rev 3513)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/XMLWriter.java
      2009-01-21 12:18:35 UTC (rev 3514)
@@ -50,6 +50,7 @@
 import com.kysoh.tuxdroid.gadget.framework.container.GadgetInstanceParameters;
 import com.kysoh.tuxdroid.gadget.framework.container.GadgetParameter;
 import com.tuxdroid.cc.CcCommons;
+import com.tuxdroid.cc.CcInterfaceFunctions;
 import com.tuxdroid.cc.gadget.GadgetObject;
 
 public class XMLWriter {
@@ -700,7 +701,7 @@
                        Hashtable<String, String> tableAlertDefinition = new 
Hashtable<String, String>();
                        Vector<Hashtable<String, String>> tableAlertParameters 
= new Vector<Hashtable<String, String>>();
                        
-                       tableAlertDefinition.put("name", 
oneObjectDatas.getAttribute("name")  + " (Alert copy)");
+                       tableAlertDefinition.put("name", 
oneObjectDatas.getAttribute("name"));
                        tableAlertDefinition.put("author", 
oneObjectDatas.getAttribute("author"));
                        tableAlertDefinition.put("path", 
oneObjectDatas.getAttribute("path"));
                        tableAlertDefinition.put("type", 
oneObjectDatas.getAttribute("type"));
@@ -726,16 +727,10 @@
                        
                        }
                        
+                       tableAlertDefinition.put("name", 
CcInterfaceFunctions.rename
+                                       (new 
Object[]{tableAlertDefinition.get("name")}, 
+                                        
CcCommons.settings.getRemoteListDatas())[0].toString());
                        
-                       //Checking if they already have a named "name" item 
into remote list.
-                       for(Object[] remote : Settings.reader.getRemoteList()){
-                               
while(remote[0].toString().equalsIgnoreCase(tableAlertDefinition.get("name"))){
-                                       //An item is already named "name" then, 
rename.
-                                       String name = 
tableAlertDefinition.get("name");
-                                       name += " (Alert copy)";
-                                       tableAlertDefinition.put("name", name);
-                               }
-                       }
                        //Registering new "alert" entry.
                        Node root = 
Settings.reader.getDocument().getElementsByTagName("RemoteList").item(0);
                        Element remoteElem = 
Settings.reader.getDocument().createElement("remoted");
@@ -761,6 +756,7 @@
                }
                catch(Exception e)
                {
+                       e.printStackTrace();
                        CcCommons.logger.appendError(e.getStackTrace());
                        Settings.restore();
                }
@@ -786,16 +782,11 @@
                                }
                        }
                        if(have){ //then copy values
-                               tableRemoteValues.put("name", 
objet[0].toString() + " (Favorites copy)");
                                //Checking if they already have a named "name" 
item into remote list.
-                               for(Object[] remote : 
Settings.reader.getAlertList()){
-                                       
while(remote[0].toString().equalsIgnoreCase(tableRemoteValues.get("name"))){
-                                               //An item is already named 
"name" then, rename.
-                                               String nam = 
tableRemoteValues.get("name");
-                                               nam += " (Favorites copy)";
-                                               tableRemoteValues.put("name", 
nam);
-                                       }
-                               }
+                               Object[][] alerts = 
Settings.reader.getAlertList();
+                               objet = CcInterfaceFunctions.rename(objet, 
alerts);
+                               
+                               tableRemoteValues.put("name", 
objet[0].toString());
                                tableRemoteValues.put("author", 
objet[2].toString());
                                tableRemoteValues.put("path", 
objet[3].toString());
                                tableRemoteValues.put("type", 
objet[1].toString());
@@ -840,6 +831,10 @@
        }
        
        
+       /**
+        * Copy an alert to alert list.
+        * @param uid
+        */
        public void copyAlert(String uid)
        {
                try
@@ -852,14 +847,12 @@
                        int index = Settings.reader.getIndexByUUID(uid);
                        Element oneObjectDatas = (Element)node.item(index);
                        //processing to copy.
-                       String name = oneObjectDatas.getAttribute("name");
+                       String name = CcInterfaceFunctions.rename(new 
Object[]{oneObjectDatas.getAttribute("name")},
+                                       
CcCommons.settings.getAlertListDatas())[0].toString();
                        
                        //Checking for name
-                       for(Object[] obj : Settings.reader.getAlertList()){
-                               while(obj[0].toString().equalsIgnoreCase(name)){
-                                       //An item is already named "name" then, 
rename.
-                                       name += " (Alert copy)";
-                               }
+                       for(Object[] obj : Settings.reader.getAlertList())
+                       {
                                tableValues.put("name", name);
                                tableValues.put("author", obj[2].toString());
                                tableValues.put("path", obj[3].toString());
@@ -918,6 +911,10 @@
        }
        
        
+       /**
+        * Copy a favorites to favorites list.
+        * @param name
+        */
        public void copyRemote(String name)
        {
                try
@@ -936,17 +933,11 @@
                                        objet = oneObject; 
                                }
                        }
+                       
+                       String nam = CcInterfaceFunctions.rename(objet, 
datas)[0].toString();
+                       
                        if(have){ //then copy values
-                               tableValues.put("name", objet[0].toString() + " 
(Favorites copy)");
-                               //Checking if they already have a named "name" 
item into remote list.
-                               for(Object[] remote : 
Settings.reader.getRemoteList()){
-                                       
while(remote[0].toString().equalsIgnoreCase(tableValues.get("name"))){
-                                               //An item is already named 
"name" then, rename.
-                                               String nam = 
tableValues.get("name");
-                                               nam += " (Favorites copy)";
-                                               tableValues.put("name", nam);
-                                       }
-                               }
+                               tableValues.put("name", nam);
                                tableValues.put("author", objet[2].toString());
                                tableValues.put("path", objet[3].toString());
                                tableValues.put("type", objet[1].toString());


------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to