From jflesch at freenetproject.org Fri Jun 1 10:30:40 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Fri, 1 Jun 2007 10:30:40 +0000 (UTC)
Subject: [Thaw-dev] r13432 - in trunk/apps/Thaw/src/thaw: i18n plugins
Message-ID: <20070601103040.5798C47A03F@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-01 10:30:40 +0000 (Fri, 01 Jun 2007)
New Revision: 13432
Modified:
trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
trunk/apps/Thaw/src/thaw/i18n/thaw.properties
trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java
Log:
Fix the translations files
Modified: trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties 2007-06-01 09:32:10 UTC (rev 13431)
+++ trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties 2007-06-01 10:30:40 UTC (rev 13432)
@@ -178,9 +178,8 @@
thaw.plugin.fetch.freenet0.5.l5=Merci d'avance,
thaw.plugin.fetch.freenet0.5.l6=le Thaw d?velopeur de Thaw.
-thaw.plugins.fetch.noValidURI=Pas de clef valide trouv?e dans la liste
+thaw.plugin.fetch.noValidURI=Pas de clef valide trouv?e dans la liste
-
thaw.plugin.console.console=Console de log
thaw.plugin.console.saveToFile=Sauvegarder les logs
thaw.plugin.console.maxSize=M?moire maximum allou? au stockage des logs (in Bytes)
Modified: trunk/apps/Thaw/src/thaw/i18n/thaw.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw.properties 2007-06-01 09:32:10 UTC (rev 13431)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw.properties 2007-06-01 10:30:40 UTC (rev 13432)
@@ -181,7 +181,7 @@
thaw.plugin.fetch.freenet0.5.l5=Thanks,
thaw.plugin.fetch.freenet0.5.l6=the Thaw developper.
-thaw.plugins.fetch.noValidURI=No valid key found in the list !
+thaw.plugin.fetch.noValidURI=No valid key found in the list !
thaw.plugin.console.console=Log console
thaw.plugin.console.saveToFile=Save log to file
Modified: trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties 2007-06-01 09:32:10 UTC (rev 13431)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties 2007-06-01 10:30:40 UTC (rev 13432)
@@ -178,9 +178,8 @@
thaw.plugin.fetch.freenet0.5.l5=Merci d'avance,
thaw.plugin.fetch.freenet0.5.l6=le Thaw d\u00e9velopeur de Thaw.
-thaw.plugins.fetch.noValidURI=Pas de clef valide trouv\u00e9e dans la liste
+thaw.plugin.fetch.noValidURI=Pas de clef valide trouv\u00e9e dans la liste
-
thaw.plugin.console.console=Console de log
thaw.plugin.console.saveToFile=Sauvegarder les logs
thaw.plugin.console.maxSize=M\u00e9moire maximum allou\u00e9 au stockage des logs (in Bytes)
Modified: trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java 2007-06-01 09:32:10 UTC (rev 13431)
+++ trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java 2007-06-01 10:30:40 UTC (rev 13432)
@@ -19,7 +19,7 @@
public class IndexBrowser extends ToolbarModifier implements Plugin, ChangeListener {
- public static final String DEFAULT_INDEX = "USK at p-uFAWUomLm37MCQLu3r67-B8e6yF1kS4q2v0liM1Vk,h0MWqM~lF0Bec-AIv445PLn06ams9-RFbnwO6Cm2Snc,AQACAAE/Thaw/1/Thaw.frdx";
+ public static final String DEFAULT_INDEX = "USK at p-uFAWUomLm37MCQLu3r67-B8e6yF1kS4q2v0liM1Vk,h0MWqM~lF0Bec-AIv445PLn06ams9-RFbnwO6Cm2Snc,AQACAAE/Thaw/2/Thaw.frdx";
private Core core;
private Hsqldb hsqldb;
From jflesch at freenetproject.org Fri Jun 1 16:37:00 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Fri, 1 Jun 2007 16:37:00 +0000 (UTC)
Subject: [Thaw-dev] r13443 - trunk/apps/Thaw/src/thaw/plugins/index
Message-ID: <20070601163700.7837C47A0FA@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-01 16:37:00 +0000 (Fri, 01 Jun 2007)
New Revision: 13443
Modified:
trunk/apps/Thaw/src/thaw/plugins/index/AutoRefresh.java
trunk/apps/Thaw/src/thaw/plugins/index/Index.java
trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java
trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java
Log:
Should hopefully fix the bug #1254 (Index who were modified are not highlighted correctly)
Modified: trunk/apps/Thaw/src/thaw/plugins/index/AutoRefresh.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/AutoRefresh.java 2007-06-01 15:57:55 UTC (rev 13442)
+++ trunk/apps/Thaw/src/thaw/plugins/index/AutoRefresh.java 2007-06-01 16:37:00 UTC (rev 13443)
@@ -83,7 +83,7 @@
public int updateNext(int lastIdx) {
if (browserPanel.getIndexTree().numberOfUpdatingIndexes() >= nmbIndexesPerInterval) {
- Logger.notice(this, "Too many indexes are updating ; won't auto-update another one");
+ Logger.debug(this, "Too many indexes are updating ; won't auto-update another one");
return lastIdx;
}
@@ -138,10 +138,7 @@
public void update(java.util.Observable o, Object param) {
- if (((Index)o).hasChanged())
- browserPanel.getIndexTree().redraw();
- else
- browserPanel.getIndexTree().redraw();
+ browserPanel.getIndexTree().refresh(((Index)o).getTreePath(browserPanel.getIndexTree()));
if (o.equals(browserPanel.getTables().getFileTable().getFileList())) {
browserPanel.getTables().getFileTable().refresh();
Modified: trunk/apps/Thaw/src/thaw/plugins/index/Index.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/Index.java 2007-06-01 15:57:55 UTC (rev 13442)
+++ trunk/apps/Thaw/src/thaw/plugins/index/Index.java 2007-06-01 16:37:00 UTC (rev 13443)
@@ -19,6 +19,9 @@
import javax.swing.tree.MutableTreeNode;
import javax.swing.tree.TreeNode;
+import javax.swing.tree.TreePath;
+
+
/* DOM */
import javax.xml.parsers.DocumentBuilder;
@@ -70,6 +73,7 @@
import thaw.plugins.signatures.Identity;
+
public class Index extends Observable implements MutableTreeNode, FileAndLinkList, IndexTreeNode, Observer {
private final static long MAX_SIZE = 5242880; /* 5MB */
@@ -2042,4 +2046,105 @@
return 0;
}
+
+
+ /* The user who is able to have so much depth in its tree
+ * is crazy.
+ */
+ public final static int MAX_DEPTH = 128;
+
+ public TreePath getTreePath(IndexTree tree) {
+
+ int[] folderIds = new int[MAX_DEPTH];
+
+ for (int i = 0 ; i < folderIds.length ; i++)
+ folderIds[i] = -1;
+
+ synchronized(db.dbLock) {
+ try {
+ /* we find the id of the parents */
+
+ PreparedStatement st = db.getConnection().prepareStatement("SELECT folderId FROM indexParents "+
+ "WHERE indexId = ? LIMIT 1");
+ st.setInt(1, id);
+ ResultSet res = st.executeQuery();
+
+ if (!res.next()) {
+ Logger.error(this, "Can't find the index "+Integer.toString(id)+"in the db! The tree is probably broken !");
+ return null;
+ }
+
+ int i = 0;
+
+ do {
+ int j = res.getInt("folderId");
+
+ if (j != 0) /* root */
+ folderIds[i] = j;
+
+ i++;
+ } while(res.next());
+
+ int nmb_folders = i+1; /* i + root */
+
+ Object[] path = new Object[nmb_folders + 1]; /* folders + the index */
+
+ for (i = 0 ; i < path.length ; i++)
+ path[i] = null;
+
+
+ path[0] = indexTree.getRoot();
+
+
+ for (i = 1 ; i < nmb_folders ; i++) {
+ IndexFolder folder = null;
+
+ for (int j = 0 ;
+ folder == null && j < folderIds.length && folderIds[j] != -1 ;
+ j++) {
+
+ folder = ((IndexFolder)path[i-1]).getChildFolder(folderIds[j], false);
+
+ }
+
+ if (folder == null)
+ break;
+
+ path[i] = folder;
+ }
+
+ if (i >= 2)
+ path[i-1] = ((IndexFolder)path[i-2]).getChildIndex(id, false);
+ else
+ path[1] = indexTree.getRoot().getChildIndex(id, false);
+
+
+ int non_null_elements = 0;
+ /* we may have null elements if the tree wasn't fully loaded for this path */
+ for (i = 0 ; i < path.length ; i++) {
+ if (path[i] == null)
+ break;
+ }
+
+ non_null_elements = i;
+
+ if (non_null_elements != nmb_folders) {
+ /* we eliminate the null elements */
+ Object[] new_path = new Object[non_null_elements];
+
+ for (i = 0 ; i < non_null_elements; i++)
+ new_path[i] = path[i];
+
+ path = new_path;
+ }
+
+ return new TreePath(path);
+
+ } catch(SQLException e) {
+ Logger.error(this, "Error while getting index tree path : "+e.toString());
+ }
+ }
+
+ return null;
+ }
}
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java 2007-06-01 15:57:55 UTC (rev 13442)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java 2007-06-01 16:37:00 UTC (rev 13443)
@@ -1355,14 +1355,22 @@
public IndexFolder getChildFolder(int id) {
+ return getChildFolder(id, true);
+ }
+
+
+ public IndexFolder getChildFolder(int id, boolean loadChildren) {
if (id < 0) {
Logger.notice(this, "getChildFolder() : Asked me to have the root ?!");
return null;
}
- if (children == null)
+ if (children == null && loadChildren)
loadChildren();
+ if (children == null)
+ return null;
+
for (Iterator it = children.iterator() ;
it.hasNext(); ) {
Object child = it.next();
@@ -1379,12 +1387,16 @@
public Index getChildIndex(int id) {
+ return getChildIndex(id, true);
+ }
+
+ public Index getChildIndex(int id, boolean loadChildren) {
if (id < 0) {
Logger.error(this, "getChildIndex() : Invalid parameter !");
return null;
}
- if (children == null)
+ if (children == null && loadChildren)
loadChildren();
for (Iterator it = children.iterator() ;
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java 2007-06-01 15:57:55 UTC (rev 13442)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java 2007-06-01 16:37:00 UTC (rev 13443)
@@ -555,7 +555,9 @@
public void refresh(TreePath path) {
- refresh();
+ Object[] nodes = path.getPath();
+ for (int i = 0 ; i < nodes.length ; i++)
+ refresh((IndexTreeNode)(nodes[i]));
}
@@ -578,10 +580,11 @@
//refresh(node);
forceHasChangedFlagReload = true;
if (treeModel != null) {
- if (node != null && node.isInTree())
+ if (node != null && node.isInTree()) {
treeModel.nodeChanged(node.getTreeNode());
- else
+ } else {
treeModel.nodeChanged(getRoot().getTreeNode());
+ }
}
forceHasChangedFlagReload = false;
}
From jflesch at freenetproject.org Fri Jun 1 16:45:15 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Fri, 1 Jun 2007 16:45:15 +0000 (UTC)
Subject: [Thaw-dev] r13444 - trunk/apps/Thaw/src/thaw/plugins/signatures
Message-ID: <20070601164515.1AED44798C2@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-01 16:45:14 +0000 (Fri, 01 Jun 2007)
New Revision: 13444
Modified:
trunk/apps/Thaw/src/thaw/plugins/signatures/SigConfigTab.java
Log:
Fix bug #1429 (Interface becomes unusable after closing the sub-configuration window 'manage your identities')
Modified: trunk/apps/Thaw/src/thaw/plugins/signatures/SigConfigTab.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/signatures/SigConfigTab.java 2007-06-01 16:37:00 UTC (rev 13443)
+++ trunk/apps/Thaw/src/thaw/plugins/signatures/SigConfigTab.java 2007-06-01 16:45:14 UTC (rev 13444)
@@ -141,7 +141,7 @@
minLevel.setSelectedItem(I18n.getMessage(Identity.trustLevelStr[i]));
}
- protected class YourIdentitiesPanel implements ActionListener, java.awt.event.WindowListener {
+ protected class YourIdentitiesPanel implements ActionListener {
private JDialog dialog;
private JList list;
@@ -156,12 +156,9 @@
public YourIdentitiesPanel() {
- configWindow.setEnabled(false);
-
dialog = new JDialog(configWindow.getFrame(),
I18n.getMessage("thaw.plugin.signature.dialogTitle.yourIdentities"));
- dialog.addWindowListener(this);
dialog.getContentPane().setLayout(new BorderLayout(5, 5));
@@ -336,39 +333,10 @@
if (e.getSource() == closeWindow) {
dialog.setVisible(false);
- configWindow.setEnabled(true);
}
}
- public void windowActivated(final WindowEvent e) {
- }
-
- public void windowClosing(final WindowEvent e) {
- // todo //
- }
-
- public void windowClosed(final WindowEvent e) {
- configWindow.setEnabled(true);
- }
-
- public void windowDeactivated(final WindowEvent e) {
- // We don't care
- }
-
- public void windowDeiconified(final WindowEvent e) {
- // idem
- }
-
- public void windowIconified(final WindowEvent e) {
- // idem
- }
-
- public void windowOpened(final WindowEvent e) {
- // idem
- }
-
-
}
From jflesch at freenetproject.org Fri Jun 1 20:31:45 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Fri, 1 Jun 2007 20:31:45 +0000 (UTC)
Subject: [Thaw-dev] r13459 - trunk/apps/Thaw/src/thaw/plugins/index
Message-ID: <20070601203145.B5604388707@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-01 20:31:45 +0000 (Fri, 01 Jun 2007)
New Revision: 13459
Modified:
trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java
Log:
Should fix bug #1438 (Blacklist does not work) // needs testing
Modified: trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java 2007-06-01 20:26:52 UTC (rev 13458)
+++ trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java 2007-06-01 20:31:45 UTC (rev 13459)
@@ -239,25 +239,21 @@
PreparedStatement st;
st = db.getConnection().prepareStatement("SELECT id, publicKey FROM indexBlackList WHERE "+
- "LOWER(publicKey) LIKE ?");
+ "LOWER(publicKey) LIKE ? LIMIT 1");
st.setString(1, FreenetURIHelper.getComparablePart(key) +"%");
ResultSet res = st.executeQuery();
- while(res.next()) {
- String pubKey = res.getString("publicKey").replaceAll(".xml", ".frdx");
+ if (!res.next())
+ return -1;
- if (FreenetURIHelper.compareKeys(pubKey, key)) {
- return res.getInt("id");
- }
- }
+ return res.getInt("id");
}
} catch(SQLException e) {
Logger.error(new BlackList(), "Error while checking if a given key is blacklisted : "+ e.toString());
return -1;
}
- return -1;
}
/**
@@ -288,20 +284,19 @@
st = db.getConnection().prepareStatement("SELECT id, publicKey FROM links WHERE "+
- "LOWER(publicKey) LIKE ?");
+ "LOWER(publicKey) LIKE ? LIMIT 1");
st.setString(1, FreenetURIHelper.getComparablePart(key) +"%");
ResultSet res = st.executeQuery();
- while(res.next()) {
- String pubKey = res.getString("publicKey").replaceAll(".xml", ".frdx");
- if (FreenetURIHelper.compareKeys(pubKey, key)) {
- anotherSt.setInt(1, res.getInt("id"));
- anotherSt.execute();
- }
+ if (!res.next()) {
+ return false;
}
+ anotherSt.setInt(1, res.getInt("id"));
+ anotherSt.execute();
+
}
} catch(SQLException e) {
Logger.error(new BlackList(), "Error while adding an entry to the blacklist : "+e.toString());
@@ -334,12 +329,8 @@
ResultSet res = st.executeQuery();
while(res.next()) {
- String pubKey = res.getString("publicKey").replaceAll(".xml", ".frdx");
-
- if (FreenetURIHelper.compareKeys(pubKey, key)) {
- anotherSt.setInt(1, res.getInt("id"));
- anotherSt.execute();
- }
+ anotherSt.setInt(1, res.getInt("id"));
+ anotherSt.execute();
}
From jflesch at freenetproject.org Fri Jun 1 20:36:22 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Fri, 1 Jun 2007 20:36:22 +0000 (UTC)
Subject: [Thaw-dev] r13460 - trunk/apps/Thaw/src/thaw/core
Message-ID: <20070601203622.B2D9F388707@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-01 20:36:22 +0000 (Fri, 01 Jun 2007)
New Revision: 13460
Modified:
trunk/apps/Thaw/src/thaw/core/Config.java
Log:
Change default settings : DDA is now disable by default to avoid problems
Modified: trunk/apps/Thaw/src/thaw/core/Config.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/Config.java 2007-06-01 20:31:45 UTC (rev 13459)
+++ trunk/apps/Thaw/src/thaw/core/Config.java 2007-06-01 20:36:22 UTC (rev 13460)
@@ -294,6 +294,6 @@
setDefaultValue("advancedMode", "false");
setDefaultValue("userNickname", "Another anonymous");
setDefaultValue("multipleSockets", "true");
- setDefaultValue("sameComputer", "true");
+ setDefaultValue("sameComputer", "false");
}
}
From jflesch at freenetproject.org Fri Jun 1 20:44:14 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Fri, 1 Jun 2007 20:44:14 +0000 (UTC)
Subject: [Thaw-dev] r13461 - trunk/apps/Thaw/src/thaw/core
Message-ID: <20070601204414.3DAE5388707@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-01 20:44:14 +0000 (Fri, 01 Jun 2007)
New Revision: 13461
Modified:
trunk/apps/Thaw/src/thaw/core/Config.java
Log:
Revert r13460 : Reactivate DDA by default
Modified: trunk/apps/Thaw/src/thaw/core/Config.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/Config.java 2007-06-01 20:36:22 UTC (rev 13460)
+++ trunk/apps/Thaw/src/thaw/core/Config.java 2007-06-01 20:44:14 UTC (rev 13461)
@@ -294,6 +294,6 @@
setDefaultValue("advancedMode", "false");
setDefaultValue("userNickname", "Another anonymous");
setDefaultValue("multipleSockets", "true");
- setDefaultValue("sameComputer", "false");
+ setDefaultValue("sameComputer", "true");
}
}
From jflesch at freenetproject.org Sat Jun 2 12:50:15 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 2 Jun 2007 12:50:15 +0000 (UTC)
Subject: [Thaw-dev] r13463 - trunk/apps/Thaw/src/thaw/plugins/index
Message-ID: <20070602125015.0298D479EC7@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-02 12:50:14 +0000 (Sat, 02 Jun 2007)
New Revision: 13463
Modified:
trunk/apps/Thaw/src/thaw/plugins/index/AutoRefresh.java
trunk/apps/Thaw/src/thaw/plugins/index/Index.java
trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java
trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java
trunk/apps/Thaw/src/thaw/plugins/index/IndexTreeNode.java
Log:
Another try to fix bug #1254 (Index who were modified are not highlighted correctly)
Modified: trunk/apps/Thaw/src/thaw/plugins/index/AutoRefresh.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/AutoRefresh.java 2007-06-01 20:51:27 UTC (rev 13462)
+++ trunk/apps/Thaw/src/thaw/plugins/index/AutoRefresh.java 2007-06-02 12:50:14 UTC (rev 13463)
@@ -138,7 +138,7 @@
public void update(java.util.Observable o, Object param) {
- browserPanel.getIndexTree().refresh(((Index)o).getTreePath(browserPanel.getIndexTree()));
+ browserPanel.getIndexTree().redraw(((Index)o).getTreePath(browserPanel.getIndexTree()));
if (o.equals(browserPanel.getTables().getFileTable().getFileList())) {
browserPanel.getTables().getFileTable().refresh();
Modified: trunk/apps/Thaw/src/thaw/plugins/index/Index.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/Index.java 2007-06-01 20:51:27 UTC (rev 13462)
+++ trunk/apps/Thaw/src/thaw/plugins/index/Index.java 2007-06-02 12:50:14 UTC (rev 13463)
@@ -365,7 +365,7 @@
synchronized(db.dbLock) {
try {
PreparedStatement st =
- db.getConnection().prepareStatement("SELECT publicKey, revision, privateKey, displayName FROM indexes WHERE id = ? LIMIT 1");
+ db.getConnection().prepareStatement("SELECT publicKey, revision, privateKey, displayName, newRev, newComment FROM indexes WHERE id = ? LIMIT 1");
st.setInt(1, id);
@@ -376,6 +376,8 @@
privateKey = set.getString("privateKey");
rev = set.getInt("revision");
displayName = set.getString("displayName");
+ hasChanged = set.getBoolean("newRev");
+ newComment = set.getBoolean("newComment");
return true;
} else {
Logger.error(this, "Unable to find index "+Integer.toString(id)+" in the database ?!");
@@ -1677,8 +1679,8 @@
}
- public void forceHasChangedReload() {
- Logger.debug(this, "forceHasChangedReload() => loadData()");
+ public void forceFlagsReload() {
+ Logger.debug(this, "forceReload() => loadData()");
loadData();
}
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java 2007-06-01 20:51:27 UTC (rev 13462)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java 2007-06-02 12:50:14 UTC (rev 13463)
@@ -1213,13 +1213,13 @@
private boolean lastHasChangedValue = false;
private boolean hasLastHasChangedValueBeenSet = false;
- public void forceHasChangedReload() {
+ public void forceFlagsReload() {
if (children != null) {
synchronized(children) {
for (Iterator it = children.iterator();
it.hasNext();) {
IndexTreeNode child = (IndexTreeNode)it.next();
- child.forceHasChangedReload();
+ child.forceFlagsReload();
}
}
}
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java 2007-06-01 20:51:27 UTC (rev 13462)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java 2007-06-02 12:50:14 UTC (rev 13463)
@@ -532,16 +532,15 @@
}
- private boolean forceHasChangedFlagReload = false;
-
public void refresh() {
refresh(((IndexTreeNode)null));
}
public void refresh(IndexTreeNode node) {
- forceHasChangedFlagReload = true;
+ if (node != null)
+ node.forceFlagsReload();
if (treeModel != null) {
if (node != null && node.isInTree())
@@ -549,8 +548,6 @@
else
treeModel.reload(getRoot().getTreeNode());
}
-
- forceHasChangedFlagReload = false;
}
@@ -577,8 +574,9 @@
}
public void redraw(IndexTreeNode node) {
- //refresh(node);
- forceHasChangedFlagReload = true;
+ if (node != null)
+ node.forceFlagsReload();
+
if (treeModel != null) {
if (node != null && node.isInTree()) {
treeModel.nodeChanged(node.getTreeNode());
@@ -586,7 +584,6 @@
treeModel.nodeChanged(getRoot().getTreeNode());
}
}
- forceHasChangedFlagReload = false;
}
public void redraw(TreePath path) {
@@ -741,10 +738,6 @@
/* Remember that for the index category,
this kind of query is recursive */
boolean modifiable = ((IndexTreeNode)o).isModifiable();
-
- if (forceHasChangedFlagReload)
- ((IndexTreeNode)o).forceHasChangedReload();
-
boolean hasChanged = ((IndexTreeNode)o).hasChanged();
boolean newComment = ((IndexTreeNode)o).hasNewComment();
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexTreeNode.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexTreeNode.java 2007-06-01 20:51:27 UTC (rev 13462)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexTreeNode.java 2007-06-02 12:50:14 UTC (rev 13463)
@@ -71,7 +71,7 @@
/**
- * Will also force newComment flag reloading
+ * Will force hasChanged & newComment flag reloading
*/
- public void forceHasChangedReload();
+ public void forceFlagsReload();
}
From jflesch at freenetproject.org Sat Jun 2 15:06:53 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 2 Jun 2007 15:06:53 +0000 (UTC)
Subject: [Thaw-dev] r13464 - in trunk/apps/Thaw/src/thaw: fcp gui
plugins/index
Message-ID: <20070602150653.16B7C47A1CA@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-02 15:06:52 +0000 (Sat, 02 Jun 2007)
New Revision: 13464
Modified:
trunk/apps/Thaw/src/thaw/fcp/FreenetURIHelper.java
trunk/apps/Thaw/src/thaw/gui/Table.java
trunk/apps/Thaw/src/thaw/plugins/index/FileTable.java
trunk/apps/Thaw/src/thaw/plugins/index/Index.java
Log:
Thaw can now display in red the keys (CHK@) in the indexes who are/will become obsolete
Modified: trunk/apps/Thaw/src/thaw/fcp/FreenetURIHelper.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FreenetURIHelper.java 2007-06-02 12:50:14 UTC (rev 13463)
+++ trunk/apps/Thaw/src/thaw/fcp/FreenetURIHelper.java 2007-06-02 15:06:52 UTC (rev 13464)
@@ -335,5 +335,29 @@
return false;
}
+
+
+
+ public static boolean isObsolete(String key) {
+
+ if (key.startsWith("KSK"))
+ return false;
+
+ if (key.startsWith("SSK") || key.startsWith("USK")) {
+ if (key.indexOf("AQABAAE") > 0)
+ return true;
+
+ return false;
+ }
+
+ if (key.startsWith("CHK")) {
+ if (key.indexOf(",AAE") > 0)
+ return true;
+
+ return false;
+ }
+
+ return true;
+ }
}
Modified: trunk/apps/Thaw/src/thaw/gui/Table.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/Table.java 2007-06-02 12:50:14 UTC (rev 13463)
+++ trunk/apps/Thaw/src/thaw/gui/Table.java 2007-06-02 15:06:52 UTC (rev 13464)
@@ -23,6 +23,7 @@
import thaw.core.Config;
import thaw.core.I18n;
+import thaw.fcp.FreenetURIHelper;
import thaw.fcp.FCPTransferQuery;
import thaw.fcp.FCPClientPut;
import thaw.fcp.FCPClientGet;
@@ -42,7 +43,9 @@
private boolean hasChanged = false;
private Thread savingThread;
+ private int columnWithKeys = -1;
+
public Table(Config config, String prefix) {
super();
setDefaultRenderer();
@@ -99,7 +102,11 @@
setAsListener();
}
+ public void specifyColumnWithKeys(int c) {
+ columnWithKeys = c;
+ }
+
public void setDefaultRenderer() {
setDefaultRenderer(getColumnClass(0), new DefaultRenderer());
}
@@ -217,6 +224,16 @@
else
cell.setBackground(softGray);
}
+
+ cell.setForeground(Color.BLACK);
+
+
+ if (column == columnWithKeys && value instanceof String) {
+ String key = (String)value;
+ if (FreenetURIHelper.isObsolete(key))
+ cell.setForeground(Color.RED);
+ }
+
return cell;
}
Modified: trunk/apps/Thaw/src/thaw/plugins/index/FileTable.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/FileTable.java 2007-06-02 12:50:14 UTC (rev 13463)
+++ trunk/apps/Thaw/src/thaw/plugins/index/FileTable.java 2007-06-02 15:06:52 UTC (rev 13464)
@@ -44,7 +44,7 @@
private final JPanel panel;
- private final JTable table;
+ private final Table table;
private FileListModel fileListModel;
private FileList fileList;
@@ -90,7 +90,7 @@
//table = new JTable(fileListModel);
table.setShowGrid(false);
table.setIntercellSpacing(new java.awt.Dimension(0, 0));
-
+ table.specifyColumnWithKeys(2);
table.addMouseListener(this);
final JTableHeader header = table.getTableHeader();
Modified: trunk/apps/Thaw/src/thaw/plugins/index/Index.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/Index.java 2007-06-02 12:50:14 UTC (rev 13463)
+++ trunk/apps/Thaw/src/thaw/plugins/index/Index.java 2007-06-02 15:06:52 UTC (rev 13464)
@@ -402,7 +402,7 @@
public boolean isObsolete() {
- return (getPublicKey().indexOf("AQABAAE") > 0);
+ return FreenetURIHelper.isObsolete(getPublicKey());
}
public int getRevision() {
From jflesch at freenetproject.org Sat Jun 2 15:57:08 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 2 Jun 2007 15:57:08 +0000 (UTC)
Subject: [Thaw-dev] r13465 - trunk/apps/Thaw/src/thaw/i18n
Message-ID: <20070602155708.9CF64479F26@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-02 15:57:08 +0000 (Sat, 02 Jun 2007)
New Revision: 13465
Modified:
trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
Log:
Fix a mistake in the french translation
Modified: trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties 2007-06-02 15:06:52 UTC (rev 13464)
+++ trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties 2007-06-02 15:57:08 UTC (rev 13465)
@@ -321,7 +321,7 @@
thaw.plugin.index.publishPrivateKey=Attacher la clef priv?e ? l'index
-thaw.plugin.index.indexWithNoLink=L'index '?' n'a pas de lien vers d'autres index.\n?tes-vous s?r de vouloir l'ins?rer tel quel ?
+thaw.plugin.index.indexWithNoLink=L'index '?' n'a pas de lien vers d'autres indexes.\n?tes-vous s?r de vouloir l'ins?rer tel quel ?
thaw.plugin.index.sortAlphabetically=Trier par ordre alphab?tique
Modified: trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties 2007-06-02 15:06:52 UTC (rev 13464)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties 2007-06-02 15:57:08 UTC (rev 13465)
@@ -321,7 +321,7 @@
thaw.plugin.index.publishPrivateKey=Attacher la clef priv\u00e9e \u00e0 l'index
-thaw.plugin.index.indexWithNoLink=L'index '?' n'a pas de lien vers d'autres index.\n\u00cates-vous s\u00fbr de vouloir l'ins\u00e9rer tel quel ?
+thaw.plugin.index.indexWithNoLink=L'index '?' n'a pas de lien vers d'autres indexes.\n\u00cates-vous s\u00fbr de vouloir l'ins\u00e9rer tel quel ?
thaw.plugin.index.sortAlphabetically=Trier par ordre alphab\u00e9tique
From jflesch at freenetproject.org Mon Jun 4 23:09:41 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Mon, 4 Jun 2007 23:09:41 +0000 (UTC)
Subject: [Thaw-dev] r13467 - in trunk/apps/Thaw/src/thaw: fcp plugins/index
Message-ID: <20070604230941.6C0CA4796C1@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-04 23:09:41 +0000 (Mon, 04 Jun 2007)
New Revision: 13467
Modified:
trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
trunk/apps/Thaw/src/thaw/fcp/FCPQueueLoader.java
trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java
Log:
Fix file fetching when using non-global queue
Modified: trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java 2007-06-04 22:42:10 UTC (rev 13466)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java 2007-06-04 23:09:41 UTC (rev 13467)
@@ -603,8 +603,12 @@
Logger.info(this, "Duplicating socket ...");
- duplicatedQueryManager = queueManager.getQueryManager().duplicate(identifier);
- duplicatedQueryManager.addObserver(this);
+ if (globalQueue) {
+ duplicatedQueryManager = queueManager.getQueryManager().duplicate(identifier);
+ duplicatedQueryManager.addObserver(this);
+ } else { /* won't duplicate ; else it will use another id */
+ duplicatedQueryManager = queueManager.getQueryManager();
+ }
Logger.info(this, "Waiting for socket ...");
status = "Waiting for socket availability ...";
Modified: trunk/apps/Thaw/src/thaw/fcp/FCPQueueLoader.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPQueueLoader.java 2007-06-04 22:42:10 UTC (rev 13466)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPQueueLoader.java 2007-06-04 23:09:41 UTC (rev 13467)
@@ -57,8 +57,9 @@
boolean global = true;
- if("false".equals( msg.getValue("Global") ))
- global = false;
+ if (msg.getValue("Global") != null) {
+ global = Boolean.valueOf(msg.getValue("Global"));
+ }
String destinationDir = null;
Modified: trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java 2007-06-04 22:42:10 UTC (rev 13466)
+++ trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java 2007-06-04 23:09:41 UTC (rev 13467)
@@ -276,27 +276,18 @@
try {
synchronized(db.dbLock) {
PreparedStatement st = db.getConnection().prepareStatement("INSERT INTO indexBlackList (publicKey, name) VALUES (?, ?)");
- PreparedStatement anotherSt = db.getConnection().prepareStatement("UPDATE links SET blackListed = true WHERE id = ?");
st.setString(1, key);
st.setString(2, Index.getNameFromKey(key));
st.execute();
-
- st = db.getConnection().prepareStatement("SELECT id, publicKey FROM links WHERE "+
- "LOWER(publicKey) LIKE ? LIMIT 1");
+ st = db.getConnection().prepareStatement("UPDATE links "+
+ "SET blackListed = true "+
+ "WHERE LOWER(publicKey) LIKE ?");
st.setString(1, FreenetURIHelper.getComparablePart(key) +"%");
- ResultSet res = st.executeQuery();
+ st.execute();
-
- if (!res.next()) {
- return false;
- }
-
- anotherSt.setInt(1, res.getInt("id"));
- anotherSt.execute();
-
}
} catch(SQLException e) {
Logger.error(new BlackList(), "Error while adding an entry to the blacklist : "+e.toString());
From jflesch at freenetproject.org Wed Jun 6 01:02:20 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Wed, 6 Jun 2007 01:02:20 +0000 (UTC)
Subject: [Thaw-dev] r13479 - trunk/apps/Thaw/src/thaw/fcp
Message-ID: <20070606010220.E0DFF479FBC@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-06 01:02:20 +0000 (Wed, 06 Jun 2007)
New Revision: 13479
Modified:
trunk/apps/Thaw/src/thaw/fcp/FCPGetNode.java
Log:
Fix the node reference given by the peermonitor plugin
Modified: trunk/apps/Thaw/src/thaw/fcp/FCPGetNode.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPGetNode.java 2007-06-05 19:13:13 UTC (rev 13478)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPGetNode.java 2007-06-06 01:02:20 UTC (rev 13479)
@@ -17,13 +17,12 @@
"version",
"dsaPubKey.y",
"physical.udp",
- "oldark.pubURI",
- "oldark.number",
"dsaGroup.g",
"dsaGroup.q",
"dsaGroup.p",
"ark.pubURI",
- "ark.number"
+ "ark.number",
+ "auth.negTypes"
};
private String ref;
@@ -88,8 +87,9 @@
ref = "";
for (int i = 0 ; i < refElements.length ; i++) {
- ref += refElements[i] + "=" +
- (msg.getValue(refElements[i]) != null ? msg.getValue(refElements[i]) : "???")
+ if (msg.getValue(refElements[i]) != null)
+ ref += refElements[i] + "=" +
+ msg.getValue(refElements[i])
+ "\n";
}
From nextgens at freenetproject.org Sat Jun 16 23:43:42 2007
From: nextgens at freenetproject.org (nextgens at freenetproject.org)
Date: Sat, 16 Jun 2007 23:43:42 +0000 (UTC)
Subject: [Thaw-dev] r13633 - trunk/apps/Thaw
Message-ID: <20070616234342.CF14D4791A8@emu.freenetproject.org>
Author: nextgens
Date: 2007-06-16 23:43:42 +0000 (Sat, 16 Jun 2007)
New Revision: 13633
Modified:
trunk/apps/Thaw/build.xml
Log:
Thaw: apply a patch to build.xml (from Jflesch)
Modified: trunk/apps/Thaw/build.xml
===================================================================
--- trunk/apps/Thaw/build.xml 2007-06-16 21:01:59 UTC (rev 13632)
+++ trunk/apps/Thaw/build.xml 2007-06-16 23:43:42 UTC (rev 13633)
@@ -44,6 +44,7 @@
+
From jflesch at freenetproject.org Sun Jun 17 23:53:50 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sun, 17 Jun 2007 23:53:50 +0000 (UTC)
Subject: [Thaw-dev] r13639 - in trunk/apps/Thaw/src/thaw: core gui plugins
plugins/index
Message-ID: <20070617235350.D682F47A107@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-17 23:53:50 +0000 (Sun, 17 Jun 2007)
New Revision: 13639
Added:
trunk/apps/Thaw/src/thaw/gui/TabbedPane.java
Modified:
trunk/apps/Thaw/src/thaw/core/MainWindow.java
trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java
trunk/apps/Thaw/src/thaw/plugins/LogConsole.java
trunk/apps/Thaw/src/thaw/plugins/PeerMonitor.java
trunk/apps/Thaw/src/thaw/plugins/QueueWatcher.java
trunk/apps/Thaw/src/thaw/plugins/SqlConsole.java
trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java
trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java
trunk/apps/Thaw/src/thaw/plugins/index/CommentTab.java
Log:
Change the tabbed pane behavior
Modified: trunk/apps/Thaw/src/thaw/core/MainWindow.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/MainWindow.java 2007-06-17 20:30:04 UTC (rev 13638)
+++ trunk/apps/Thaw/src/thaw/core/MainWindow.java 2007-06-17 23:53:50 UTC (rev 13639)
@@ -22,6 +22,7 @@
import javax.swing.WindowConstants;
+import thaw.gui.TabbedPane;
import thaw.gui.IconBox;
@@ -77,7 +78,7 @@
private JButton settingsButton = null;
private JButton quitButton = null;
- private JTabbedPane tabbedPane = null;
+ private TabbedPane tabbedPane = null;
private JLabel statusBar = null;
private Core core = null; /* core is called back when exit() */
@@ -171,7 +172,7 @@
// TABBED PANE
- tabbedPane = new JTabbedPane();
+ tabbedPane = new TabbedPane();
// STATUS BAR
@@ -300,18 +301,21 @@
/**
* Used to add a tab in the main window.
- * In the future, even if the interface, this function should remain available.
+ * In the future, even if the interface change,
+ * this function should remain available.
*/
public boolean addTab(final String tabName, final java.awt.Component panel) {
- tabbedPane.addTab(tabName, panel);
-
- return true;
+ return addTab(tabName, IconBox.add, panel);
}
/**
+ * Used to add a tab in the main window.
+ * In the future, even if the interface change,
+ * this function should remain available
* @see #addTab(String, java.awt.Component)
*/
- public boolean addTab(final String tabName, final Icon icon, final java.awt.Component panel) {
+ public boolean addTab(final String tabName, final Icon icon,
+ final java.awt.Component panel) {
tabbedPane.addTab(tabName, icon, panel);
return true;
Added: trunk/apps/Thaw/src/thaw/gui/TabbedPane.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/TabbedPane.java (rev 0)
+++ trunk/apps/Thaw/src/thaw/gui/TabbedPane.java 2007-06-17 23:53:50 UTC (rev 13639)
@@ -0,0 +1,63 @@
+package thaw.gui;
+
+import javax.swing.JTabbedPane;
+import javax.swing.Icon;
+import java.awt.Component;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+
+import java.util.Vector;
+
+import thaw.core.Logger;
+
+
+public class TabbedPane extends JTabbedPane implements ChangeListener {
+ private Vector tabNames;
+
+ public TabbedPane() {
+ super();
+ tabNames = new Vector();
+ super.addChangeListener(this);
+ }
+
+
+ public void addTab(final String tabName, final Icon icon,
+ final java.awt.Component panel) {
+ tabNames.add(tabName);
+
+ if (tabNames.size() > 1)
+ super.addTab("", icon, panel);
+ else
+ super.addTab(tabName, icon, panel);
+
+ int x = super.indexOfComponent(panel);
+
+ super.setToolTipTextAt(x, tabName);
+ }
+
+
+ public void remove(Component panel) {
+ int x = super.indexOfComponent(panel);
+
+ if (x >= 0)
+ tabNames.remove(x);
+ else
+ Logger.error(this, "remove(): Component not found ?");
+
+ super.remove(panel);
+ }
+
+
+ public void stateChanged(final ChangeEvent e) {
+ int x = super.getSelectedIndex();
+ int tabCount = super.getTabCount();
+
+ for (int i = 0 ; i < tabCount ; i++) {
+ if (i == x)
+ super.setTitleAt(i, (String)tabNames.get(i));
+ else
+ super.setTitleAt(i, "");
+ }
+ }
+}
Modified: trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java 2007-06-17 20:30:04 UTC (rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java 2007-06-17 23:53:50 UTC (rev 13639)
@@ -78,7 +78,7 @@
core.getMainWindow().getTabbedPane().addChangeListener(this);
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.index.indexes"),
- IconBox.minIndexBrowser,
+ IconBox.indexBrowser,
browserPanel.getPanel());
browserPanel.restoreState();
Modified: trunk/apps/Thaw/src/thaw/plugins/LogConsole.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/LogConsole.java 2007-06-17 20:30:04 UTC (rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/LogConsole.java 2007-06-17 23:53:50 UTC (rev 13639)
@@ -67,7 +67,8 @@
consolePanel.add(logAreaScrollPane, BorderLayout.CENTER);
consolePanel.add(saveToFile, BorderLayout.SOUTH);
- core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.console.console"), thaw.gui.IconBox.minTerminal, consolePanel);
+ core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.console.console"),
+ thaw.gui.IconBox.terminal, consolePanel);
Logger.addLogListener(this);
Modified: trunk/apps/Thaw/src/thaw/plugins/PeerMonitor.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/PeerMonitor.java 2007-06-17 20:30:04 UTC (rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/PeerMonitor.java 2007-06-17 23:53:50 UTC (rev 13639)
@@ -141,7 +141,7 @@
public void update(Observable o, Object param) {
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.peerMonitor.peerMonitor"),
- thaw.gui.IconBox.minPeerMonitor,
+ thaw.gui.IconBox.peers,
peerPanel.getTabPanel());
core.getMainWindow().setSelectedTab(peerPanel.getTabPanel());
Modified: trunk/apps/Thaw/src/thaw/plugins/QueueWatcher.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/QueueWatcher.java 2007-06-17 20:30:04 UTC (rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/QueueWatcher.java 2007-06-17 23:53:50 UTC (rev 13639)
@@ -98,7 +98,7 @@
setMainWindow(core.getMainWindow());
core.getMainWindow().getTabbedPane().addChangeListener(this);
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.queueWatcher"),
- IconBox.minQueue,
+ IconBox.queue,
panelAdded);
split.setResizeWeight(0.5);
Modified: trunk/apps/Thaw/src/thaw/plugins/SqlConsole.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/SqlConsole.java 2007-06-17 20:30:04 UTC (rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/SqlConsole.java 2007-06-17 23:53:50 UTC (rev 13639)
@@ -64,7 +64,7 @@
panel = getPanel();
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.hsqldb.console"),
- thaw.gui.IconBox.minTerminal,
+ thaw.gui.IconBox.terminal,
panel);
return true;
Modified: trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java 2007-06-17 20:30:04 UTC (rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java 2007-06-17 23:53:50 UTC (rev 13639)
@@ -135,7 +135,7 @@
setAsObserverEverywhere(true);
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.transferLogs.transferLogsShort"),
- thaw.gui.IconBox.minFile,
+ thaw.gui.IconBox.file,
tab);
return true;
Modified: trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java 2007-06-17 20:30:04 UTC (rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java 2007-06-17 23:53:50 UTC (rev 13639)
@@ -180,7 +180,7 @@
visible = true;
updateList();
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.index.blackList"),
- IconBox.minStop, panel);
+ IconBox.stop, panel);
core.getMainWindow().setSelectedTab(panel);
}
Modified: trunk/apps/Thaw/src/thaw/plugins/index/CommentTab.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/CommentTab.java 2007-06-17 20:30:04 UTC (rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/index/CommentTab.java 2007-06-17 23:53:50 UTC (rev 13639)
@@ -182,6 +182,7 @@
updateCommentList();
indexBrowser.getMainWindow().addTab(I18n.getMessage("thaw.plugin.index.comment.commentList"),
+ thaw.gui.IconBox.readComments,
tabPanel);
indexBrowser.getMainWindow().setSelectedTab(tabPanel);
From jflesch at freenetproject.org Mon Jun 18 00:01:23 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Mon, 18 Jun 2007 00:01:23 +0000 (UTC)
Subject: [Thaw-dev] r13640 - in trunk/apps/Thaw/src/thaw: gui plugins/index
Message-ID: <20070618000123.C2F6347A1F6@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-18 00:01:23 +0000 (Mon, 18 Jun 2007)
New Revision: 13640
Modified:
trunk/apps/Thaw/src/thaw/gui/TabbedPane.java
trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java
Log:
Fix the warnings due to the new tabbedpane behavior
Modified: trunk/apps/Thaw/src/thaw/gui/TabbedPane.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/TabbedPane.java 2007-06-17 23:53:50 UTC (rev 13639)
+++ trunk/apps/Thaw/src/thaw/gui/TabbedPane.java 2007-06-18 00:01:23 UTC (rev 13640)
@@ -48,7 +48,11 @@
super.remove(panel);
}
+ public int indexOfTab(String tabName) {
+ return tabNames.indexOf(tabName);
+ }
+
public void stateChanged(final ChangeEvent e) {
int x = super.getSelectedIndex();
int tabCount = super.getTabCount();
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java 2007-06-17 23:53:50 UTC (rev 13639)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexTree.java 2007-06-18 00:01:23 UTC (rev 13640)
@@ -587,12 +587,16 @@
}
public void redraw(TreePath path) {
- Object[] nodes = (path.getPath());
+ if (path != null) {
+ Object[] nodes = (path.getPath());
- for (int i = 0 ; i < nodes.length ; i++) {
- IndexTreeNode node = (IndexTreeNode)nodes[i];
- redraw(node);
+ for (int i = 0 ; i < nodes.length ; i++) {
+ IndexTreeNode node = (IndexTreeNode)nodes[i];
+ redraw(node);
+ }
}
+ else
+ redraw(getRoot());
}
From jflesch at freenetproject.org Mon Jun 18 00:02:44 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Mon, 18 Jun 2007 00:02:44 +0000 (UTC)
Subject: [Thaw-dev] r13641 - trunk/apps/Thaw/src/thaw/plugins
Message-ID: <20070618000244.883EE47A1F0@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-18 00:02:44 +0000 (Mon, 18 Jun 2007)
New Revision: 13641
Modified:
trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java
Log:
Fix the transferlogs plugin : Didn't register before accessing the database though the hsqldb plugin
Modified: trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java 2007-06-18 00:01:23 UTC (rev 13640)
+++ trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java 2007-06-18 00:02:44 UTC (rev 13641)
@@ -90,6 +90,7 @@
}
db = (Hsqldb)core.getPluginManager().getPlugin("thaw.plugins.Hsqldb");
+ db.registerChild(this);
createTables();
From jflesch at freenetproject.org Mon Jun 18 00:26:54 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Mon, 18 Jun 2007 00:26:54 +0000 (UTC)
Subject: [Thaw-dev] r13642 - trunk/apps/Thaw/src/thaw/i18n
Message-ID: <20070618002654.7472947983B@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-18 00:26:54 +0000 (Mon, 18 Jun 2007)
New Revision: 13642
Modified:
trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
trunk/apps/Thaw/src/thaw/i18n/thaw.properties
trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
Log:
Make the option attaching the private key of the index to the index more explicit
Modified: trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties 2007-06-18 00:02:44 UTC (rev 13641)
+++ trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties 2007-06-18 00:26:54 UTC (rev 13642)
@@ -319,7 +319,7 @@
thaw.plugin.index.markAllAsSeen=Les marquer tous comme vus
thaw.plugin.index.markAsSeen=Marquer comme vu
-thaw.plugin.index.publishPrivateKey=Attacher la clef priv?e ? l'index
+thaw.plugin.index.publishPrivateKey=Attacher la clef priv?e de l'index ? l'index (DANGEREUX !)
thaw.plugin.index.indexWithNoLink=L'index '?' n'a pas de lien vers d'autres indexes.\n?tes-vous s?r de vouloir l'ins?rer tel quel ?
Modified: trunk/apps/Thaw/src/thaw/i18n/thaw.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw.properties 2007-06-18 00:02:44 UTC (rev 13641)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw.properties 2007-06-18 00:26:54 UTC (rev 13642)
@@ -325,7 +325,7 @@
thaw.plugin.index.markAllAsSeen=Mark all as seen
thaw.plugin.index.markAsSeen=Mark as seen
-thaw.plugin.index.publishPrivateKey=Attach the private key with the index
+thaw.plugin.index.publishPrivateKey=Attach the private key of the index with the index (BE CAREFUL !)
thaw.plugin.index.indexWithNoLink=The index '?' has no link to other indexes.\nAre you sure that you want to insert it as it ?
Modified: trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties 2007-06-18 00:02:44 UTC (rev 13641)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties 2007-06-18 00:26:54 UTC (rev 13642)
@@ -319,7 +319,7 @@
thaw.plugin.index.markAllAsSeen=Les marquer tous comme vus
thaw.plugin.index.markAsSeen=Marquer comme vu
-thaw.plugin.index.publishPrivateKey=Attacher la clef priv\u00e9e \u00e0 l'index
+thaw.plugin.index.publishPrivateKey=Attacher la clef priv\u00e9e de l'index \u00e0 l'index (DANGEREUX !)
thaw.plugin.index.indexWithNoLink=L'index '?' n'a pas de lien vers d'autres indexes.\n\u00cates-vous s\u00fbr de vouloir l'ins\u00e9rer tel quel ?
From jflesch at freenetproject.org Mon Jun 18 11:30:17 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Mon, 18 Jun 2007 11:30:17 +0000 (UTC)
Subject: [Thaw-dev] r13647 - trunk/apps/Thaw/src/thaw/core
Message-ID: <20070618113017.49F7E47A0E7@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-18 11:30:17 +0000 (Mon, 18 Jun 2007)
New Revision: 13647
Modified:
trunk/apps/Thaw/src/thaw/core/ConfigWindow.java
Log:
Change the tab behavior also in the config window
Modified: trunk/apps/Thaw/src/thaw/core/ConfigWindow.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/ConfigWindow.java 2007-06-18 10:28:50 UTC (rev 13646)
+++ trunk/apps/Thaw/src/thaw/core/ConfigWindow.java 2007-06-18 11:30:17 UTC (rev 13647)
@@ -11,7 +11,7 @@
import javax.swing.JDialog;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
-import javax.swing.JTabbedPane;
+import thaw.gui.TabbedPane;
import thaw.gui.IconBox;
@@ -25,7 +25,7 @@
*/
public class ConfigWindow extends Observable implements ActionListener, java.awt.event.WindowListener {
private JDialog configWin;
- private JTabbedPane tabs;
+ private TabbedPane tabs;
private JPanel buttons;
private JButton okButton;
@@ -50,7 +50,7 @@
configWin = new JDialog(core.getMainWindow().getMainFrame(), I18n.getMessage("thaw.config.windowName"));
- tabs = new JTabbedPane();
+ tabs = new TabbedPane();
buttons = new JPanel();
buttons.setLayout(new GridLayout(1, 2));
From jflesch at freenetproject.org Sat Jun 23 02:22:52 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 23 Jun 2007 02:22:52 +0000 (UTC)
Subject: [Thaw-dev] r13726 - in trunk/apps/Thaw: images src/thaw/gui
src/thaw/plugins/queueWatcher
Message-ID: <20070623022252.D9B0F479703@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-23 02:22:52 +0000 (Sat, 23 Jun 2007)
New Revision: 13726
Added:
trunk/apps/Thaw/images/min-green.png
trunk/apps/Thaw/images/min-orange.png
trunk/apps/Thaw/images/min-red.png
Modified:
trunk/apps/Thaw/src/thaw/gui/IconBox.java
trunk/apps/Thaw/src/thaw/plugins/queueWatcher/DragAndDropManager.java
trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueuePanel.java
trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
Log:
Change the way that downloads/insertions are displayed in Thaw : Will require some testing and some feedbacks
Added: trunk/apps/Thaw/images/min-green.png
===================================================================
(Binary files differ)
Property changes on: trunk/apps/Thaw/images/min-green.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/apps/Thaw/images/min-orange.png
===================================================================
(Binary files differ)
Property changes on: trunk/apps/Thaw/images/min-orange.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/apps/Thaw/images/min-red.png
===================================================================
(Binary files differ)
Property changes on: trunk/apps/Thaw/images/min-red.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/apps/Thaw/src/thaw/gui/IconBox.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/IconBox.java 2007-06-23 01:26:21 UTC (rev 13725)
+++ trunk/apps/Thaw/src/thaw/gui/IconBox.java 2007-06-23 02:22:52 UTC (rev 13726)
@@ -128,6 +128,11 @@
public static ImageIcon readComments;
public static ImageIcon minReadComments;
+ public static ImageIcon minRed;
+ public static ImageIcon minOrange;
+ public static ImageIcon minGreen;
+
+
/**
* Not really used
*/
@@ -239,6 +244,9 @@
IconBox.minAddComment = IconBox.loadIcon("min-newComment.png");
IconBox.readComments = IconBox.loadIcon("readComments.png");
IconBox.minReadComments = IconBox.loadIcon("min-readComments.png");
+ IconBox.minRed = IconBox.loadIcon("min-red.png");
+ IconBox.minOrange = IconBox.loadIcon("min-orange.png");
+ IconBox.minGreen = IconBox.loadIcon("min-green.png");
}
}
Modified: trunk/apps/Thaw/src/thaw/plugins/queueWatcher/DragAndDropManager.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/queueWatcher/DragAndDropManager.java 2007-06-23 01:26:21 UTC (rev 13725)
+++ trunk/apps/Thaw/src/thaw/plugins/queueWatcher/DragAndDropManager.java 2007-06-23 02:22:52 UTC (rev 13726)
@@ -36,16 +36,16 @@
dragSource = DragSource.getDefaultDragSource();
- for(int i = 0 ; i < queuePanels.length ; i++) {
- dragSource.createDefaultDragGestureRecognizer(queuePanels[i].getTable(),
- DnDConstants.ACTION_COPY_OR_MOVE,
- this);
+ //for(int i = 0 ; i < queuePanels.length ; i++) {
+ //dragSource.createDefaultDragGestureRecognizer(queuePanels[i].getTable(),
+ // DnDConstants.ACTION_COPY_OR_MOVE,
+ // this);
/* TODO: Finish DnD support */
//queuePanels[i].getTable().setTransferHandler(new FileTransferHandler());
//queuePanels[i].getTable().setDragEnabled(true);
- }
+ //}
}
private class FileTransferHandler extends TransferHandler {
Modified: trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueuePanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueuePanel.java 2007-06-23 01:26:21 UTC (rev 13725)
+++ trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueuePanel.java 2007-06-23 02:22:52 UTC (rev 13726)
@@ -57,6 +57,8 @@
public final static int ACTION_COPY_KEYS_SELECTED = 6;
public final static int ACTION_CHANGE_PRIORITY_SELECTED = 7;
+ public final static int FIRST_COLUMN_SIZE = 20;
+
private Core core;
private JButton button;
@@ -107,7 +109,8 @@
isForInsertionQueue ? "table_insertions" : "table_downloads",
tableModel);
- table.setShowGrid(true);
+ table.setShowGrid(false);
+ table.setIntercellSpacing(new java.awt.Dimension(0, 0));
final JTableHeader header = table.getTableHeader();
header.setUpdateTableInRealTime(true);
@@ -197,6 +200,13 @@
table.addMouseListener(this);
table.addKeyListener(this);
+ /* we really really want a column 0 with a size of FIRST_COLUMN_SIZE ! */
+ table.getColumnModel().getColumn(0).setPreferredWidth(FIRST_COLUMN_SIZE);
+ table.getColumnModel().getColumn(0).setResizable(false);
+ table.getColumnModel().getColumn(0).setPreferredWidth(FIRST_COLUMN_SIZE);
+ table.getColumnModel().getColumn(0).setMinWidth(FIRST_COLUMN_SIZE);
+ table.getColumnModel().getColumn(0).setMaxWidth(FIRST_COLUMN_SIZE);
+
/* If a queue is already existing, we need to add it */
if(core.getQueueManager() != null) {
this.addToTable(core.getQueueManager().getRunningQueue());
@@ -224,6 +234,7 @@
private final Color FAILURE = Color.RED;
private final Color RUNNING = Color.ORANGE;
private final Color PENDING = Color.WHITE;
+ private Color softGray;
private QueueTableModel model = null;
private JTable tabl = null;
@@ -233,6 +244,7 @@
this.model = model;
tabl = table;
insertionQueue = isForInsertion;
+ softGray = new Color(240,240,240);
}
public Component getTableCellRendererComponent(final JTable table, Object value,
@@ -270,11 +282,42 @@
return bar;
}
+ Component cell = null;
- final Component cell = super.getTableCellRendererComponent(table, value,
- isSelected, hasFocus,
- row, column);
+ if (column == 0) {
+ if(query == null)
+ return null;
+ if(!query.isRunning() && !query.isFinished())
+ cell = new JLabel("");
+
+ if(query.isFinished() && query.isSuccessful() &&
+ ( (!(query instanceof FCPClientGet)) || ((FCPClientGet)query).isWritingSuccessful()))
+ cell = new JLabel(IconBox.minGreen);
+
+ if(query.isFinished() && (!query.isSuccessful() ||
+ ((query instanceof FCPClientGet) && !((FCPClientGet)query).isWritingSuccessful()) ) )
+ cell = new JLabel(IconBox.minRed);
+
+ if(query.isRunning() && !query.isFinished())
+ cell = new JLabel(IconBox.minOrange);
+
+ } else {
+
+ cell = super.getTableCellRendererComponent(table, value,
+ isSelected, hasFocus,
+ row, column);
+
+ }
+
+ if (!isSelected) {
+ if (row % 2 == 0)
+ cell.setBackground(Color.WHITE);
+ else
+ cell.setBackground(softGray);
+ }
+
+ /*
if(!isSelected) {
if(query == null)
@@ -294,8 +337,8 @@
if(query.isRunning() && !query.isFinished())
cell.setBackground(RUNNING);
}
+ */
-
return cell;
}
Modified: trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java 2007-06-23 01:26:21 UTC (rev 13725)
+++ trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java 2007-06-23 02:22:52 UTC (rev 13726)
@@ -43,6 +43,7 @@
columnNames = new Vector();
+ columnNames.add(" ");
columnNames.add(I18n.getMessage("thaw.common.file"));
columnNames.add(I18n.getMessage("thaw.common.size"));
@@ -90,10 +91,18 @@
}
- public Object getValueAt(final int row, final int column) {
+ public Object getValueAt(final int row, int column) {
if(row >= queries.size())
return null;
+ /* we don't return any value for the first column,
+ * the renderer will deduce itself what must be put in this column
+ */
+ if (column == 0)
+ return null;
+ else
+ column--;
+
final FCPTransferQuery query = (FCPTransferQuery)queries.get(row);
if(column == 0) {
@@ -345,7 +354,7 @@
final int columnsCount = table.getColumnCount();
- if (modelIndex < 0)
+ if (modelIndex < 0 || columnModelIndex < 1)
return;
if (sortedColumn == modelIndex)
@@ -376,7 +385,7 @@
public QueryComparator(final boolean sortedAsc, final int column,
final boolean isForInsertionTable) {
isSortedAsc = sortedAsc;
- this.column = column;
+ this.column = column - 1; /* can't sort on the first column */
this.isForInsertionTable = isForInsertionTable;
}
From jflesch at freenetproject.org Sat Jun 23 15:51:17 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 23 Jun 2007 15:51:17 +0000 (UTC)
Subject: [Thaw-dev] r13733 - trunk/apps/Thaw/src/thaw/fcp
Message-ID: <20070623155117.0A32E479872@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-23 15:51:16 +0000 (Sat, 23 Jun 2007)
New Revision: 13733
Modified:
trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
trunk/apps/Thaw/src/thaw/fcp/FCPConnection.java
Log:
Try to fix the behavior of FCPClientGet when disconnected when downloading data from the node
Modified: trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java 2007-06-23 14:34:49 UTC (rev 13732)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java 2007-06-23 15:51:16 UTC (rev 13733)
@@ -505,11 +505,15 @@
if(fetchDirectly(queryManager.getConnection(), fileSize, true)) {
writingSuccessful = true;
+ successful = false;
status = "Available";
} else {
Logger.warning(this, "Unable to fetch correctly the file. This may create problems on socket");
- writingSuccessful = false;
- status = "Error while receveing the file";
+ if (writingSuccessful) { /* if we forgot to set the correct values */
+ writingSuccessful = false;
+ successful = false;
+ status = "Error while receveing the file";
+ }
}
Logger.info(this, "File received");
@@ -717,9 +721,17 @@
if(amount <= -1) {
Logger.error(this, "Socket closed, damn !");
- status = "Read error";
+ status = "Unable to read data from the node";
writingSuccessful = false;
- break;
+ successful = false;
+ try {
+ outputStream.close();
+ } catch(java.io.IOException ex) {
+ Logger.error(this, "Unable to close the file cleanly : "+ex.toString());
+ Logger.error(this, "Things seem to go wrong !");
+ }
+ newFile.delete();
+ return false;
}
if(reallyWrite) {
@@ -729,6 +741,14 @@
Logger.error(this, "Unable to write file on disk ... out of space ? : "+e.toString());
status = "Unable to fetch / disk probably full !";
writingSuccessful = false;
+ successful = false;
+ try {
+ outputStream.close();
+ } catch(java.io.IOException ex) {
+ Logger.error(this, "Unable to close the file cleanly : "+ex.toString());
+ Logger.error(this, "Things seem to go wrong !");
+ }
+ newFile.delete();
return false;
}
}
Modified: trunk/apps/Thaw/src/thaw/fcp/FCPConnection.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPConnection.java 2007-06-23 14:34:49 UTC (rev 13732)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPConnection.java 2007-06-23 15:51:16 UTC (rev 13733)
@@ -334,6 +334,7 @@
if(rdBytes < 0) {
Logger.error(this, "Error while reading on the socket => disconnection");
disconnect();
+ return rdBytes;
}
rawBytesWaiting = rawBytesWaiting - rdBytes;
From jflesch at freenetproject.org Sat Jun 23 15:58:14 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 23 Jun 2007 15:58:14 +0000 (UTC)
Subject: [Thaw-dev] r13734 - trunk/apps/Thaw/src/thaw/plugins/index
Message-ID: <20070623155814.591DD47A1E6@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-23 15:58:14 +0000 (Sat, 23 Jun 2007)
New Revision: 13734
Modified:
trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java
Log:
Fix folder deletion
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java 2007-06-23 15:51:16 UTC (rev 13733)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java 2007-06-23 15:58:14 UTC (rev 13734)
@@ -702,9 +702,29 @@
synchronized(db.dbLock) {
try {
- /* we remove all the files */
PreparedStatement st;
+ /* we remove all the comments */
+
+ st = db.getConnection().prepareStatement("DELETE FROM indexCommentKeys "+
+ "WHERE indexCommentKeys.indexId IN "+
+ " (SELECT indexParents.indexId "+
+ " FROM indexParents "+
+ " WHERE indexParents.folderId = ?)");
+ st = db.getConnection().prepareStatement("DELETE FROM indexComments "+
+ "WHERE indexComments.indexId IN "+
+ " (SELECT indexParents.indexId "+
+ " FROM indexParents "+
+ " WHERE indexParents.folderId = ?)");
+ st = db.getConnection().prepareStatement("DELETE FROM indexCommentBlackList "+
+ "WHERE indexCommentBlackList.indexId IN "+
+ " (SELECT indexParents.indexId "+
+ " FROM indexParents "+
+ " WHERE indexParents.folderId = ?)");
+
+
+ /* we remove all the files */
+
st = db.getConnection().prepareStatement("DELETE FROM files WHERE files.indexParent IN "+
"(SELECT indexParents.indexId FROM indexParents WHERE indexParents.folderId = ?)");
From jflesch at freenetproject.org Sat Jun 23 16:08:11 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 23 Jun 2007 16:08:11 +0000 (UTC)
Subject: [Thaw-dev] r13735 - trunk/apps/Thaw/src/thaw/plugins/index
Message-ID: <20070623160811.15CFA47A254@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-23 16:08:10 +0000 (Sat, 23 Jun 2007)
New Revision: 13735
Modified:
trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java
Log:
I'm stupid : I prepared the SQL statements but didn't execute them
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java 2007-06-23 15:58:14 UTC (rev 13734)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java 2007-06-23 16:08:10 UTC (rev 13735)
@@ -711,16 +711,21 @@
" (SELECT indexParents.indexId "+
" FROM indexParents "+
" WHERE indexParents.folderId = ?)");
+ st.execute();
+
st = db.getConnection().prepareStatement("DELETE FROM indexComments "+
"WHERE indexComments.indexId IN "+
" (SELECT indexParents.indexId "+
" FROM indexParents "+
" WHERE indexParents.folderId = ?)");
+ st.execute();
+
st = db.getConnection().prepareStatement("DELETE FROM indexCommentBlackList "+
"WHERE indexCommentBlackList.indexId IN "+
" (SELECT indexParents.indexId "+
" FROM indexParents "+
" WHERE indexParents.folderId = ?)");
+ st.execute();
/* we remove all the files */
From jflesch at freenetproject.org Sat Jun 23 17:29:59 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 23 Jun 2007 17:29:59 +0000 (UTC)
Subject: [Thaw-dev] r13736 - trunk/apps/Thaw/src/thaw/plugins/index
Message-ID: <20070623172959.17E5847A2CA@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-23 17:29:58 +0000 (Sat, 23 Jun 2007)
New Revision: 13736
Modified:
trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java
Log:
... and I forgot to specify the argument values of the SQL statements
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java 2007-06-23 16:08:10 UTC (rev 13735)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexFolder.java 2007-06-23 17:29:58 UTC (rev 13736)
@@ -711,6 +711,7 @@
" (SELECT indexParents.indexId "+
" FROM indexParents "+
" WHERE indexParents.folderId = ?)");
+ st.setInt(1, id);
st.execute();
st = db.getConnection().prepareStatement("DELETE FROM indexComments "+
@@ -718,6 +719,7 @@
" (SELECT indexParents.indexId "+
" FROM indexParents "+
" WHERE indexParents.folderId = ?)");
+ st.setInt(1, id);
st.execute();
st = db.getConnection().prepareStatement("DELETE FROM indexCommentBlackList "+
@@ -725,6 +727,7 @@
" (SELECT indexParents.indexId "+
" FROM indexParents "+
" WHERE indexParents.folderId = ?)");
+ st.setInt(1, id);
st.execute();
From jflesch at freenetproject.org Sat Jun 23 18:21:33 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 23 Jun 2007 18:21:33 +0000 (UTC)
Subject: [Thaw-dev] r13737 - trunk/apps/Thaw/src/thaw/fcp
Message-ID: <20070623182133.1403C47A240@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-23 18:21:32 +0000 (Sat, 23 Jun 2007)
New Revision: 13737
Modified:
trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
Log:
Fix FCPClientGet
Modified: trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java 2007-06-23 17:29:58 UTC (rev 13736)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java 2007-06-23 18:21:32 UTC (rev 13737)
@@ -505,7 +505,7 @@
if(fetchDirectly(queryManager.getConnection(), fileSize, true)) {
writingSuccessful = true;
- successful = false;
+ successful = true;
status = "Available";
} else {
Logger.warning(this, "Unable to fetch correctly the file. This may create problems on socket");
From jflesch at freenetproject.org Sat Jun 23 19:14:41 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 23 Jun 2007 19:14:41 +0000 (UTC)
Subject: [Thaw-dev] r13738 - in trunk/apps/Thaw/src/thaw: gui
plugins/queueWatcher
Message-ID: <20070623191441.7688F4797C8@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-23 19:14:41 +0000 (Sat, 23 Jun 2007)
New Revision: 13738
Modified:
trunk/apps/Thaw/src/thaw/gui/TabbedPane.java
trunk/apps/Thaw/src/thaw/gui/Table.java
trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueuePanel.java
trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
Log:
Modify the internal mechanisms to display the tables in the queueWatcher tab
Modified: trunk/apps/Thaw/src/thaw/gui/TabbedPane.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/TabbedPane.java 2007-06-23 18:21:32 UTC (rev 13737)
+++ trunk/apps/Thaw/src/thaw/gui/TabbedPane.java 2007-06-23 19:14:41 UTC (rev 13738)
@@ -42,8 +42,14 @@
if (x >= 0)
tabNames.remove(x);
- else
+ else {
Logger.error(this, "remove(): Component not found ?");
+ try { /* dirty way to have a trace back */
+ throw new Exception("bleh");
+ } catch(Exception e) {
+ e.printStackTrace();
+ }
+ }
super.remove(panel);
}
Modified: trunk/apps/Thaw/src/thaw/gui/Table.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/Table.java 2007-06-23 18:21:32 UTC (rev 13737)
+++ trunk/apps/Thaw/src/thaw/gui/Table.java 2007-06-23 19:14:41 UTC (rev 13738)
@@ -13,9 +13,10 @@
import javax.swing.JTable;
import javax.swing.JProgressBar;
import javax.swing.JTextArea;
+import javax.swing.JLabel;
import java.awt.Color;
import java.awt.Component;
-
+import javax.swing.ImageIcon;
import java.util.Vector;
@@ -45,6 +46,7 @@
private int columnWithKeys = -1;
+ private boolean statusInProgressBars = true;
public Table(Config config, String prefix) {
super();
@@ -106,6 +108,9 @@
columnWithKeys = c;
}
+ public void showStatusInProgressBars(boolean v) {
+ statusInProgressBars = v;
+ }
public void setDefaultRenderer() {
setDefaultRenderer(getColumnClass(0), new DefaultRenderer());
@@ -157,11 +162,11 @@
final boolean isSelected, final boolean hasFocus,
final int row, final int column) {
- if(value == null)
+ if (value == null)
return super.getTableCellRendererComponent(table, "",
isSelected, hasFocus, row, column);
- if(value instanceof FCPTransferQuery) {
+ if (value instanceof FCPTransferQuery) {
final FCPTransferQuery query = (FCPTransferQuery)value;
final JProgressBar bar = new JProgressBar(0, 100);
@@ -185,8 +190,11 @@
bar.setString(I18n.getMessage("thaw.common.ok"));
if(!query.isFinished()) {
- bar.setString(query.getStatus() +
- " [ "+Integer.toString(progress)+"% ]");
+ if (statusInProgressBars)
+ bar.setString(query.getStatus() +
+ " [ "+Integer.toString(progress)+"% ]");
+ else
+ bar.setString(Integer.toString(progress)+"%");
}
return bar;
@@ -194,7 +202,9 @@
Component cell;
- if(value instanceof Long) {
+ if (value instanceof ImageIcon) {
+ cell = new JLabel(((ImageIcon)value));
+ } else if(value instanceof Long) {
cell = super.getTableCellRendererComponent(table,
thaw.gui.GUIHelper.getPrintableSize(((Long)value).longValue()),
Modified: trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueuePanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueuePanel.java 2007-06-23 18:21:32 UTC (rev 13737)
+++ trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueuePanel.java 2007-06-23 19:14:41 UTC (rev 13738)
@@ -111,6 +111,7 @@
table.setShowGrid(false);
table.setIntercellSpacing(new java.awt.Dimension(0, 0));
+ table.showStatusInProgressBars(false);
final JTableHeader header = table.getTableHeader();
header.setUpdateTableInRealTime(true);
@@ -141,7 +142,7 @@
scrollPane = new JScrollPane(table);
panel.add(scrollPane, BorderLayout.CENTER);
- table.setDefaultRenderer( table.getColumnClass(0), new ProgressRenderer(table, tableModel, isForInsertionQueue) );
+ //table.setDefaultRenderer( table.getColumnClass(0), new ProgressRenderer(table, tableModel, isForInsertionQueue) );
tableModel.addTableModelListener(table);
@@ -227,124 +228,6 @@
}
- private class ProgressRenderer extends DefaultTableCellRenderer {
- private final static long serialVersionUID = 20060709;
-
- private final Color SUCCESS = Color.GREEN;
- private final Color FAILURE = Color.RED;
- private final Color RUNNING = Color.ORANGE;
- private final Color PENDING = Color.WHITE;
- private Color softGray;
-
- private QueueTableModel model = null;
- private JTable tabl = null;
- private boolean insertionQueue;
-
- public ProgressRenderer(final JTable table, final QueueTableModel model, final boolean isForInsertion) {
- this.model = model;
- tabl = table;
- insertionQueue = isForInsertion;
- softGray = new Color(240,240,240);
- }
-
- public Component getTableCellRendererComponent(final JTable table, Object value,
- boolean isSelected, final boolean hasFocus,
- final int row, final int column) {
-
- if(value == null)
- value = "";
-
- final FCPTransferQuery query = model.getQuery(row);
-
- if(value instanceof Integer) {
-
- final Integer progress = (Integer)value;
- final JProgressBar bar = new JProgressBar(0, 100);
-
- bar.setStringPainted(true);
- bar.setBorderPainted(false);
-
- if(progress.intValue() >= 0) {
- bar.setValue(progress.intValue());
-
- String toAdd = "%";
-
- if(!query.isProgressionReliable())
- toAdd = toAdd + " [*]";
-
- bar.setString(progress.toString() + toAdd);
- } else {
- bar.setValue(100);
- bar.setString(I18n.getMessage("thaw.common.failed"));
- }
-
-
- return bar;
- }
-
- Component cell = null;
-
- if (column == 0) {
- if(query == null)
- return null;
-
- if(!query.isRunning() && !query.isFinished())
- cell = new JLabel("");
-
- if(query.isFinished() && query.isSuccessful() &&
- ( (!(query instanceof FCPClientGet)) || ((FCPClientGet)query).isWritingSuccessful()))
- cell = new JLabel(IconBox.minGreen);
-
- if(query.isFinished() && (!query.isSuccessful() ||
- ((query instanceof FCPClientGet) && !((FCPClientGet)query).isWritingSuccessful()) ) )
- cell = new JLabel(IconBox.minRed);
-
- if(query.isRunning() && !query.isFinished())
- cell = new JLabel(IconBox.minOrange);
-
- } else {
-
- cell = super.getTableCellRendererComponent(table, value,
- isSelected, hasFocus,
- row, column);
-
- }
-
- if (!isSelected) {
- if (row % 2 == 0)
- cell.setBackground(Color.WHITE);
- else
- cell.setBackground(softGray);
- }
-
- /*
- if(!isSelected) {
-
- if(query == null)
- return null;
-
- if(!query.isRunning() && !query.isFinished())
- cell.setBackground(PENDING);
-
- if(query.isFinished() && query.isSuccessful() &&
- ( (!(query instanceof FCPClientGet)) || ((FCPClientGet)query).isWritingSuccessful()))
- cell.setBackground(SUCCESS);
-
- if(query.isFinished() && (!query.isSuccessful() ||
- ((query instanceof FCPClientGet) && !((FCPClientGet)query).isWritingSuccessful()) ) )
- cell.setBackground(FAILURE);
-
- if(query.isRunning() && !query.isFinished())
- cell.setBackground(RUNNING);
- }
- */
-
- return cell;
- }
-
- }
-
-
public void reloadSelections() {
selectedRows = table.getSelectedRows();
Modified: trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java 2007-06-23 18:21:32 UTC (rev 13737)
+++ trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java 2007-06-23 19:14:41 UTC (rev 13738)
@@ -18,7 +18,12 @@
import thaw.core.Logger;
import thaw.fcp.FCPQueueManager;
import thaw.fcp.FCPTransferQuery;
+import thaw.fcp.FCPClientGet;
+import thaw.fcp.FCPClientPut;
+import thaw.gui.IconBox;
+
+
public class QueueTableModel extends javax.swing.table.AbstractTableModel implements Observer {
private static final long serialVersionUID = 20060708;
@@ -95,17 +100,31 @@
if(row >= queries.size())
return null;
- /* we don't return any value for the first column,
- * the renderer will deduce itself what must be put in this column
- */
- if (column == 0)
- return null;
- else
- column--;
-
final FCPTransferQuery query = (FCPTransferQuery)queries.get(row);
- if(column == 0) {
+ if (column == 0) {
+ if(query == null)
+ return null;
+
+ if(!query.isRunning() && !query.isFinished())
+ return " ";
+
+ if(query.isFinished() && query.isSuccessful() &&
+ ( (!(query instanceof FCPClientGet)) || ((FCPClientGet)query).isWritingSuccessful()))
+ return IconBox.minGreen;
+
+ if(query.isFinished() && (!query.isSuccessful() ||
+ ((query instanceof FCPClientGet) && !((FCPClientGet)query).isWritingSuccessful()) ) )
+ return IconBox.minRed;
+
+ if(query.isRunning() && !query.isFinished())
+ return IconBox.minOrange;
+
+ return " ";
+ }
+
+
+ if(column == 1) {
String filename = query.getFilename();
if (filename == null)
@@ -114,7 +133,7 @@
return filename;
}
- if(column == 1)
+ if(column == 2)
return thaw.gui.GUIHelper.getPrintableSize(query.getFileSize());
if(!isForInsertions && (column == 2)) {
@@ -124,28 +143,14 @@
return I18n.getMessage("thaw.common.unspecified");
}
- if( (isForInsertions && (column == 2))
- || (!isForInsertions && (column == 3)) )
+ if( (isForInsertions && (column == 3))
+ || (!isForInsertions && (column == 4)) )
return query.getStatus();
- if( ((isForInsertions && (column == 3))
- || (!isForInsertions && (column == 4)) ) ) {
+ if( ((isForInsertions && (column == 4))
+ || (!isForInsertions && (column == 5)) ) ) {
- if(!query.isFinished() || query.isSuccessful()) {
- int progress;
-
- if ((query instanceof thaw.fcp.FCPClientPut
- && (query.getTransferWithTheNodeProgression() < 100))
- || ((query instanceof thaw.fcp.FCPClientGet)
- && (query.getTransferWithTheNodeProgression() > 0)))
- progress = query.getTransferWithTheNodeProgression();
- else
- progress = query.getProgression();
-
- return new Integer(progress);
- } else
- return new Integer(-1);
-
+ return query;
}
return null;
From jflesch at freenetproject.org Sat Jun 23 19:23:12 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 23 Jun 2007 19:23:12 +0000 (UTC)
Subject: [Thaw-dev] r13739 - in trunk/apps/Thaw/src/thaw: gui i18n
plugins/queueWatcher
Message-ID: <20070623192312.F1B3047A1E0@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-23 19:23:12 +0000 (Sat, 23 Jun 2007)
New Revision: 13739
Modified:
trunk/apps/Thaw/src/thaw/gui/Table.java
trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
trunk/apps/Thaw/src/thaw/i18n/thaw.properties
trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
Log:
Fix display of the third column in the download table
Modified: trunk/apps/Thaw/src/thaw/gui/Table.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/Table.java 2007-06-23 19:14:41 UTC (rev 13738)
+++ trunk/apps/Thaw/src/thaw/gui/Table.java 2007-06-23 19:23:12 UTC (rev 13739)
@@ -187,7 +187,7 @@
bar.setString(I18n.getMessage("thaw.common.failed"));
if(query.isFinished() && query.isSuccessful())
- bar.setString(I18n.getMessage("thaw.common.ok"));
+ bar.setString(I18n.getMessage("thaw.common.finished"));
if(!query.isFinished()) {
if (statusInProgressBars)
Modified: trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties 2007-06-23 19:14:41 UTC (rev 13738)
+++ trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties 2007-06-23 19:23:12 UTC (rev 13739)
@@ -70,6 +70,7 @@
thaw.common.failed=ECHEC
thaw.common.done=Fait
thaw.common.ok=Ok
+thaw.common.finished=Fini
thaw.common.search=Recherche
Modified: trunk/apps/Thaw/src/thaw/i18n/thaw.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw.properties 2007-06-23 19:14:41 UTC (rev 13738)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw.properties 2007-06-23 19:23:12 UTC (rev 13739)
@@ -72,6 +72,7 @@
thaw.common.failed=FAILED
thaw.common.done=Done
thaw.common.ok=Ok
+thaw.common.finished=Finished
thaw.common.search=Search
Modified: trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties 2007-06-23 19:14:41 UTC (rev 13738)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties 2007-06-23 19:23:12 UTC (rev 13739)
@@ -70,6 +70,7 @@
thaw.common.failed=ECHEC
thaw.common.done=Fait
thaw.common.ok=Ok
+thaw.common.finished=Fini
thaw.common.search=Recherche
Modified: trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java 2007-06-23 19:14:41 UTC (rev 13738)
+++ trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java 2007-06-23 19:23:12 UTC (rev 13739)
@@ -136,7 +136,7 @@
if(column == 2)
return thaw.gui.GUIHelper.getPrintableSize(query.getFileSize());
- if(!isForInsertions && (column == 2)) {
+ if(!isForInsertions && (column == 3)) {
if(query.getPath() != null)
return query.getPath();
else
From jflesch at freenetproject.org Sat Jun 23 21:06:34 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 23 Jun 2007 21:06:34 +0000 (UTC)
Subject: [Thaw-dev] r13742 - in trunk/apps/Thaw/src/thaw: core gui i18n
plugins
Message-ID: <20070623210634.B57A747A256@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-23 21:06:34 +0000 (Sat, 23 Jun 2007)
New Revision: 13742
Added:
trunk/apps/Thaw/src/thaw/gui/SysTrayIcon.java
trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
Modified:
trunk/apps/Thaw/src/thaw/core/MainWindow.java
trunk/apps/Thaw/src/thaw/core/PluginManager.java
trunk/apps/Thaw/src/thaw/gui/Table.java
trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
trunk/apps/Thaw/src/thaw/i18n/thaw.properties
trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
Log:
Add a basic tray icon
Modified: trunk/apps/Thaw/src/thaw/core/MainWindow.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/MainWindow.java 2007-06-23 20:47:40 UTC (rev 13741)
+++ trunk/apps/Thaw/src/thaw/core/MainWindow.java 2007-06-23 21:06:34 UTC (rev 13742)
@@ -20,8 +20,8 @@
import javax.swing.JToolBar;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
+import java.awt.event.WindowListener;
-
import thaw.gui.TabbedPane;
import thaw.gui.IconBox;
@@ -51,7 +51,7 @@
*
* @author Jerome Flesch
*/
-public class MainWindow implements java.awt.event.ActionListener, java.awt.event.WindowListener,
+public class MainWindow implements java.awt.event.ActionListener, WindowListener,
java.util.Observer {
public final static int DEFAULT_SIZE_X = 790;
@@ -208,6 +208,15 @@
}
+ public void addWindowListener(WindowListener wl) {
+ mainWindow.addWindowListener(wl);
+ }
+
+ public void removeWindowListener(WindowListener wl) {
+ mainWindow.removeWindowListener(wl);
+ }
+
+
public void connectionHasChanged() {
core.getConnectionManager().addObserver(this);
}
@@ -222,6 +231,19 @@
}
+ public boolean isVisible() {
+ return mainWindow.isVisible();
+ }
+
+ public void setIconified() {
+ mainWindow.setExtendedState(JFrame.ICONIFIED);
+ }
+
+ public void setNonIconified() {
+ mainWindow.setExtendedState(JFrame.NORMAL);
+ }
+
+
public JFrame getMainFrame() {
return mainWindow;
}
@@ -550,7 +572,7 @@
public void showDialogAbout() {
final JComponent[] labels = new JComponent[] {
- null,
+ new JTextField("Thaw "+Main.VERSION),
new JLabel(I18n.getMessage("thaw.about.l2")),
new JLabel(I18n.getMessage("thaw.about.l3")),
new JLabel(I18n.getMessage("thaw.about.l4")),
@@ -569,8 +591,6 @@
}
*/
-
- labels[0] = new JTextField("Thaw "+Main.VERSION);
((JTextField)labels[0]).setFont(new Font("Dialog", Font.BOLD, 30));
((JTextField)labels[0]).setEditable(false);
Modified: trunk/apps/Thaw/src/thaw/core/PluginManager.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/PluginManager.java 2007-06-23 20:47:40 UTC (rev 13741)
+++ trunk/apps/Thaw/src/thaw/core/PluginManager.java 2007-06-23 21:06:34 UTC (rev 13742)
@@ -26,6 +26,7 @@
"thaw.plugins.FetchPlugin",
"thaw.plugins.InsertPlugin",
"thaw.plugins.StatusBar",
+ "thaw.plugins.TrayIcon",
"thaw.plugins.ThemeSelector",
"thaw.plugins.Hsqldb",
"thaw.plugins.Signatures",
@@ -226,7 +227,8 @@
((Plugin)plugins.get(className)).run(core);
} catch(final Exception e) {
- Logger.warning(this, "runPlugin('"+className+"'): Exception: "+e);
+ Logger.error(this, "runPlugin('"+className+"'): Exception: "+e);
+ e.printStackTrace();
return false;
}
Added: trunk/apps/Thaw/src/thaw/gui/SysTrayIcon.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/SysTrayIcon.java (rev 0)
+++ trunk/apps/Thaw/src/thaw/gui/SysTrayIcon.java 2007-06-23 21:06:34 UTC (rev 13742)
@@ -0,0 +1,133 @@
+package thaw.gui;
+
+import java.lang.reflect.Method;
+import javax.swing.ImageIcon;
+import java.awt.Image;
+import java.awt.event.MouseListener;
+import java.awt.PopupMenu;
+
+import thaw.core.Logger;
+
+/**
+ * Systray icon that must compile with java 1.4 AND 1.6
+ * Limitations:
+ *
+ * - Will only work with java 1.6 (will do nothing else)
+ * - Only one icon
+ *
+ *
+ */
+public class SysTrayIcon {
+ private Object systemTray;
+ private Object trayIcon;
+
+ public SysTrayIcon(ImageIcon icon) {
+ try {
+ systemTray = Class.forName("java.awt.SystemTray").getMethod("getSystemTray", (Class[])null).invoke(null, (Object[])null);
+ trayIcon = Class.forName("java.awt.TrayIcon").getConstructor(new Class[] {
+ Image.class
+ }).newInstance(new Object[] {
+ icon.getImage()
+ });
+
+ Class.forName("java.awt.TrayIcon").getMethod("setImageAutoSize", new Class[] {
+ Boolean.TYPE
+ }).invoke(trayIcon, new Object[] {
+ new Boolean(true)
+ });
+
+ } catch(Exception e) {
+ Logger.notice(this, "Can't use Tray icon because: "+e.toString());
+ if (e.getCause() != null)
+ Logger.notice(this, "Cause: "+e.getCause().toString());
+ Logger.notice(this, "Probably due to a JVM without the support for the tray icons");
+ systemTray = null;
+ trayIcon = null;
+ }
+ }
+
+ public boolean canWork() {
+ return (systemTray != null);
+ }
+
+
+ public void setVisible(boolean v) {
+ if (!canWork())
+ return;
+
+ String method = (v ? "add" : "remove");
+
+ try {
+ Class.forName("java.awt.SystemTray").getMethod(method, new Class[] {
+ Class.forName("java.awt.TrayIcon")
+ }).invoke(systemTray, new Object[] {
+ trayIcon
+ });
+ } catch(Exception e) {
+ Logger.warning(this, "Error while changing visibility of the icon : "+e.toString());
+ }
+ }
+
+
+ public void addMouseListener(MouseListener ml) {
+ if (!canWork())
+ return;
+
+ try {
+ Class.forName("java.awt.TrayIcon").getMethod("addMouseListener", new Class[] {
+ MouseListener.class
+ }).invoke(trayIcon, new Object[] {
+ ml
+ });
+ } catch(Exception e) {
+ Logger.warning(this, "Error while adding mouse listener : "+e.toString());
+ }
+ }
+
+ public void removeMouseListener(MouseListener ml) {
+ if (!canWork())
+ return;
+
+ try {
+ Class.forName("java.awt.TrayIcon").getMethod("removeMouseListener", new Class[] {
+ MouseListener.class
+ }).invoke(trayIcon, new Object[] {
+ ml
+ });
+ } catch(Exception e) {
+ Logger.warning(this, "Error while removing mouse listener : "+e.toString());
+ }
+ }
+
+ public void setToolTip(String tt) {
+ if (!canWork())
+ return;
+
+ try {
+ Class.forName("java.awt.TrayIcon").getMethod("setToolTip", new Class[] {
+ String.class
+ }).invoke(trayIcon, new Object[] {
+ tt
+ });
+ } catch(Exception e) {
+ Logger.warning(this, "Error while setting tooltip : "+e.toString());
+ }
+ }
+
+
+ public void setPopupMenu(PopupMenu m) {
+ if (!canWork())
+ return;
+
+ try {
+ Class.forName("java.awt.TrayIcon").getMethod("setPopupMenu", new Class[] {
+ PopupMenu.class
+ }).invoke(trayIcon, new Object[] {
+ m
+ });
+ } catch(Exception e) {
+ Logger.warning(this, "Error while setting popup menu : "+e.toString());
+ }
+ }
+
+}
Modified: trunk/apps/Thaw/src/thaw/gui/Table.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/Table.java 2007-06-23 20:47:40 UTC (rev 13741)
+++ trunk/apps/Thaw/src/thaw/gui/Table.java 2007-06-23 21:06:34 UTC (rev 13742)
@@ -290,7 +290,7 @@
TableColumn c = m.getColumn(i);
String size = config.getValue(configPrefix+"_col_width_"+Integer.toString(i));
- if (size != null) {
+ if (size != null && !("".equals(size))) {
c.setPreferredWidth(Integer.parseInt(size));
}
}
Modified: trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties 2007-06-23 20:47:40 UTC (rev 13741)
+++ trunk/apps/Thaw/src/thaw/i18n/source.thaw_fr.properties 2007-06-23 21:06:34 UTC (rev 13742)
@@ -485,4 +485,4 @@
thaw.plugin.transferLogs.chooseFile=Choisisez un fichier
thaw.plugin.transferLogs.importedKey=Clef import?e
-
+thaw.plugin.trayIcon.pluginName=Ic?ne systray
Modified: trunk/apps/Thaw/src/thaw/i18n/thaw.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw.properties 2007-06-23 20:47:40 UTC (rev 13741)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw.properties 2007-06-23 21:06:34 UTC (rev 13742)
@@ -495,3 +495,6 @@
thaw.plugin.transferLogs.exportKeys=Export key list
thaw.plugin.transferLogs.chooseFile=Choose a file
thaw.plugin.transferLogs.importedKey=Imported key
+
+
+thaw.plugin.trayIcon.pluginName=Tray icon
Modified: trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties 2007-06-23 20:47:40 UTC (rev 13741)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw_fr.properties 2007-06-23 21:06:34 UTC (rev 13742)
@@ -485,4 +485,4 @@
thaw.plugin.transferLogs.chooseFile=Choisisez un fichier
thaw.plugin.transferLogs.importedKey=Clef import\u00e9e
-
+thaw.plugin.trayIcon.pluginName=Ic\u00f4ne systray
Added: trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java (rev 0)
+++ trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-23 21:06:34 UTC (rev 13742)
@@ -0,0 +1,88 @@
+package thaw.plugins;
+
+import java.awt.event.MouseListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.WindowListener;
+import java.awt.event.WindowEvent;
+
+import thaw.core.Core;
+import thaw.core.Logger;
+import thaw.core.I18n;
+
+import thaw.gui.SysTrayIcon;
+
+
+public class TrayIcon implements thaw.core.Plugin, MouseListener, WindowListener {
+ private Core core;
+ private SysTrayIcon icon;
+
+
+ public TrayIcon() {
+
+ }
+
+
+ public boolean run(Core core) {
+ this.core = core;
+
+ icon = new SysTrayIcon(thaw.gui.IconBox.blueBunny);
+ icon.setToolTip("Thaw "+thaw.core.Main.VERSION);
+ icon.addMouseListener(this);
+
+ core.getMainWindow().addWindowListener(this);
+
+ icon.setVisible(true);
+
+ return true;
+ }
+
+
+ public boolean stop() {
+ core.getMainWindow().addWindowListener(this);
+ icon.removeMouseListener(this);
+
+ icon.setVisible(false);
+
+ return true;
+ }
+
+ public String getNameForUser() {
+ return I18n.getMessage("thaw.plugin.trayIcon.pluginName");
+ }
+
+ public javax.swing.ImageIcon getIcon() {
+ return thaw.gui.IconBox.blueBunny;
+ }
+
+ public void switchMainWindowVisibility() {
+ boolean v = !core.getMainWindow().isVisible();
+
+ core.getMainWindow().setNonIconified();
+
+ core.getMainWindow().setVisible(v);
+
+ core.getMainWindow().setNonIconified();
+ }
+
+ public void windowActivated(WindowEvent e) { }
+ public void windowClosed(WindowEvent e) { }
+ public void windowClosing(WindowEvent e) { }
+ public void windowDeactivated(WindowEvent e) { }
+ public void windowDeiconified(WindowEvent e) { }
+
+ public void windowIconified(WindowEvent e) {
+ switchMainWindowVisibility();
+ }
+
+ public void windowOpened(WindowEvent e) { }
+
+
+ public void mouseClicked(MouseEvent e) {
+ switchMainWindowVisibility();
+ }
+
+ public void mouseEntered(MouseEvent e) { }
+ public void mouseExited(MouseEvent e) { }
+ public void mousePressed(MouseEvent e) { }
+ public void mouseReleased(MouseEvent e) { }
+}
From jflesch at freenetproject.org Sat Jun 23 22:53:59 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 23 Jun 2007 22:53:59 +0000 (UTC)
Subject: [Thaw-dev] r13743 - in trunk/apps/Thaw/src/thaw: gui i18n plugins
Message-ID: <20070623225359.8425F47A23B@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-23 22:53:59 +0000 (Sat, 23 Jun 2007)
New Revision: 13743
Added:
trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java
Modified:
trunk/apps/Thaw/src/thaw/gui/SysTrayIcon.java
trunk/apps/Thaw/src/thaw/gui/Table.java
trunk/apps/Thaw/src/thaw/i18n/thaw.properties
trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
Log:
When you right-click on the tray icon, now, it displays a dialog with all the running transfers
Modified: trunk/apps/Thaw/src/thaw/gui/SysTrayIcon.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/SysTrayIcon.java 2007-06-23 21:06:34 UTC (rev 13742)
+++ trunk/apps/Thaw/src/thaw/gui/SysTrayIcon.java 2007-06-23 22:53:59 UTC (rev 13743)
@@ -130,4 +130,23 @@
}
}
+
+ /**
+ * Return the mouse position on the screen
+ * put here just to keep all the code >= java 1.5 in the same class
+ */
+ public java.awt.Point getMousePosition() {
+ try {
+ Object pointerInfo = Class.forName("java.awt.MouseInfo").getMethod("getPointerInfo", (Class[])null).invoke(null, (Object[]) null);
+
+ java.awt.Point location = (java.awt.Point)Class.forName("java.awt.PointerInfo").getMethod("getLocation", (Class[])null).invoke(pointerInfo, (Object[])null);
+
+ return location;
+ } catch(Exception e) {
+ Logger.warning(this, "Error while setting popup menu : "+e.toString());
+ return null;
+ }
+
+ }
+
}
Modified: trunk/apps/Thaw/src/thaw/gui/Table.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/Table.java 2007-06-23 21:06:34 UTC (rev 13742)
+++ trunk/apps/Thaw/src/thaw/gui/Table.java 2007-06-23 22:53:59 UTC (rev 13743)
@@ -168,35 +168,8 @@
if (value instanceof FCPTransferQuery) {
final FCPTransferQuery query = (FCPTransferQuery)value;
- final JProgressBar bar = new JProgressBar(0, 100);
+ final JProgressBar bar = new TransferProgressBar(query, statusInProgressBars);
- int progress;
-
- bar.setStringPainted(true);
- bar.setBorderPainted(false);
-
- if ((query instanceof FCPClientPut && (query.getTransferWithTheNodeProgression() < 100))
- || ((query instanceof FCPClientGet) && (query.getTransferWithTheNodeProgression() > 0)))
- progress = query.getTransferWithTheNodeProgression();
- else
- progress = query.getProgression();
-
- bar.setValue(progress);
-
- if(query.isFinished() && !query.isSuccessful())
- bar.setString(I18n.getMessage("thaw.common.failed"));
-
- if(query.isFinished() && query.isSuccessful())
- bar.setString(I18n.getMessage("thaw.common.finished"));
-
- if(!query.isFinished()) {
- if (statusInProgressBars)
- bar.setString(query.getStatus() +
- " [ "+Integer.toString(progress)+"% ]");
- else
- bar.setString(Integer.toString(progress)+"%");
- }
-
return bar;
}
Added: trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java (rev 0)
+++ trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java 2007-06-23 22:53:59 UTC (rev 13743)
@@ -0,0 +1,48 @@
+package thaw.gui;
+
+import javax.swing.JProgressBar;
+
+import thaw.fcp.FCPTransferQuery;
+import thaw.fcp.FCPClientPut;
+import thaw.fcp.FCPClientGet;
+
+import thaw.core.I18n;
+
+public class TransferProgressBar extends JProgressBar {
+
+ public TransferProgressBar(FCPTransferQuery q) {
+ this(q, true);
+ }
+
+ public TransferProgressBar(FCPTransferQuery query, boolean statusInProgressBar) {
+ super(0, 100);
+
+ int progress;
+
+ setStringPainted(true);
+ setBorderPainted(false);
+
+ if ((query instanceof FCPClientPut && (query.getTransferWithTheNodeProgression() < 100))
+ || ((query instanceof FCPClientGet) && (query.getTransferWithTheNodeProgression() > 0)))
+ progress = query.getTransferWithTheNodeProgression();
+ else
+ progress = query.getProgression();
+
+ setValue(progress);
+
+ if(query.isFinished() && !query.isSuccessful())
+ setString(I18n.getMessage("thaw.common.failed"));
+
+ if(query.isFinished() && query.isSuccessful())
+ setString(I18n.getMessage("thaw.common.finished"));
+
+ if(!query.isFinished()) {
+ if (statusInProgressBar)
+ setString(query.getStatus() +
+ " [ "+Integer.toString(progress)+"% ]");
+ else
+ setString(Integer.toString(progress)+"%");
+ }
+ }
+
+}
Modified: trunk/apps/Thaw/src/thaw/i18n/thaw.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw.properties 2007-06-23 21:06:34 UTC (rev 13742)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw.properties 2007-06-23 22:53:59 UTC (rev 13743)
@@ -498,3 +498,4 @@
thaw.plugin.trayIcon.pluginName=Tray icon
+thaw.plugin.trayIcon.dialogTitle=Thaw transfers
Modified: trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-23 21:06:34 UTC (rev 13742)
+++ trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-23 22:53:59 UTC (rev 13743)
@@ -1,22 +1,49 @@
package thaw.plugins;
+import java.util.Comparator;
+import java.util.Collections;
+import java.util.Vector;
+import java.util.Iterator;
+
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.awt.event.WindowListener;
import java.awt.event.WindowEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+import javax.swing.JProgressBar;
+import javax.swing.JLabel;
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JScrollPane;
+import javax.swing.JPanel;
+
+import java.awt.Toolkit;
+
+import java.awt.GridLayout;
+import java.awt.BorderLayout;
+
import thaw.core.Core;
import thaw.core.Logger;
import thaw.core.I18n;
+import thaw.fcp.FCPTransferQuery;
+
import thaw.gui.SysTrayIcon;
+import thaw.gui.TransferProgressBar;
+import thaw.gui.IconBox;
-
-public class TrayIcon implements thaw.core.Plugin, MouseListener, WindowListener {
+public class TrayIcon implements thaw.core.Plugin, MouseListener, WindowListener, ActionListener {
private Core core;
private SysTrayIcon icon;
+ private JDialog dialog;
+ private JButton closeDialog;
+ public final static int DIALOG_X = 300;
+ public final static int DIALOG_Y = 500;
+
public TrayIcon() {
}
@@ -64,6 +91,150 @@
core.getMainWindow().setNonIconified();
}
+
+ private class QueryComparator implements Comparator {
+ public QueryComparator() {
+
+ }
+
+ public int compare(final Object o1, final Object o2) {
+ int result = 0;
+
+ if(!(o1 instanceof FCPTransferQuery)
+ || !(o2 instanceof FCPTransferQuery))
+ return 0;
+
+ final FCPTransferQuery q1 = (FCPTransferQuery)o1;
+ final FCPTransferQuery q2 = (FCPTransferQuery)o2;
+
+
+ if((q1.getProgression() <= 0)
+ && (q2.getProgression() <= 0)) {
+ if(q1.isRunning() && !q2.isRunning())
+ return 1;
+
+ if(q2.isRunning() && !q1.isRunning())
+ return -1;
+ }
+
+ result = (new Integer(q1.getProgression())).compareTo(new Integer(q2.getProgression()));
+
+ return result;
+ }
+
+
+ public boolean equals(final Object obj) {
+ return true;
+ }
+
+ public int hashCode(){
+ return super.hashCode();
+ }
+ }
+
+
+ private JPanel getTransferPanel(FCPTransferQuery q) {
+ JPanel p = new JPanel(new GridLayout(2, 1));
+
+ String txt = q.getFilename();
+
+ if (txt == null)
+ txt = q.getFileKey();
+
+ if (txt == null)
+ txt = "?";
+
+ javax.swing.ImageIcon icon;
+
+ if (q.getQueryType() == 2)
+ icon = IconBox.minInsertions;
+ else
+ icon = IconBox.minDownloads;
+
+ JLabel l = new JLabel(txt);
+ l.setIcon(icon);
+
+ p.add(l);
+ p.add(new TransferProgressBar(q));
+
+ return p;
+ }
+
+
+ private void realDisplayFrame(int x, int y) {
+ dialog = new JDialog((java.awt.Frame)null,
+ I18n.getMessage("thaw.plugin.trayIcon.dialogTitle"));
+ dialog.getContentPane().setLayout(new BorderLayout(5, 5));
+ dialog.setUndecorated(true);
+ dialog.setResizable(true);
+
+ JPanel panel = new JPanel(new BorderLayout(10, 10));
+ panel.add(new JLabel(" "), BorderLayout.CENTER);
+
+ Vector queries = core.getQueueManager().getRunningQueue();
+
+ JPanel north;
+
+ Vector newQueries = new Vector();
+
+ synchronized(queries) {
+ for (Iterator it = queries.iterator();
+ it.hasNext();) {
+ newQueries.add(it.next());
+ }
+ }
+
+ Collections.sort(newQueries, new QueryComparator());
+
+
+ north = new JPanel(new GridLayout(queries.size(), 1, 10, 10));
+
+ for (Iterator it = newQueries.iterator();
+ it.hasNext();) {
+ north.add(getTransferPanel((FCPTransferQuery)it.next()));
+ }
+
+
+ JPanel northNorth = new JPanel(new BorderLayout());
+ northNorth.add(new JLabel(" "), BorderLayout.CENTER);
+
+ closeDialog = new JButton(IconBox.minClose);
+ closeDialog.addActionListener(this);
+ northNorth.add(closeDialog, BorderLayout.EAST);
+
+ dialog.getContentPane().add(northNorth, BorderLayout.NORTH);
+ dialog.getContentPane().add(panel, BorderLayout.CENTER);
+
+ panel.add(north,
+ BorderLayout.NORTH);
+
+ dialog.getContentPane().add(new JScrollPane(panel,
+ JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
+ JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED),
+ BorderLayout.CENTER);
+
+ dialog.setLocation(x, y);
+
+ dialog.setSize(DIALOG_X, DIALOG_Y);
+ dialog.setPreferredSize(new java.awt.Dimension(DIALOG_X, DIALOG_Y));
+ dialog.validate();
+
+ dialog.setVisible(true);
+ }
+
+ public void displayFrame(int x, int y) {
+ java.awt.Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
+ int screen_x = (int)d.getWidth();
+ int screen_y = (int)d.getHeight();
+
+ if (x+DIALOG_X >= screen_x)
+ x -= DIALOG_X;
+ if (y+DIALOG_Y >= screen_y)
+ y -= DIALOG_Y;
+
+ realDisplayFrame(x, y);
+ }
+
public void windowActivated(WindowEvent e) { }
public void windowClosed(WindowEvent e) { }
public void windowClosing(WindowEvent e) { }
@@ -78,11 +249,33 @@
public void mouseClicked(MouseEvent e) {
- switchMainWindowVisibility();
+ if (dialog != null) {
+ dialog.setVisible(false);
+ dialog = null;
+ return;
+ }
+
+ if (e.getButton() == MouseEvent.BUTTON1)
+ switchMainWindowVisibility();
+ else if (e.getButton() == MouseEvent.BUTTON3) {
+ if (dialog == null) {
+ java.awt.Point p = icon.getMousePosition();
+ displayFrame(((int)p.getX()), ((int)p.getY()));
+ }
+ }
}
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) { }
public void mousePressed(MouseEvent e) { }
public void mouseReleased(MouseEvent e) { }
+
+ public void actionPerformed(ActionEvent e) {
+ if (e.getSource() == closeDialog) {
+ if (dialog != null) {
+ dialog.setVisible(false);
+ dialog = null;
+ }
+ }
+ }
}
From jflesch at freenetproject.org Sat Jun 23 23:23:29 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 23 Jun 2007 23:23:29 +0000 (UTC)
Subject: [Thaw-dev] r13744 - in trunk/apps/Thaw/src/thaw: core plugins
Message-ID: <20070623232329.6004A47A254@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-23 23:23:28 +0000 (Sat, 23 Jun 2007)
New Revision: 13744
Modified:
trunk/apps/Thaw/src/thaw/core/MainWindow.java
trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
Log:
Just to simplify a little bit the code used to 'reduce' the main window to the systray
Modified: trunk/apps/Thaw/src/thaw/core/MainWindow.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/MainWindow.java 2007-06-23 22:53:59 UTC (rev 13743)
+++ trunk/apps/Thaw/src/thaw/core/MainWindow.java 2007-06-23 23:23:28 UTC (rev 13744)
@@ -236,11 +236,19 @@
}
public void setIconified() {
- mainWindow.setExtendedState(JFrame.ICONIFIED);
+ int state = mainWindow.getExtendedState();
+
+ state |= JFrame.ICONIFIED;
+
+ mainWindow.setExtendedState(state);
}
public void setNonIconified() {
- mainWindow.setExtendedState(JFrame.NORMAL);
+ int state = mainWindow.getExtendedState();
+
+ state &= ~JFrame.ICONIFIED;
+
+ mainWindow.setExtendedState(state);
}
Modified: trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-23 22:53:59 UTC (rev 13743)
+++ trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-23 23:23:28 UTC (rev 13744)
@@ -84,11 +84,7 @@
public void switchMainWindowVisibility() {
boolean v = !core.getMainWindow().isVisible();
- core.getMainWindow().setNonIconified();
-
core.getMainWindow().setVisible(v);
-
- core.getMainWindow().setNonIconified();
}
From jflesch at freenetproject.org Sat Jun 23 23:27:03 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 23 Jun 2007 23:27:03 +0000 (UTC)
Subject: [Thaw-dev] r13745 - trunk/apps/Thaw/src/thaw/plugins
Message-ID: <20070623232703.5768747A349@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-23 23:27:03 +0000 (Sat, 23 Jun 2007)
New Revision: 13745
Modified:
trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
Log:
Fix: JDialog.setPreferedSize() doesn't seem to exist in java 1.4
Modified: trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-23 23:23:28 UTC (rev 13744)
+++ trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-23 23:27:03 UTC (rev 13745)
@@ -212,7 +212,6 @@
dialog.setLocation(x, y);
dialog.setSize(DIALOG_X, DIALOG_Y);
- dialog.setPreferredSize(new java.awt.Dimension(DIALOG_X, DIALOG_Y));
dialog.validate();
dialog.setVisible(true);
From jflesch at freenetproject.org Sat Jun 23 23:45:32 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sat, 23 Jun 2007 23:45:32 +0000 (UTC)
Subject: [Thaw-dev] r13746 - trunk/apps/Thaw/src/thaw/plugins
Message-ID: <20070623234532.C15E9479FA4@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-23 23:45:32 +0000 (Sat, 23 Jun 2007)
New Revision: 13746
Modified:
trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
Log:
Avoid using WindowListener.windowIconified() : Swing call it even when I just go to another desktop
Modified: trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-23 23:27:03 UTC (rev 13745)
+++ trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-23 23:45:32 UTC (rev 13746)
@@ -82,6 +82,8 @@
}
public void switchMainWindowVisibility() {
+ Logger.info(this, "Changing main window visibility");
+
boolean v = !core.getMainWindow().isVisible();
core.getMainWindow().setVisible(v);
@@ -230,14 +232,15 @@
realDisplayFrame(x, y);
}
+
public void windowActivated(WindowEvent e) { }
public void windowClosed(WindowEvent e) { }
public void windowClosing(WindowEvent e) { }
public void windowDeactivated(WindowEvent e) { }
- public void windowDeiconified(WindowEvent e) { }
+ public void windowDeiconified(WindowEvent e) {
+ }
public void windowIconified(WindowEvent e) {
- switchMainWindowVisibility();
}
public void windowOpened(WindowEvent e) { }
From jflesch at freenetproject.org Sun Jun 24 00:09:58 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sun, 24 Jun 2007 00:09:58 +0000 (UTC)
Subject: [Thaw-dev] r13747 - in trunk/apps/Thaw/src/thaw: gui plugins
Message-ID: <20070624000958.34B574796C6@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-24 00:09:56 +0000 (Sun, 24 Jun 2007)
New Revision: 13747
Modified:
trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java
trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
Log:
Refresh progressvily the progress bars inside the panel attached to the systray icon
Modified: trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java 2007-06-23 23:45:32 UTC (rev 13746)
+++ trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java 2007-06-24 00:09:56 UTC (rev 13747)
@@ -9,6 +9,8 @@
import thaw.core.I18n;
public class TransferProgressBar extends JProgressBar {
+ private FCPTransferQuery query;
+ private boolean statusInProgressBar;
public TransferProgressBar(FCPTransferQuery q) {
this(q, true);
@@ -16,7 +18,14 @@
public TransferProgressBar(FCPTransferQuery query, boolean statusInProgressBar) {
super(0, 100);
+ this.query = query;
+ this.statusInProgressBar = statusInProgressBar;
+ refresh();
+ }
+
+ public void refresh() {
+
int progress;
setStringPainted(true);
@@ -44,5 +53,4 @@
setString(Integer.toString(progress)+"%");
}
}
-
}
Modified: trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-23 23:45:32 UTC (rev 13746)
+++ trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-24 00:09:56 UTC (rev 13747)
@@ -130,7 +130,9 @@
}
}
+ private Vector progressBars = null;
+
private JPanel getTransferPanel(FCPTransferQuery q) {
JPanel p = new JPanel(new GridLayout(2, 1));
@@ -153,8 +155,11 @@
l.setIcon(icon);
p.add(l);
- p.add(new TransferProgressBar(q));
+ TransferProgressBar bar = new TransferProgressBar(q);
+ progressBars.add(bar);
+ p.add(bar);
+
return p;
}
@@ -187,6 +192,8 @@
north = new JPanel(new GridLayout(queries.size(), 1, 10, 10));
+ progressBars = new Vector();
+
for (Iterator it = newQueries.iterator();
it.hasNext();) {
north.add(getTransferPanel((FCPTransferQuery)it.next()));
@@ -219,6 +226,46 @@
dialog.setVisible(true);
}
+
+ private class ProgressBarRefresher implements Runnable {
+ private Vector bars;
+ private boolean stop;
+
+ public ProgressBarRefresher(Vector bars) {
+ this.bars = bars;
+ stop = false;
+ }
+
+ public void run() {
+ while(!stop) {
+
+ for (Iterator it = bars.iterator();
+ it.hasNext();) {
+
+ try {
+ Thread.sleep(200);
+ } catch(InterruptedException e) {
+ /* \_o< */
+ }
+
+ if (stop)
+ break;
+
+ TransferProgressBar bar = (TransferProgressBar)it.next();
+ bar.refresh();
+ }
+ }
+ }
+
+ public void stop() {
+ stop = true;
+ }
+ }
+
+
+ private ProgressBarRefresher refresher = null;
+
+
public void displayFrame(int x, int y) {
java.awt.Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int screen_x = (int)d.getWidth();
@@ -230,9 +277,20 @@
y -= DIALOG_Y;
realDisplayFrame(x, y);
+
+ /* progressBars vector is generated at the same time than the panels */
+ refresher = new ProgressBarRefresher(progressBars);
}
+ public void hideFrame() {
+ dialog.setVisible(false);
+ dialog = null;
+ progressBars = null;
+ refresher.stop();
+ refresher = null;
+ }
+
public void windowActivated(WindowEvent e) { }
public void windowClosed(WindowEvent e) { }
public void windowClosing(WindowEvent e) { }
@@ -248,8 +306,7 @@
public void mouseClicked(MouseEvent e) {
if (dialog != null) {
- dialog.setVisible(false);
- dialog = null;
+ hideFrame();
return;
}
@@ -271,8 +328,7 @@
public void actionPerformed(ActionEvent e) {
if (e.getSource() == closeDialog) {
if (dialog != null) {
- dialog.setVisible(false);
- dialog = null;
+ hideFrame();
}
}
}
From jflesch at freenetproject.org Sun Jun 24 00:15:10 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sun, 24 Jun 2007 00:15:10 +0000 (UTC)
Subject: [Thaw-dev] r13748 - in trunk/apps/Thaw/src/thaw: gui plugins
Message-ID: <20070624001510.0C44647A07F@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-24 00:15:07 +0000 (Sun, 24 Jun 2007)
New Revision: 13748
Modified:
trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java
trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
Log:
Draw the border around the progress bars in the panel attached to the tray icon
Modified: trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java 2007-06-24 00:09:56 UTC (rev 13747)
+++ trunk/apps/Thaw/src/thaw/gui/TransferProgressBar.java 2007-06-24 00:15:07 UTC (rev 13748)
@@ -11,25 +11,32 @@
public class TransferProgressBar extends JProgressBar {
private FCPTransferQuery query;
private boolean statusInProgressBar;
+ private boolean withBorder;
public TransferProgressBar(FCPTransferQuery q) {
this(q, true);
}
- public TransferProgressBar(FCPTransferQuery query, boolean statusInProgressBar) {
+ public TransferProgressBar(FCPTransferQuery query, boolean statusInProgressBar,
+ boolean withBorder) {
super(0, 100);
this.query = query;
this.statusInProgressBar = statusInProgressBar;
+ this.withBorder = withBorder;
refresh();
}
+ public TransferProgressBar(FCPTransferQuery query, boolean statusInProgressBar) {
+ this(query, statusInProgressBar, false);
+ }
+
public void refresh() {
int progress;
setStringPainted(true);
- setBorderPainted(false);
+ setBorderPainted(withBorder);
if ((query instanceof FCPClientPut && (query.getTransferWithTheNodeProgression() < 100))
|| ((query instanceof FCPClientGet) && (query.getTransferWithTheNodeProgression() > 0)))
Modified: trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-24 00:09:56 UTC (rev 13747)
+++ trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-24 00:15:07 UTC (rev 13748)
@@ -156,7 +156,7 @@
p.add(l);
- TransferProgressBar bar = new TransferProgressBar(q);
+ TransferProgressBar bar = new TransferProgressBar(q, true, true);
progressBars.add(bar);
p.add(bar);
From jflesch at freenetproject.org Sun Jun 24 10:23:44 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Sun, 24 Jun 2007 10:23:44 +0000 (UTC)
Subject: [Thaw-dev] r13749 - trunk/apps/Thaw/src/thaw/plugins
Message-ID: <20070624102344.478ED479F1D@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-24 10:23:43 +0000 (Sun, 24 Jun 2007)
New Revision: 13749
Modified:
trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
Log:
Fix: Make the main window visible again if we stop the tray icon plugin while the main window was 'reduced' to the tray icon
Modified: trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-24 00:15:07 UTC (rev 13748)
+++ trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-24 10:23:43 UTC (rev 13749)
@@ -70,6 +70,11 @@
icon.setVisible(false);
+ if (!core.getMainWindow().isVisible()) {
+ Logger.info(this, "Making main window visible again");
+ core.getMainWindow().setVisible(true);
+ }
+
return true;
}
@@ -115,7 +120,7 @@
return -1;
}
- result = (new Integer(q1.getProgression())).compareTo(new Integer(q2.getProgression()));
+ result = -1 * (new Integer(q1.getProgression())).compareTo(new Integer(q2.getProgression()));
return result;
}
From jflesch at freenetproject.org Mon Jun 25 22:51:06 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Mon, 25 Jun 2007 22:51:06 +0000 (UTC)
Subject: [Thaw-dev] r13755 - trunk/apps/Thaw/src/thaw/plugins
Message-ID: <20070625225106.288C3479FBC@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-25 22:51:05 +0000 (Mon, 25 Jun 2007)
New Revision: 13755
Modified:
trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
Log:
Woops, forgot to start the thread refreshing the panel attached to the tray icon
Modified: trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-25 20:44:20 UTC (rev 13754)
+++ trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-25 22:51:05 UTC (rev 13755)
@@ -229,6 +229,7 @@
dialog.validate();
dialog.setVisible(true);
+ dialog.toFront();
}
@@ -285,6 +286,8 @@
/* progressBars vector is generated at the same time than the panels */
refresher = new ProgressBarRefresher(progressBars);
+ Thread th = new Thread(refresher);
+ th.start();
}
public void hideFrame() {
From jflesch at freenetproject.org Tue Jun 26 18:02:03 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Tue, 26 Jun 2007 18:02:03 +0000 (UTC)
Subject: [Thaw-dev] r13768 - trunk/apps/Thaw/src/thaw/plugins/peerMonitor
Message-ID: <20070626180203.9DCBF479936@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-26 18:02:03 +0000 (Tue, 26 Jun 2007)
New Revision: 13768
Modified:
trunk/apps/Thaw/src/thaw/plugins/peerMonitor/PeerHelper.java
Log:
Add a JScrollPane in the dialog used to add a peer
Modified: trunk/apps/Thaw/src/thaw/plugins/peerMonitor/PeerHelper.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/peerMonitor/PeerHelper.java 2007-06-26 17:55:59 UTC (rev 13767)
+++ trunk/apps/Thaw/src/thaw/plugins/peerMonitor/PeerHelper.java 2007-06-26 18:02:03 UTC (rev 13768)
@@ -10,6 +10,7 @@
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JOptionPane;
+import javax.swing.JScrollPane;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
@@ -76,7 +77,7 @@
JLabel label = new JLabel(I18n.getMessage("thaw.plugin.peerMonitor.enterRef"));
centerPanel.add(label, BorderLayout.NORTH);
- centerPanel.add(refArea, BorderLayout.CENTER);
+ centerPanel.add(new JScrollPane(refArea), BorderLayout.CENTER);
JPanel southPanel = new JPanel(new GridLayout(2, 1));
From jflesch at freenetproject.org Wed Jun 27 14:53:29 2007
From: jflesch at freenetproject.org (jflesch at freenetproject.org)
Date: Wed, 27 Jun 2007 14:53:29 +0000 (UTC)
Subject: [Thaw-dev] r13780 - in trunk/apps/Thaw/src/thaw/plugins: . index
Message-ID: <20070627145329.A785E4798FA@emu.freenetproject.org>
Author: jflesch
Date: 2007-06-27 14:53:29 +0000 (Wed, 27 Jun 2007)
New Revision: 13780
Modified:
trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java
Log:
Add a JScrollPane around the text area allowing to add specific keys to an index
Modified: trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-27 13:46:52 UTC (rev 13779)
+++ trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java 2007-06-27 14:53:29 UTC (rev 13780)
@@ -92,6 +92,9 @@
boolean v = !core.getMainWindow().isVisible();
core.getMainWindow().setVisible(v);
+
+ if (v)
+ core.getMainWindow().getMainFrame().toFront();
}
Modified: trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java 2007-06-27 13:46:52 UTC (rev 13779)
+++ trunk/apps/Thaw/src/thaw/plugins/index/IndexManagementHelper.java 2007-06-27 14:53:29 UTC (rev 13780)
@@ -1367,7 +1367,7 @@
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(header, BorderLayout.NORTH);
- frame.getContentPane().add(textArea, BorderLayout.CENTER);
+ frame.getContentPane().add(new JScrollPane(textArea), BorderLayout.CENTER);
buttonPanel.setLayout(new GridLayout(1, 2));
buttonPanel.add(okButton);