Author: jerome
Date: 2009-01-26 12:03:07 +0100 (Mon, 26 Jan 2009)
New Revision: 3527

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/Object/Playlist/AlertPlaylist.java
   
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Object/Playlist/RemotePlaylist.java
   
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/Settings.java
   
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/XMLWriter.java
Log:
* Fixed : #21 ?\226?\128?\148 Suppression des favoris et alertes lors de la 
supression du gadget master de la librairie.

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-23 13:54:14 UTC (rev 3526)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterface.java
     2009-01-26 11:03:07 UTC (rev 3527)
@@ -1607,9 +1607,7 @@
                {
                        
                        String path = 
fileBrowser.delete_current(CcCommons.type, CcCommons.view);
-                       //remotePlaylist.removeAllByPath(path);
-                       //alertPlaylist.removeAllByPath(path);
-                       System.out.println(path);
+                       CcCommons.settings.deleteFromPlaylists(path);
                        if(CcCommons.type == CcConstants.TYPE_ATTITUNES)
                        {
                                if(this.savedProperties.containsKey("attitune"))
@@ -2525,7 +2523,6 @@
                {
                        if(this.playlistDragToIndex == 1)
                        { //then alert to remote copy.
-                               //XXX 
                                
CcCommons.settings.registerAlertAsRemote(CcCommons.settings.getUID(alertPlaylist.getSelectedName()));
                                
remotePlaylist.setDatas(CcCommons.settings.getRemoteListDatas());
                                remotePlaylist.refresh();

Modified: 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Object/Playlist/AlertPlaylist.java
===================================================================
--- 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Object/Playlist/AlertPlaylist.java
   2009-01-23 13:54:14 UTC (rev 3526)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Object/Playlist/AlertPlaylist.java
   2009-01-26 11:03:07 UTC (rev 3527)
@@ -27,7 +27,6 @@
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
 import java.util.Enumeration;
-import java.util.Vector;
 
 import javax.swing.BorderFactory;
 import javax.swing.ListSelectionModel;
@@ -92,33 +91,6 @@
        }
        
        
-       //Removes all entries by gadget name.
-       public void removeAllByPath(String itemPath)
-       {
-               Vector<Object[]> toRemove = new Vector<Object[]>();
-               try
-               {
-                       for(Object[] item : this.datas)
-                       {
-                               if(item[3].toString().equals(itemPath))
-                               {
-                                       toRemove.add(item);
-                               }
-                       }
-                       
-                       for(Object[] alert : toRemove)
-                       {
-                               CcCommons.settings.removeFromRemoteList(alert);
-                       }
-               }
-               catch(NullPointerException listNotCreated)
-               {
-                       //then list was not created yet must found a solution.
-                       listNotCreated.printStackTrace();
-               }
-       }
-       
-       
        public void setSelected(int row){
                try{
                        if((row == -1) || (row == this.datas.length))

Modified: 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Object/Playlist/RemotePlaylist.java
===================================================================
--- 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Object/Playlist/RemotePlaylist.java
  2009-01-23 13:54:14 UTC (rev 3526)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Object/Playlist/RemotePlaylist.java
  2009-01-26 11:03:07 UTC (rev 3527)
@@ -28,7 +28,6 @@
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
 import java.util.Enumeration;
-import java.util.Vector;
 
 import javax.swing.BorderFactory;
 import javax.swing.JScrollPane;
@@ -80,33 +79,6 @@
        }
        
        
-       //Removes all entries by gadget name.
-       public void removeAllByPath(String itemPath)
-       {
-               Vector<Object[]> toRemove = new Vector<Object[]>();
-               try
-               {
-                       for(Object[] item : this.datas)
-                       {
-                               if(item[3].toString().equals(itemPath))
-                               {
-                                       toRemove.add(item);
-                               }
-                       }
-                       
-                       for(Object[] favoris : toRemove)
-                       {
-                               
CcCommons.settings.removeFromRemoteList(favoris);
-                       }
-               }
-               catch(NullPointerException listNotCreated)
-               {
-                       //then list was not created yet must found a solution.
-                       listNotCreated.printStackTrace();
-               }
-       }
-       
-       
        public void refresh()
        {
                if(this.playlist.getSelectedRow() != -1)

Modified: 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/Settings.java
===================================================================
--- 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/Settings.java
       2009-01-23 13:54:14 UTC (rev 3526)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/Settings.java
       2009-01-26 11:03:07 UTC (rev 3527)
@@ -268,7 +268,8 @@
         */
        public void deleteFromPlaylists(String instancePath)
        {
-               //TODO
+               System.out.println("From settings java class: " + instancePath);
+               writer.deleteFromPlaylists(instancePath);
        }
        
        public void addToAlertList(Object[] datas, Object[] config){

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-23 13:54:14 UTC (rev 3526)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/settings/XMLWriter.java
      2009-01-26 11:03:07 UTC (rev 3527)
@@ -1040,5 +1040,81 @@
                {
                        CcCommons.logger.appendError(e.getStackTrace());
                }
+       }
+       
+       
+       /**
+        * Removes all occurencies that will be found into the playlists.
+        * @param aplPath
+        */
+       public void deleteFromPlaylists(String aplPath)
+       {
+               //Gatting gadget/attitune name.
+               String name = (new File(aplPath).getName());
+               //Getting document.
+               Document doc = Settings.reader.getDocument();
+               Element favoris = 
(Element)doc.getElementsByTagName("RemoteList").item(0);
+               NodeList liste = favoris.getElementsByTagName("remoted");
+               
+               Vector<Node> toRemove = new Vector<Node>();
+               
+               int len = liste.getLength();
+               for(int i = 0; i < len; i++)
+               {
+                       Node node = liste.item(i);
+                       if(node != null)
+                       {
+                               String fName = new 
File(node.getAttributes().getNamedItem("path").getTextContent()).getName();
+
+                               if(fName.equals(name.replace(".tgf", "")))
+                               {
+                                       toRemove.add(node);
+                               }
+                       }
+               }
+               
+               for(Node node : toRemove)
+               {
+                       favoris.removeChild(node);
+               }
+               
+               
+               //Removing alerts now.
+               Element alerts = 
(Element)doc.getElementsByTagName("AlertList").item(0);
+               liste = alerts.getElementsByTagName("alert");
+               
+               toRemove = new Vector<Node>();
+               
+               len = liste.getLength();
+               for(int i = 0; i < len; i++)
+               {
+                       Node node = liste.item(i);
+                       if(node != null)
+                       {
+                               String fName = new 
File(node.getAttributes().getNamedItem("path").getTextContent()).getName();
+                               
+                               if(fName.equals(name.replace(".tgf", "")))
+                               {
+                                       toRemove.add(node);
+                               }
+                       }
+               }
+               
+               for(Node node : toRemove)
+               {
+                       alerts.removeChild(node);
+               }
+               
+               if(!this.haveItems("alert")){
+                       //then sets alert playlist uninitialized.
+                       this.setUnInitializedPlaylist("AlertList");
+               }
+               
+               if(!this.haveItems("remoted")){
+                       //then sets remote playlist uninitialized.
+                       this.setUnInitializedPlaylist("RemoteList");
+               }
+               
+               this.registerChanges(doc);
        }
 }


------------------------------------------------------------------------------
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