Author: jerome
Date: 2008-08-24 11:07:56 +0200 (Sun, 24 Aug 2008)
New Revision: 1574
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/PseudoFileBrowser/FileBrowser.java
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/Settings.java
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/XMLReader.java
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/XMLWriter.java
Log:
* Added copy from favorites to alerts.
* Added copy from alerts to favorites.
* Added copy from alerts to alerts
* Added copy from favorites to favorites.
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
2008-08-23 07:44:41 UTC (rev 1573)
+++
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterface.java
2008-08-24 09:07:56 UTC (rev 1574)
@@ -71,18 +71,12 @@
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
-import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.border.BevelBorder;
-import javax.swing.event.ListDataEvent;
-import javax.swing.event.ListDataListener;
import javax.swing.event.PopupMenuEvent;
import javax.swing.event.PopupMenuListener;
import javax.swing.plaf.InsetsUIResource;
-import javax.swing.table.AbstractTableModel;
-import javax.swing.table.TableModel;
-import javax.swing.table.TableRowSorter;
import org.jdesktop.jdic.tray.SystemTray;
import org.jdesktop.jdic.tray.TrayIcon;
@@ -2078,6 +2072,7 @@
else
if(arg0.getPropertyName().equalsIgnoreCase("Remote-Value-Changed")){
Object[] dat = (Object[])arg0.getNewValue();
String path = dat[1].toString();
+
String ty = dat[2].toString();
if(ty.equalsIgnoreCase("gadget")){
if(this.currentRemoteSelectedGadget != null){
@@ -2739,8 +2734,7 @@
public void addToPlaylist(DropTargetDropEvent arg0){
- //Create action with an attitune.
- System.out.println(this.playlistDragToIndex);
+ //Create action with an attitune.
if(this.type == CcInterface.TYPE_ATTITUNES){
if(this.playlistDragToIndex == 0){
Object[] datas =
file_browser.getDatasAsRemoteStruct(TYPE_ATTITUNES, this.view);
@@ -2779,6 +2773,28 @@
}
}
+ else if(this.type == CcInterface.TYPE_ALERT){
+ if(this.playlistDragToIndex == 1){ //then alert to
remote copy.
+
settings.registerAlertAsRemote(settings.getUID(alertPlaylist.getSelectedName()));
+
remotePlaylist.setDatas(settings.getRemoteListDatas());
+ this.showPlaylist(1);
+ }else{ //then simple copy from remote, to remote.
+
settings.copyAlert(settings.getUID(alertPlaylist.getSelectedName()));
+
alertPlaylist.setDatas(settings.getAlertListDatas());
+ }
+ }
+
+ else if(this.type == CcInterface.TYPE_REMOTELIST){
+ if(this.playlistDragToIndex == 0){
+
settings.registerRemoteAsAlert(remotePlaylist.getSelectedName());
+
alertPlaylist.setDatas(settings.getAlertListDatas());
+ this.showPlaylist(0);
+ }else{ //simple copy.
+
settings.copyRemote(remotePlaylist.getSelectedName());
+
remotePlaylist.setDatas(settings.getRemoteListDatas());
+ }
+ }
+
this.remotePlaylist.checkForCorruption(file_browser.AttitunesDatas,
file_browser.GadgetsDatas);
this.alertPlaylist.checkForCorruption(file_browser.AttitunesDatas,
file_browser.GadgetsDatas);
}
Modified:
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Object/PseudoFileBrowser/FileBrowser.java
===================================================================
---
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Object/PseudoFileBrowser/FileBrowser.java
2008-08-23 07:44:41 UTC (rev 1573)
+++
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Object/PseudoFileBrowser/FileBrowser.java
2008-08-24 09:07:56 UTC (rev 1574)
@@ -155,7 +155,7 @@
public String getAttituneDescriptionFromPath(String path){
for(Object[] objet : this.AttitunesDatas){
- if(objet[4].toString().equalsIgnoreCase(path)){
+ if(objet[5].toString().equalsIgnoreCase(path)){
return objet[3].toString();
}
}
Modified:
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/Settings.java
===================================================================
---
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/Settings.java
2008-08-23 07:44:41 UTC (rev 1573)
+++
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/Settings.java
2008-08-24 09:07:56 UTC (rev 1574)
@@ -140,7 +140,7 @@
return this.reader.isRemoteListInitialized();
}
- //TODO
+
public boolean haveAlertList(){
return this.reader.isAlertListInitialized();
}
@@ -150,7 +150,7 @@
return reader.getRemoteList();
}
- //TODO
+
public Object[][] getAlertListDatas(){
return this.reader.getAlertList();
}
@@ -301,5 +301,23 @@
//Return registered pitch.
public int getPitch(){
return this.reader.getPitch();
+ }
+
+
+ public void registerAlertAsRemote(String uid){
+ this.writer.registerAlertDatasAsRemoteDatas(uid);
+ }
+
+
+ public void registerRemoteAsAlert(String name){
+ this.writer.registerRemoteDatasAsAlertDatas(name);
+ }
+
+ public void copyAlert(String uid){
+ this.writer.copyAlert(uid);
+ }
+
+ public void copyRemote(String name){
+ this.writer.copyRemote(name);
}
}
Modified:
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/XMLReader.java
===================================================================
---
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/XMLReader.java
2008-08-23 07:44:41 UTC (rev 1573)
+++
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/XMLReader.java
2008-08-24 09:07:56 UTC (rev 1574)
@@ -24,6 +24,7 @@
import java.io.File;
import java.io.IOException;
+import java.util.Hashtable;
import java.util.Vector;
import javax.xml.parsers.DocumentBuilder;
@@ -384,16 +385,13 @@
if(regName.equals(name) &&
type.toLowerCase().equals("gadget")){
NodeList config =
((Element)attElem.item(i)).getElementsByTagName("Parameters");
NodeList conf = config.item(0).getChildNodes();
- System.out.println("matching parameters");
for(int y=0; y < conf.getLength(); y++){
Node param = conf.item(y);
System.out.println(param.getNodeName());
if(param.getNodeName().equalsIgnoreCase("parameter")){
-
System.out.println("getting parameters");
String pname =
param.getAttributes().getNamedItem("name").getTextContent();
String value =
param.getAttributes().getNamedItem("value").getTextContent();
-
System.out.println(pname + " : " + value);
//Register new gadget
parameter.
for(int x=0; x <
instance.getGadget().getParameters().size(); x++){
GadgetParameter
gdgParam = instance.getGadget().getParameters().get(x);
@@ -403,8 +401,6 @@
}
}
}
-
-
}
}
@@ -463,5 +459,32 @@
}
return false;
- }
+ }
+
+
+ public Vector<Hashtable<String, String>> getConfigRemoted(String name){
+ Vector<Hashtable<String, String>> hash = new
Vector<Hashtable<String, String>>();
+ NodeList attElem =
this.getDocument().getElementsByTagName("remoted");
+ for(int i=0; i < attElem.getLength(); i++){
+ String regName =
attElem.item(i).getAttributes().getNamedItem("name").getTextContent();
+ String type =
attElem.item(i).getAttributes().getNamedItem("type").getTextContent();
+ if(regName.equals(name) &&
type.toLowerCase().equals("gadget")){
+ Element oneObjectDatas =
(Element)attElem.item(i);
+ try{
+ Element conf =
(Element)oneObjectDatas.getElementsByTagName("Parameters").item(0);
+ NodeList nodes =
conf.getElementsByTagName("parameter");
+ for(int y=0; y < nodes.getLength();
y++){
+ Node node = nodes.item(y);
+ Hashtable<String, String> table
= new Hashtable<String, String>();
+ table.put("name",
node.getAttributes().getNamedItem("name").getTextContent());
+ table.put("value",
node.getAttributes().getNamedItem("value").getTextContent());
+ hash.add(table);
+ }
+ }catch(Exception except){return hash;}
+
+ }
+ }
+ return hash;
+ }
+
}
Modified:
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/XMLWriter.java
===================================================================
---
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/XMLWriter.java
2008-08-23 07:44:41 UTC (rev 1573)
+++
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/XMLWriter.java
2008-08-24 09:07:56 UTC (rev 1574)
@@ -23,6 +23,9 @@
package com.tuxdroid.cc.Utils;
import java.io.File;
+import java.rmi.server.UID;
+import java.util.Hashtable;
+import java.util.Vector;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -149,11 +152,9 @@
//Create AlertList Element.
Element alertList = document.createElement("AlertList");
- alertList.setAttribute("initialized", "false");
+ alertList.setAttribute("initialized", "false");
-
-
//Adding new elements.
language.appendChild(lang);
language.appendChild(country);
@@ -425,7 +426,6 @@
GadgetObject gadget){
Document document = reader.getDocument();
- System.out.println(gadget.getName());
NodeList attElem = document.getElementsByTagName("remoted");
for(int i=0; i < attElem.getLength(); i++){
String regName =
attElem.item(i).getAttributes().getNamedItem("name").getTextContent();
@@ -460,5 +460,273 @@
this.registerChanges(document);
}
}
+ }
+
+
+ public void registerAlertDatasAsRemoteDatas(String uid){
+ NodeList node =
this.reader.getDocument().getElementsByTagName("alert");
+ int index = this.reader.getIndexByUUID(uid);
+ Element oneObjectDatas = (Element)node.item(index);
+ //Getting attributes.
+ 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("author",
oneObjectDatas.getAttribute("author"));
+ tableAlertDefinition.put("path",
oneObjectDatas.getAttribute("path"));
+ tableAlertDefinition.put("type",
oneObjectDatas.getAttribute("type"));
+
+ Element parametersElem =
(Element)oneObjectDatas.getElementsByTagName("Parameters").item(0);
+ try{
+ NodeList parametersNode =
parametersElem.getElementsByTagName("parameter");
+
+
+
if(tableAlertDefinition.get("type").equalsIgnoreCase("gadget")){
+
+ for(int i=0; i < parametersNode.getLength();
i++){
+
if(parametersNode.item(i).getNodeName().equalsIgnoreCase("parameter")){
+ //then getting alert gadget
setting
+ Hashtable<String, String> hash
= new Hashtable<String, String>();
+ hash.put("name",
parametersNode.item(i).getAttributes()
+
.getNamedItem("name").getTextContent());
+ hash.put("value",
parametersNode.item(i).getAttributes()
+
.getNamedItem("value").getTextContent());
+ tableAlertParameters.add(hash);
// adding to parameters values.
+ }
+ }
+
+ }
+ }catch(Exception except){}
+
+
+ //Checking if they already have a named "name" item into remote
list.
+ for(Object[] remote : this.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.
+ Document doc = this.reader.getDocument();
+ Node root = doc.getElementsByTagName("RemoteList").item(0);
+ Element remoteElem = doc.createElement("remoted");
+ remoteElem.setAttribute("name",
tableAlertDefinition.get("name"));
+ remoteElem.setAttribute("author",
tableAlertDefinition.get("author"));
+ remoteElem.setAttribute("path",
tableAlertDefinition.get("path"));
+ remoteElem.setAttribute("type",
tableAlertDefinition.get("type"));
+
+ if(tableAlertParameters.size() > 0){ //then they have
parameters.
+ Element remoteParams = doc.createElement("Parameters");
+ for(Hashtable<String, String> hash :
tableAlertParameters){
+ Element parameter =
doc.createElement("parameter");
+ parameter.setAttribute("name",
hash.get("name"));
+ parameter.setAttribute("value",
hash.get("value"));
+ //adding one parameter.
+ remoteParams.appendChild(parameter);
+ }
+
+ remoteElem.appendChild(remoteParams);
+ }
+ root.appendChild(remoteElem);
+ this.registerChanges(doc);
+ }
+
+
+ public void registerRemoteDatasAsAlertDatas(String name){
+ Hashtable<String, String> tableRemoteValues = new
Hashtable<String, String>();
+ Vector<Hashtable<String, String>> tableRemoteParams = new
Vector<Hashtable<String, String>>();
+
+ Object[][] datas = this.reader.getRemoteList();
+ boolean have = false;
+ Object[] objet = null;
+
+ for(Object[] oneObject : datas){
+ if(oneObject[0].toString().equalsIgnoreCase(name)){
+ have = true;
+ objet = oneObject;
+ }
+ }
+ 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 : this.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);
+ }
+ }
+ tableRemoteValues.put("author", objet[2].toString());
+ tableRemoteValues.put("path", objet[3].toString());
+ tableRemoteValues.put("type", objet[1].toString());
+
+ if(objet[1].toString().equalsIgnoreCase("gadget")){
+ if(this.reader.haveConfigRemoted(name)){
+ this.reader.getConfigRemoted(name);
+ tableRemoteParams =
this.reader.getConfigRemoted(name);
+ }
+ }
+
+ //Registering new "alert" entry.
+ Document doc = this.reader.getDocument();
+ Node root =
doc.getElementsByTagName("AlertList").item(0);
+ Element remoteElem = doc.createElement("alert");
+ remoteElem.setAttribute("name",
tableRemoteValues.get("name"));
+ remoteElem.setAttribute("author",
tableRemoteValues.get("author"));
+ remoteElem.setAttribute("path",
tableRemoteValues.get("path"));
+ remoteElem.setAttribute("type",
tableRemoteValues.get("type"));
+ //Setting default alert configuration.
+ this.setDefaultAlertConfig(doc, remoteElem);
+ if(tableRemoteParams.size() > 0){ //then they have
parameters.
+ Element remoteParams =
doc.createElement("Parameters");
+ for(Hashtable<String, String> hash :
tableRemoteParams){
+ Element parameter =
doc.createElement("parameter");
+ parameter.setAttribute("name",
hash.get("name"));
+ parameter.setAttribute("value",
hash.get("value"));
+ //adding one parameter.
+ remoteParams.appendChild(parameter);
+ }
+
+ remoteElem.appendChild(remoteParams);
+ }
+ root.appendChild(remoteElem);
+ this.registerChanges(doc);
+ }
+ }
+
+
+ public void copyAlert(String uid){
+ Hashtable<String, String> tableValues = new Hashtable<String,
String>();
+ Vector<Hashtable<String, String>> tableParams = new
Vector<Hashtable<String, String>>();
+
+ NodeList node =
this.reader.getDocument().getElementsByTagName("alert");
+ int index = this.reader.getIndexByUUID(uid);
+ Element oneObjectDatas = (Element)node.item(index);
+ //processing to copy.
+ String name = oneObjectDatas.getAttribute("name");
+
+ //Checking for name
+ for(Object[] obj : this.reader.getAlertList()){
+ while(obj[0].toString().equalsIgnoreCase(name)){
+ //An item is already named "name" then, rename.
+ name += " (Alert copy)";
+ }
+ tableValues.put("name", name);
+ tableValues.put("author", obj[2].toString());
+ tableValues.put("path", obj[3].toString());
+ tableValues.put("type", obj[1].toString());
+ }
+
+ Element parametersElem =
(Element)oneObjectDatas.getElementsByTagName("Parameters").item(0);
+ try{
+ NodeList parametersNode =
parametersElem.getElementsByTagName("parameter");
+
+
+ if(tableValues.get("type").equalsIgnoreCase("gadget")){
+
+ for(int i=0; i < parametersNode.getLength();
i++){
+
if(parametersNode.item(i).getNodeName().equalsIgnoreCase("parameter")){
+ //then getting alert gadget
setting
+ Hashtable<String, String> hash
= new Hashtable<String, String>();
+ hash.put("name",
parametersNode.item(i).getAttributes()
+
.getNamedItem("name").getTextContent());
+ hash.put("value",
parametersNode.item(i).getAttributes()
+
.getNamedItem("value").getTextContent());
+ tableParams.add(hash); //
adding to parameters values.
+ }
+ }
+
+ }
+ }catch(Exception except){}
+
+ Document doc = this.reader.getDocument();
+ Node root = doc.getElementsByTagName("AlertList").item(0);
+ Element remoteElem = doc.createElement("alert");
+ remoteElem.setAttribute("name", tableValues.get("name"));
+ remoteElem.setAttribute("author", tableValues.get("author"));
+ remoteElem.setAttribute("path", tableValues.get("path"));
+ remoteElem.setAttribute("type", tableValues.get("type"));
+ //Setting default alert configuration.
+ this.setDefaultAlertConfig(doc, remoteElem);
+ if(tableParams.size() > 0){ //then they have parameters.
+ Element remoteParams = doc.createElement("Parameters");
+ for(Hashtable<String, String> hash : tableParams){
+ Element parameter =
doc.createElement("parameter");
+ parameter.setAttribute("name",
hash.get("name"));
+ parameter.setAttribute("value",
hash.get("value"));
+ //adding one parameter.
+ remoteParams.appendChild(parameter);
+ }
+
+ remoteElem.appendChild(remoteParams);
+ }
+ root.appendChild(remoteElem);
+ this.registerChanges(doc);
+ }
+
+
+ public void copyRemote(String name){
+ Hashtable<String, String> tableValues = new Hashtable<String,
String>();
+ Vector<Hashtable<String, String>> tableParams = new
Vector<Hashtable<String, String>>();
+
+ Object[][] datas = this.reader.getRemoteList();
+ boolean have = false;
+ Object[] objet = null;
+
+ for(Object[] oneObject : datas){
+ if(oneObject[0].toString().equalsIgnoreCase(name)){
+ have = true;
+ objet = oneObject;
+ }
+ }
+ 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 : this.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("author", objet[2].toString());
+ tableValues.put("path", objet[3].toString());
+ tableValues.put("type", objet[1].toString());
+
+ if(objet[1].toString().equalsIgnoreCase("gadget")){
+ if(this.reader.haveConfigRemoted(name)){
+ this.reader.getConfigRemoted(name);
+ tableParams =
this.reader.getConfigRemoted(name);
+ }
+ }
+
+ //Registering new "alert" entry.
+ Document doc = this.reader.getDocument();
+ Node root =
doc.getElementsByTagName("RemoteList").item(0);
+ Element remoteElem = doc.createElement("remoted");
+ remoteElem.setAttribute("name",
tableValues.get("name"));
+ remoteElem.setAttribute("author",
tableValues.get("author"));
+ remoteElem.setAttribute("path",
tableValues.get("path"));
+ remoteElem.setAttribute("type",
tableValues.get("type"));
+ //Setting default alert configuration.
+ if(tableParams.size() > 0){ //then they have parameters.
+ Element remoteParams =
doc.createElement("Parameters");
+ for(Hashtable<String, String> hash :
tableParams){
+ Element parameter =
doc.createElement("parameter");
+ parameter.setAttribute("name",
hash.get("name"));
+ parameter.setAttribute("value",
hash.get("value"));
+ //adding one parameter.
+ remoteParams.appendChild(parameter);
+ }
+
+ remoteElem.appendChild(remoteParams);
+ }
+ root.appendChild(remoteElem);
+ this.registerChanges(doc);
+ }
}
}
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn